後は、「G_state」が「FLG_ON」なら2つのLEDを点滅させ、「FLG_OFF」なら消灯させるだけです。「だけです」といいましたが、実は、筆者はここでハマってしまいました。
最初は単純に、橙色LEDと青色LEDが点滅するスケッチを書きました(スケッチ2)。
digitalWrite( B_LED, HIGH); digitalWrite( O_LED, LOW); delay(300); digitalWrite( B_LED, HIGH); digitalWrite( O_LED, LOW); delay(300);
スケッチ2でも、LEDは交互に点滅します。しかし、2コマアニメはうまく表示できませんでした。両方の絵が見えてしまうのです。イラストの色が濃過ぎるのだろうか? 点滅のスピードが悪いのだろうか? といろいろと試行錯誤した結果、原因が分かりました。
残像です!! 橙色→青色→橙色とLEDの色が切り替わっても、網膜に残った映像で両方の絵が見えてしまうのです。つまり、LEDの点滅を切り替えるときに、一瞬、両方を消す時間が必要でした。
残像という言葉も現象も知っていましたが、自分で残像を制覇(ちょっと違う?)したのは始めてで、原因に気づいて、それを解決できたときは思わずガッツポーズが出ました。
Arduinoは、AC電源を用意すればPCがなくても単体で動きます。AC電源は7〜12V(推奨)で、プラグが内径2.1mm、外形5.5mm、中心軸がプラス極のものが対応品です。
2コマアニメは、周囲が暗くないと見えないので、学校へ提出する際には「アニメシアター」を作製するとよいでしょう。その場合、部品が落ちやすいので運搬には細心の注意が必要です。可能であれば、ユニバーサル基板へ部品をはんだ付けする方が確実です。お子さんの年齢とお父さんの電子工作スキルに応じて、挑戦してみてください(画像15)。
>>スケッチ(mono02_anime_ver3.zip)のダウンロードはこちら
電子工作に取り組むと、回路やプログラムだけではなく、いろいろな面で理科的な体験ができます。お子さんと電子工作にチャレンジするお父さんは、今回紹介したスケッチをそのまま“コピペ”するのではなく、本稿の内容を参考に、イチから手を動かし、試行錯誤しながら子どもと一緒にモノづくりの楽しさを共有してみてください。
次回は、センサーを使った電子工作に挑戦します! それではまた次回お会いしましょう!! (次回へ続く)
Copyright © ITmedia, Inc. All Rights Reserved.