「ようやく」です。「#3-9 キッチンタイマを作る」で、ブレッドボードを使ったプロトタイプのテストまで終了していた、キッチンタイマをArduino UNOのシールド基板上に実装(はんだ付け)して行きます。
まず、おさらいしておきます。筆者の手元では、「第9回 気温・湿度のログを取る(後編、最終回)」で作成した、気温・湿度測定装置としてのArduino UNOが、朝から晩まで稼働しており、1時間に一度、気温・湿度を測定しています。
Arduinoを1機、気温・湿度測定専用に稼働させているだけではもったいないので、「キッチンで時間を測りたい時に、せめて、キッチンタイマ代わりになってよ」と、言うのが発端でした。キッチンから見えて、アラーム音も届く位置で稼働しているのですが、ちょっと距離が離れているので、赤外線リモコンで操作できるようにしたところが、Arduinoっぽいかな?
回路図は以下の様な感じでした。
難しいことは無い回路なのですが、ブレッドボードで構築してみるとこんな(↓)感じ。
ブレッドボード上には、7SEG LED、ブザー、スイッチ、電流制限抵抗が載っているのですが、ご覧の通りのありさまで、配線に隠れて良く見えません……。まあ、この配線の多さにうんざりして、暫く「はんだ付けしよう」と言う気が起きなかったわけです……(1^^;)。
実は、「#3-3 I2C接続 LCD表示モジュール」でも一度、ユニバーサル基板にはんだ付けして回路を作ったのですが、その時はノープランで、適切に部品を配置しながら、その都度、配線を這わせて作ってしまいました。
あの時は何とか最後まで失敗せずに完成できたのですが、作っていて、「あっ、ここはああしておけば良かった。失敗した」などと思ったことは一度や二度ではありませんでした。そこで今回は、まず、シールドボードのスルーホールの数や位置を以下の様にPowerPointで作成しておき、これに沿って、部品を配置してみるところから始めました。
筆者が購入したシールドは、黄色いところはブレッドボードの様につながっており、青いところにはGND、赤いところにはVccがそれぞれ接続されている基板になっています。
ここに、回路図を見ながら、部品を配置・配線してみた結果が下図です。
大した部品数ではないにもかかわらず、結構、ギチギチに詰め込まれている印象です。
出来栄えを気にしたところで、綺麗にビシッと作り込む自信はありませんので、基本的に配線はラッピングワイヤを使った空中配線とします。なので、上図では、接続がわかれば良しとしました。裏面、表面、スズメッキ線等を駆使して綺麗に配線しようとお考えの方は、配線の「引き方」も考えながら作図する必要があると思われます。
実際にはんだ付けする時には、この図が頼りですので、間違えが無いか回路図と見比べてチェックを実施しました。冷静な状態でこの図を引くことによって、直観的に「どの端子と、どの端子を繋ぐのか」、わかりやすくなるので、はんだ付けする時の誤配線を抑止する効果もあると思います。
一本一本はんだ付けしながら、終了した部分をペンでマークして塗りつぶしていきます。時々混乱するのが、裏から見た時のイメージですね。はんだ付けは裏面から行うのに対して、前節の配置図は表側から見た図になっています。裏返した時に上下だの、左右だのが逆になって混乱します。そこは注意です。
完成図は以下の通りです。
まあ、あんまり器用ではないので、出来栄えの方は目を瞑っていただくとして……。ちょっと失敗してます。
赤外線受信モジュールをピンソケットに挿してみたところ、何と、7SEG LEDの上に被ってしまい、あろうことかピリオドを隠してしまいました(上図)。ピリオドは、「+10分」を示す、重要なインジケータなのだよ!
何のためにPowerPointで配置シミュレーションしたのやら……(1;_;)。まあ、致命的なミスでなくて良かったです。赤外線受信モジュールは、デュポンワイヤで引き出して使うことにしました(下図)。
キッチンからリモコンで操作しやすい様に、使う場所の方向に向けて設置できるようになりました。結果オーライ、です。
この時が一番ドキドキしますね。最悪、配線ミスでVccとGNDがショートしていたりすると、変な挙動を示す場合があるので、そのような場合に備えて、いつでもUSBケーブルを引き抜けるような心の準備をした上で、ケーブルをPCに挿します。
さすがにVcc ⇔ GND間のショートなんてミスは、やらかしていなかった模様。ただ、電源投入しただけでは何も言わないプログラムなので、動いているのやら、どうなのやら……?
恐る恐る、シールドに取り付けたスイッチを押してみます。「ピッ」と鳴って、7SEG LEDに"1"が表示されました。もう一度押すと、今度は"2"。スイッチを長押しすると、「ピピッ」と鳴ってLEDが消灯しました(キャンセル操作ですね)。
どうやら、動いているようです。赤外線リモコンでの操作も一通り確認してみましたが、問題ありません。時間をセットして放置しておくと、1分毎にカウントダウンして行き、タイマが"0"になった時にアラームが鳴りました。
プログラム含め、動作確認はブレッドボード上に構築した時に終わらせてあるのですが、今回は全ての配線に問題が無いかどうか、確認する必要があります。……結局、基本的な動作を一通り確認する必要があるんですよね……。
十何年か前から使っていたはんだ線がなくなってしまったり、配線材が不足していたりしたので、以下の材料を購入して工作に当たりました。
完成して、まだ、動作確認としてしか使っていないのですが、インスタントラーメンを作ったり、パスタを茹でたりする時に実践投入するのが楽しみでなりません。