cuboktahedron

cuboktahedron

マガジン

最近の記事

LEDマトリクスを制御する2(RaspberryPi + HUB75規格)

前回の続き。 LEDマトリクスの挙動がおかしいところを調査した結果をまとめる。 セクションの数を間違えていた セクションを選択するピンが3本あるため、0~7の8セクションあると思っていたが実際は4セクションだった。(Cピンは未使用) 1セクション当たり16回だけ書き込みを行っていたが、32回書き込むように修正し解決。 (セクション数(4) × セクション当たりのマス数(32) = 128マス それが2つのエリア毎にあるので×2 で 256マスになる。) LED情報の書き込

    • LEDマトリクスを制御する1(RaspberryPi + HUB75)

      前回の記事ではHaskellでライフゲームを作ってたりしたわけですが、 今度は電子工作でもライフゲームを作ってみようと思い、どんなのにするかなと考えてみました。 表示部分をLEDで自作するのは、配線が大変なことになりそうなので、何かないかなと探したところ、どうやらLEDマトリクスというものがあるようです。 HUB75という規格でRaspberryPi使えば制御できるとのことなので、この組み合わせ行くことにする。 RaspberryPiについては既にセットアップ済みの「Ras

      • Haskell始めました

        前々からやりたいと思っていた、プログラミング言語のHaskellの勉強を開始しました。 過去にも2度勉強をしたことはありましたが、その際は2回とも本の内容を一通りやって、そのままフェードアウトするという感じで終わってしまいました。 特に作りたいものとかがあったわけではなく、ただ勉強をしていたというのがいけなかったかなーと、今から考えるとそう思います。 でも、Haskellやりたいなーという思いが時々湧いてくるので、いい加減本気でやるか、と思うようになりました。 以前のよう

        • マンデルブロ集合メーカ

          前回、ジュリア集合メーカを作りましたので、同じ要領でマンデルブロ集合 メーカも作ってみました。 図形としては、ジュリア集合よりもこちらの方が有名ではないでしょうか。 こちらの図形も、拡大していくとまた同じ形が現れるというフラクタルな構造をしていて、見ていて非常に面白いです。 いくつか、サンプルを載せます。 ジュリア集合では「Z = Z^2 + C」という漸化式での定数「C」で形が決まって後は、同じ形を繰り返すという感じでしたが、マンデルブロ集合では「C」が固定されないせ

        LEDマトリクスを制御する2(RaspberryPi + HUB75規格)

        マガジン

        • CPUを作ってみよう
          16本

        記事

          ジュリア集合メーカ

          フラグタル図形は見てて楽しいですね。 その中でも、ジュリア集合はいろんな表情を見せてくれて、ずっと見ていても飽きません。 というわけで、もっと自分好みの図形を見つけたいということで、ジュリア集合(正確には充填ジュリア集合というらしい)を生成するツールを作りました。 Julia Set Maker(ジュリア集合メーカ) 推奨ブラウザはChromeです。 ソースが見たい方はここ。 以下は実際にこのツールで生成した画像です。 画像クリックでもサイトに飛べます。 c = -0

          ジュリア集合メーカ

          まとめ

          4か月かけて作ってきたTD4(とりあえず動作するだけの4bitCPU)が少しだけ怪しい動きを見せることもありますが、一応完成させることができました。 個人的には、物を完成させてからじゃないと公開しないタイプの人間ですが、noteを始めるにあたってのネタとしてはいい題材でしたので、今回は珍しくこういう形で製作を進めていったわけです。 当初の予定としては、平成の内に終わらせるつもりでしたが、2日程遅れてしまいました。製作時間は63時間ほどで、設計+本の内容理解も含めると80時間

          動作確認

          前回、配線が終わりましたので、ここからは動作確認を行っていきます。 配線のチェックまずは電源を入れずに、配線が正しいことをテスタを使って確認していきます。 5V-GNDのショート:問題なし ROMの配線:1か所接触不良 Input-DipSw:1か所接触不良 Output-LED:問題なし 74HC00:1か所接触不良 74HC04(a):Vcc未配線、GND未配線 74HC04(b):問題なし 74HC14:1か所接触不良 74HC32:問題なし 74HC74:問題なし

          TD4製作中(9)

          4/28GWに入りましたね。 久しぶりに集中して作業できる時間が取れますので、この休み中には完成させたいと思っています。 今日は下辺を整備したところまで、時間かかった割にあんま進んでないなという印象。 ここから先の配線の交差具合やばくね。と今頃気づき始めて、ちょっと先に設計しないとダメだなと思いました。 4/29というわけで設計を、してみました。 うーむ。04-283、04-00,、04-32のラインが行き交ってとひどいことになりますね。 先駆者様の部品配置を参考にしたの

          TD4製作中(9)

          TD4製作中(8)

          4/13やっとROMの配線が完了しました。 振り返ってみると4週間も掛かってました。時間にしたら20時間ぐらい格闘したことになるかな? 線をしっかりつなげるコツがやっとわかったので、後戻りすることが少なくなってきたというのが今日この頃。 これからは、ICの配線のターン。データシートとにらめっこして、配線間違えないようにしなければ。 4/14右下の74HC161同士をつなげたところ、ここは配線が込み合いそうなところなので、ピン間配線にしてみた。 見た目はきれいで気に入ってます

          TD4製作中(8)

          TD4製作中(7)

          4/7ROMのOUTとなる、74HC04に伸びる配線と、抵抗に伸びる配線が完了。 配線の立体交差が増えてきて、苦行と化してきた感がある。 あと、ROMの左上の部分で接触不良が起こってたので、今回修正してます。 ポリウレタン銅線の配線にはだいぶ慣れてきましたが、今更ながら、もっと、曲げやすい線使った方がよかったかもと思い始めてきたところ。 今更変えるつもりはないですが。

          TD4製作中(7)

          TD4製作中(6)

          3/31今日もひたすらROMの部分の配線です。 温度調節のできる少しお高めの半田ごてを買ったおかげでスピードアップすることができました。 とりあえず、縦の配線はできたので後は、横の配線ですね。横は24本で済むのが救いですな。 作業的には、残り半分ぐらいか?あと1か月で終わるかは厳しくなってきたかも。平日に作業できればいいのだが、現状それができないのがつらみ。 4/2今日は、ROMの横の24本をつなげました。 これで16個のスイッチがすべてつながったことになります。 あとは、

          TD4製作中(6)

          TD4製作中(5)

          3/24今日はクロック、リセット回路の配線を終わらせて、ROMに着手したところまで進めました。 ROMは同じことの繰り返しなので、若干ペースが上がっています。 といっても、1列で2時間強かかってますが。 何気に被膜融かすのに時間が掛かるのが地味に辛い。 3/25ROMの2列目に着手したところ。 1列目の配線と重なっている関係で、2列目の線をつけようとしたら1列目の線が外れることが頻発して非常に辛くなってきました。 3歩進んで2歩下がるを繰り返して、2列目に入ってからはペース

          TD4製作中(5)

          TD4製作中(4)

          3/16今日は、GNDの配線を終わらして、Vccの配線を少し進めたところまで進みました。 まだ、線をくっつけるときのコツが掴めず、付けたはずの線がすぐに外れたり、綺麗についていた半田が汚くなったり、色々と苦戦中です。 ①こてを当てて半田を融かす ②線を押し当てる ③こてを離して半田を固める これだけのことなんだが、半田を温めすぎると冷えるのに時間がかかってその間に線が抜けたりする。 なので、くっつかないからと言って、ムキになって何度もこてを当ててトライしてもダメなのね。こ

          TD4製作中(4)

          TD4製作中(3)

          3/9今日で部品の配置が完了しました。 当初の予定より、配置できるスペースが減ったこともあり、ROMの出力とつながる抵抗を分散配置せざるを得なくなってしまいました。 また、スペースが余れば、デバッグ用や装飾用にLEDなども付けることも考えていましたが、それも無理そうです。 と書いたところで、ICソケットの内側に抵抗付ければスペースを捻出できるかも?と思いつきましたが、直すのも大変なのでとりあえずはこの形で進めることにしました。 ちなみに現次点での裏面はこんな感じです。 3

          TD4製作中(3)

          TD4製作中(2)

          3/2ROM部分のスイッチ、ダイオードの配置が完了しました。 スイッチ4つ、ダイオード64本付けるのに2時間程掛かってます。 面積比で言えば50%、部品点数で言えば80%ぐらいは終わったのではないか、といったところ。 平成内での完成が見えてきたかな? 3/3下層列を一気に配置しました。 後1日か2日で部品の配置だけなら終わるでしょう。 その後は飛び飛びになるところの配線ですね。 本業プログラマとしては、なるべくSpaghetti Cordにはならないように努めたいと思ってい

          TD4製作中(2)

          99から∞への飛躍

          前回、tetris99で初手10人に狙われる確率を計算したわけですが、もう少し掘り下げて考えてみました。関係ないですがtetris∞(テトリスインフィニティ)って響きはカッコいいと思う。でも関ジャニインフィニティって読んじゃうとカッコよく感じないのは何故だろうか? 前回の結果を掘り下げる表1は対戦相手の数を増やしていった時に、確率がどのように変わっていくかを表したものです。 この表から、まず以下の2点に気がつきました。 (1) N = 2の場合の確率は、N = 1の場合

          99から∞への飛躍