2024.02.19 Monday
冬場の3Dプリンタ
最近、熱溶解積層式3Dプリンタでちょこちょこ作っているのだが、失敗率が高い。
いろいろ試したのだが、一番効果が大きかったのは部屋の暖房。
部屋を暖めると成功率がぐっと上がった。
冬場は部屋を暖めた方がいいかも。
というわけでしばしば人はいないのに3Dプリンタのためにエアコン稼働してる。
技術系サラリーマン、ジャジャガッチの駄文です。
姉妹サイト「ジャジャガッチの勉強ノート」もよろしくお願いします。
ブログ中の回路等そのまま真似して事故になっても責任は負いませんのであしからず。
2024.02.19 Monday
最近、熱溶解積層式3Dプリンタでちょこちょこ作っているのだが、失敗率が高い。
いろいろ試したのだが、一番効果が大きかったのは部屋の暖房。
部屋を暖めると成功率がぐっと上がった。
冬場は部屋を暖めた方がいいかも。
というわけでしばしば人はいないのに3Dプリンタのためにエアコン稼働してる。
2024.02.18 Sunday
バイオハザードに疲れたので、癒しを求めて久しぶりにシティーズスカイラインをプレイした。
シティーズスカイラインは、シムシティ的な都市開発ゲーム。 数年前に購入し、数時間プレイしただけ。
ひとつのわかりやすい目標である10万人都市を目指すことにした。
コツをつかまないと結構難しい。
案外細かく出来ているので、例えば高学歴住民ばかりになると工場への就職者が減ってしまうなどの影響がある。
上下水道の確保も必要。 川の上流で取水して、下流で汚水を流すのだが、5万人を超えたあたりで取水量と放水量のバランスで川の流れが一部で逆流し、汚水が上水に混入する事態に。
地形を造成して、汚水の逆流を止めたのだが、今度は取水量が多すぎて川が干上がる事態。
このあたりの混乱で1万人くらい死亡。
給水塔を建てれば川から取水する必要がないことに気が付き、大半を給水塔に置き換える。
すると、取水ポンプが減った影響で川が急激に増水し、道路が一部水没。 しかたないので、取水ポンプを再設置。
渋滞も解消しないと、経済が滞る。 地下鉄やバスの設置、一方通行道路の導入で対策。
総合大学の運営をしたかったので、DLC"キャンパス"を購入。 DLCがない場合、ごくシンプルな大学しかない。
母校の名前を付け、頑張って運営して一流大学に育てる。
最終的には空港がふたつにロケット発射場も備える10万人都市が出来ました。
2024.02.06 Tuesday
正月に↓の記事を読んだ。
“どこかで見た広告”風数式パズルゲーム『Formula Warriors』ブラウザ向けに無料公開。二択の数式を選び取り、正しいルートを突き進む
これは面白い、ということで似たようなものを作ってみた。
最近気に入ってるSiv3Dというフレームワークを使って作った。
こんなかんじ:
効果音:Springin’ Sound Stock
音楽:魔王魂
画像:ぴぽや https://pipoya.net/
プレイヤー側は猫。
基本的には近くの敵を追跡して交戦する。上にあるゲージはHPの合計値。
マウスでクリックすると、その位置に集合する。
四則演算の□が猫の数になっていて、演算結果の通りに猫が増減する。
楽しかった。
Qiitaにも記事を投稿した。こちらにはソースコードも載せておいた。
2024.02.05 Monday
ちょっと作りたいものがあって、フォトリフレクタRPR-220を買ってきた。
RPR-220は、赤外線LEDとフォトトランジスタのペアで構成されているようだ。
大体↓のような感じ。
トランジスタのベースに光電流が流入するとコレクタ-エミッタに大きな電流が流れる。
・LED側の抵抗の決定
LEDにかける電圧をVとして、
V = Ir + Vled
となるので、
r = (V-Vled) / I
と書ける。
絶対最大定格が50mAとなっているので、I=20[mA]、Arduinoを電源とすることを想定してV=5[V]、I=20[mA]のときの順電圧がデータシートから大体Vled=1.2[V]なので、これらを代入すれば、
r = 190[Ω]
となる。
・トランジスタ側の抵抗
データシートを見ると、最小コレクタ電流は、LED側の順電流10[mA]で使用したとき、0.08[mA]となっている(6[mm]の距離に白紙を置いてテストしているようだ)。
LED側に20[mA]流せば、0.16[mA]となる。
V=5[V]の電圧降下をさせるためには、
R = V/(0.16[mA]) = 31.25[kΩ]
となる。
というわけでこういう感じにすればよい。
Arduinoのコード:
void setup()
{
Serial.begin( 9600 );
}
void loop() {
int value;
float volt;
value = analogRead(A0);
volt = value * 5.0 / 1023.0;
Serial.print(volt);
Serial.println("[V]");
delay(100);
}
テストしてみる。実物は↓のような感じ。
フォトリフレクタの上に↓のような紙をかざしてみる。
2~3[mm]の距離に紙を近づければ、白と黒の区別がつくようだ。
黒の場合、反射光が少ないので、大体1[V]くらい。
白だと大体5[V]くらい。
うまくいっている。
2024.02.04 Sunday
Pietでは、カラーブロックという同一色の塊からの脱出を繰り返し、その際の色変化で命令を実行する。
どこから脱出するかは、DPとうパラメータで決まる。
DPは上下左右のどれかであって、基本的には最もDP方向に遠い画素から脱出する。
候補の画素が複数あることもあるので、その際は、CCというパラメータを参照する。
CCは左か右のどちらかでDP方向を基準に左が右を指す。
候補が複数ある時は最もCC方向に遠い画素を選択する。
脱出の際はDP方向に進む。
画像の端および黒の画素からは脱出できないことになっているので、こういう場合はDPの回転とCCの反転を繰り返して脱出を試みる。
試行の順番はもちろん定義されているがここでは省略。
ここまでで大雑把な挙動については終わり。
例外的なカラーブロックとして白いブロックがある。
白いブロックではひたすらDP方向に直進する。DP方向に遠いとか、CCとかは無関係。
白ブロックから出入りするときは命令は実行されない。
白ブロックから脱出できないときはまたDPとCCをいじって脱出を試みる。
カラーブロックからどうしても出られなければそこで終了。
push命令の際はカラーブロックの面積を参照してpushするようなことが行われるので、インタプリタの実装は若干画像処理的な要素が入ってくる。
ちょっとめんどくさい。
Qiitaに記事を投稿した。
2024.02.03 Saturday
難解プログラミング言語Pietをご存じだろうか。
普通、プログラムのソースコードはテキストファイルだ。
Pietは違う。
Pietのソースコードは画像で表現される。
用いる色は全部で20色と決められており、画像中をあるルールで走査する。
その際の色変化に応じてpushやaddなどの命令が割り振られている。
そのルール自体はそれほど難しくないので、インタプリタを自作できそうである。
”Piet入門”などとググれば参考になるサイトがいくつも出てくる。
実は9割がたインタプリタは出来ているのだが、完成させるには細かい部分を忘れているので、少し復習してここに記事を上げていく。
最終的にはまとめてQiitaにでも投稿したい。
2024.02.02 Friday
PS4 バイオハザードRE:3をクリアした。
バイオハザード三作目のリメイク。
二作目のリメイクであるRE:2が面白かったので、セールを機にやってみた。
なかなか面白いけど、それほど怖くはないかも。
原作と比べると端折られている部分もあるようだけど、原作をほぼ覚えてないので関係なし。
一周があっさりしていて、RE:2ほどの恐怖感もなかった。
コントローラでエイムしづらいので、PCでマウスのほうがよいのでは?と思ったので、セールだしPC版を購入。
マウスのほうが圧倒的に操作しやすい。
通算3週目はイージーなモードでタイムアタックしてクリアまで2時間弱。評価S。
とりあえずこれできりにする。
2024.02.01 Thursday
PS4 ゴーストオブツシマをクリアした。
元寇がテーマとなっているフィクション。
オープンワールドだが、あっち行ってこっち行ってを楽しむ感じではない。
戦闘とストーリーを楽しむ感じ。
1/3が終わったあたりで戦闘に関しては若干飽きてきたのだが、ストーリーが気になって進めてしまった。
そのうち敵も強くなり、あらたな戦闘手段が開拓されたりしてまた楽しくなってくる。
世界観に引き込まれるものがあり、DLCまでクリアしてしまった。
面白かった。
2023.12.26 Tuesday
ジュールヴェルヌの「地底旅行」を読了した。
1864年発表なので、かなり古い。SFの古典。
つまらなくはないけど、そんなに面白くもなかった。
1864年当時に読んでれば面白かったのかも。おそらく、その後のSFに影響を与えてるので、インパクトが小さくなってしまっているのかも。
センター・オブ・ジ・アースという映画の原作らしい。せっかくなので映画もチェックしたい。