はじめに
このたび、開発ブログのページを作成しました。
他のページに比べて緩めに、試行錯誤の過程や開発途中の話、失敗作についても書いていこうと思います。
今回は、第1弾です。
目次
1.ブレッドボードでの回路作成
信号をたくさん制御したい!
ということで、多くのLEDを制御する電子部品として、8ビットシフトレジスタ(74HC595)を採用しました。
最初に取り組んだのはブレッドボードを使ったテスト。指定のLEDだけを点灯することができるのかを試してみました。
最初は思い通りいきませんでした。
マイコンから点けたいLEDを指定して信号を流すのですが、シフトレジスタ1個ならうまくいくけど、2個直列にした途端めちゃめちゃな点灯をしたのです。
これでは、一つの信号に一つのマイコンが必要になるじゃないか、ということで、シフトレジスタを使う意味がわからなくなってきました。
何かがおかしいはずだと原因を探します。
1つでうまくいくのに、増やすとメチャクチャになると言うことは、データのやり取りがうまくいっていないんだろうなと考えました。
その後試行錯誤してうまくいった結果が下のような配線です。
結論として、初めの何が良くなかったかと言うと、シフトレジスタ同士を繋ぐデータ線が長すぎた、と言うことです。
これらを集積させ、最短のジャンパワイヤで接続したら、意図通り、20個以上の制御がうまくいきました。
その後、信号機10台(LED50個)の制御をできるように拡張したのが上の画像になります。
面倒な点としては、このブレッドボードから、各信号機のLEDまでの配線は伸ばさないといけません。そこは頑張るだけです。
2.プリント基板にしたい
機能としては上で十分です。
ただ、ブレッドボードの配線を作るのって結構大変なんですよね。
そこでプリント基板にして、大量生産しようとチャレンジしてみました。
回路自体はブレッドボードの忠実再現です。ただ、基板発注費を安くするためにサイズを考慮して、シフトレジスタは6個にしました。
「回路そのままだし、うまくいくでしょ」と思っていました。
が、、
うまくいきませんでした。
まさかの失敗。回路変えてないのにな、基板注文のデータを間違えたかな、と色々考えて色々確認しましたが、問題なし。
ブレッドボードしか無理なのか、、?と思ったりもしました。
ただ、1つ気がつきます。
どううまくいっていなかったかというと、点灯がめちゃめちゃだという、ブレッドボードで苦戦した時と似た状況なのです。
ということはデータ線の問題?
そうと信じて、配置を変えてみました。
シフトレジスタ同士を繋ぐ線を、できるだけ短く繋げるように意識しました。
本当にこれで直るという確証がないまま挑戦した再設計・再注文だったので、かなり不安でした。
心配の中、配線をつなげてやってみると、、
うまくいった!!
データのシリアル線ってかなりシビアなんだな、という学びを得ました。
何はともあれ、無事に信号制御回路のプリント基板化に成功したのです。
3.完成・お披露目
駒場祭では、計26個の信号機を設置できました。 初めのブレッドボードで10台、プリント基板の回路3セットで16台を制御しました。 圧巻の光景で、製作者も大満足です。