この記事は赤外線LEDを積んだRaspberry Piでスマートルームをつくる(テスト編)の続きです。
- 設計・部品調達編
- 動作テスト編
- エアコンのリモコン信号解析編
- 基板実装編←イマココ
- API/chatbot実装編
テストが済んだ部品を基板に実装してモジュール化していきます。
なんで基板に載せるの?
ブレッドボードで組んだまま放置でも使えないことはないのですが、ブレッドボードやジャンパワイヤが別の用途に使えなくなってしまうので省スペース化も兼ねて実装してモジュール化することにしました。
どうでもいいですが手持ちのジャンパワイヤが10本しかなく上の写真ではぴったり使い切った感じになってます。(で?)
設計
今回はRaspberry Pi Zeroのサイズに合ったプロトタイプ基板に実装していきますが、こちらの基板はピンヘッダを突き刺した横のホールからそれぞれのピンの信号を引き出すことができるようになっています。
ぼくのかんがえたさいきょうのはいせん
この基板に対して考えた配線がこちらになります。
結局この設計から細かいところで実装が変化しているのでこの図は参考にしないでください。
温度センサはすでにピンヘッダを実装しているので、基板の方にピンソケットをはんだ付けして突き刺します。
実装
ユニバーサル基板を使うのは初めてだったのですが、村田製作所の解説ページを参考にしながらはんだ付けを進めていきました。が、初めてのことだらけで次々と問題にぶち当たります。
ピンソケットが割れない
お前ピンソケット割るの下手くそかよwwww pic.twitter.com/JG7PrzAVbQ
— ぱらつり (@paralleltree) 2018年12月30日
温度センサ用のピンソケットを用意しようとしたんですがうまく割れずに使えない部分を作ってしまいました。普通に必要な長さだけだけ買えばよかったですね……。
コンデンサが載せられない
これは悲報なんですけど、部品の寸法ちゃんと考えてなかったのでコンデンサががっつり干渉することがわかりました
— ぱらつり (@paralleltree) 2019年1月6日
はんだ付け前に改めてチェックして気づいたんですが、コンデンサを配置するスペースが設計図にはなかったことがわかりました。今まで触ったことなかったので全然わかってませんでしたね……。
結局設計から配線位置をずらして無理やりスペースを確保することにしました。ピンソケットとギリギリ干渉しない位置にスペースがあったので良かったです。(いやちゃんと設計しろ)
はんだ付け
まずは背の低い部品からということで抵抗を載せていきます。
続いてトランジスタ、コンデンサ、温度センサ用のピンソケットをはんだ付けします。
続けて赤外線LEDとセンサを乗っけて素子の実装は完了です。
素子を全て載せ終えたら最後にピンヘッダをはんだ付けしていきます。
ここまで淡々と書いているんですが、融点の高い鉛フリーはんだを使ったこともあって作業は半日近くかかってしまいました。
ちなみに裏面はこんな感じに。見た目がきれいじゃないですが一応ちゃんと導通しているので大丈夫なはずです。
特に誤って切ってしまった素子の足をはんだ付けし直すのにめっちゃ消耗しました。設計のガバガバさがこういうところで響きますね……。
完成品
はんだ付けを終えた基板をRaspberry Piとドッキングして電源に接続すると写真のようになります。
思ったよりも基板本体とプラグの距離が開いてしまいモーメント的に心配は残りますがとりあえず使えそうな感じでした。このままスペーサで固定して完成になります。
最終的な配線
結局当初の設計通りにはいかなかったので結果的に以下のような配線になりました。
設計時には考慮していなかったんですが、万が一GPIOピンの設定を間違えたときのことを考えて赤外線センサの電圧入力部に電流制限用の抵抗を追加しています。
【追記】赤外線センサのVccとVoを逆に書いていたので以下の図で訂正しました
そういうとこやぞ
まとめ
今回は赤外線LEDと受信センサ、また温度センサを載せられる基板を作りました。設計ちゃんとしようね。
いやもっと集積度上げられるやろという突っ込みは勘弁してください。とりあえず赤外線信号の送受信と気温センサで3つも機能盛ったので……。
続いての記事ではこの基板とセンサで解析したエアコンの信号をもとにエアコン操作APIを作っていきます。