スモウルビーで操作するロボット「スモウルボットV3」に本当のボタンを追加してみます。
#0.はじめに
スモウルボットの中央にあるマイコン「ATMEGA328P-PU」をよく見ると未使用の端子がいくつかあります。書籍「Arduinoをはじめよう(O'REILLY Make:PROJECTSシリーズ)」の巻末のマイコンの図を見ると
上から見て、左側は
・Digital3
・Digital4
右側は
・Analog5
・Analog4
・Analog3
・Analog2
・Digital12
・GND
に該当するPinが未使用のようです。
ボタンを追加するためには、ボタンに電気を供給するためのプラスとマイナスの端子、ボタンが押されたのか判断するための信号線をDigitalのどこかに接続すれば、スモウルボットは判断してくれそうです。なので、Digital3(スモウルボットのブレッドボードではa17の位置)に接続しようと思います。
スモウルボットに流れている電圧は5Vですが、怪我をしないように、配線が合っているか、また、不要な線が繋がっていないかを確認しながら作業を進めましょう。
#1.完成予定図
★スモウルボットにタイヤとセンサーがついていないのはお許しください。
#2.材料
スモウルボットV3以外に、、、
1.ミニブレッドボード(秋月さんのP-05155か類似品 130円ぐらい。ミニじゃなくてもOK) x1個
2.タクトスイッチ(秋月さんのP-03647か類似品 10円ぐらい) x1個
3.抵抗10kオーム(秋月さんのR-25103か類似品 100個入りで100円ぐらい) x1個
4.オスオスのジャンパーワイヤー(秋月さんのC-05159か類似品 60本入りで220円ぐらい) x3本
#3.スイッチの組み立て
机のまわりは片づけましょう。電子工作の部品はたいてい小さいので、自分は机の下に良く落として探します。
1.ボタン(タクトスイッチ)は、中央のくぼみをまたぐように配置します(重要)。
2.スイッチの右か左かどちらを使うか決めて、端子の1つに赤色のジャンパーワイヤーを繋ぎます。
3.テスターがあれば、抵抗が本当に10kオームか計測して確認します。
4.もう一つの端子に、抵抗を繋ぎます(写真では抵抗の余分な線をチョンパ!していますが、まげて差し込むだけでもOK)。
5.抵抗の左右に黒色のジャンパーワイヤーと黄色のジャンパーワイヤーを繋ぎます。
★説明のため、色を決めていますが好きな色でよいです。ただ、電源に接続するのはプラスは赤色、マイナス(GND)は黒色の方が通例というか感覚に合っていると思います。
★写真では、赤色(プラス)とスイッチが繋がっていないように見えますが、ブレッドボードの内部でつながっています。なので、写真では表面の赤色(プラス)が刺さっている個所からスイッチの間の3つの端子はどこも5Vの電気が流れます。
#4.接続
組み立てたスイッチをスモウルボットに接続します。
1.スモウルボットにUSBケーブルが繋がっていて、電源が供給されている場合はケーブルを抜いて、電源が供給されていない状態にします(安全第一)。
2.スイッチの黄色のジャンパーワイヤーをスモウルボットのa17の位置に差し込みます。
3.スイッチの赤色と黒色の電源の線をスモウルボットの電源用のライン(赤と青の線が引いてある箇所の+/-)の列の空いているところに差し込みます(写真の位置は、通常はセンサーの電源が差し込まれています。a17の横とかでもOK)。
#5.スモウルビーでブロックの組み立て
ボタンが押されたことが、表示や動きとして知りたいので、ネコが進むようにブロックを組み立てます。
うまくいけば、ボタンを押したときだけネコが進むハズです。
勝手にネコが進む場合は、まず、プログラムを止めましょう。そして、スモウルボットをパソコンから外しましょう。
なお、最初のコメントは動作に影響ありませんので不要です。
1.ログインして、スモウルボットの制御をするためのブロックが使えるように準備します。
2.右上の[メニュー]-[設定]を選択して[スモウルボットV3のブロックを使う]と[ハードウェアブロックを使う]にチェックを付け、[決めた]ボタンをクリックします。
3.ポイントは、[ボタン[D3]が[押された?]ならば]というブロックを組み込むことです。
4.ブロックが組み立てられたら、スモウルボットをパソコンに接続します。
5.[実行]ボタンをクリックしてプログラムを実行します。
#6.うまくいかない時
次のことを確認してみましょう。
1.スイッチの配線は、赤色(プラス)からたどると黒色(マイナス)までつながっている?
2.スイッチの配線は、赤色(プラス)からたどると黄色(信号)までつながっている?
3.スモウルボットに接続した黄色の線がa17(か、b17,c17,d17)につながっている?
4.電源の赤色(プラス)と黒色(マイナス)の線が合っている?
#7.スモウルビーについて
スモウルビーは、
NPO法人Rubyプログラミング少年団
http://smalruby.jp/
で開発されています。無料で利用できます。
ブロックの組み立てでプログラムができます。