ロボット入門その3 LEDを発光させてみる
前提
こちらの記事を呼んでいない方は
先にこちらを参照することをお勧めします。
概要

LEDを発光させるだけのサンプルです。
とはいえそれだけでは面白くなかったので
サーボモーターで動きを付けています。
(派手なだけですが)
LEDは思った以上に光が強いので
直視し続けないほうがよいようです。
ロボット作成
サーボモーターの上にステーをつなぎ
ステーの上にLED(赤を)接続します。
そしてLEDの周りに透明ブロックで
囲んで光を綺麗に拡散させています。
プログラム作成
プログラミングツールや
センサー設定、テストモード起動が必要です。
詳細は自動ドアの方にあるので
調べたい方はそちらを参照お願いします。

ちょっと長いですが似たような処理を
複数並べているだけの単純な構造です。
上2つの「もし~なら」はLEDの制御、
下3つの「もし~なら」は、
サーボモーターの制御です。
変数について
ここで出てくる「led_on」と
「servo_motor_position」は
変数と呼ばれるものです。
プログラムでいう変数とは
値を保存しておく入れ物で
計算結果や何らか状態を
記録するために使います。
変数の名前はプログラム言語それぞれの
制約の元、自由につけることが出来るため
日本語のローマ字表記でも可能ですが
実務上は英単語を使用することが
好ましいです。
よって、お子様に教える場合は
将来、プログラミングを
仕事で使う場合において
支障にならない癖付けと
英単語の勉強も兼ねて、
そちらで進めることを推奨します。
LEDの制御

変数:led_onの状態を判定しつつ、
LEDの発光状態と変数:led_onの状態を
切り替ています。
変数:led_onの定義
0 | LEDが発光していない |
1 | LEDが発光している |
このように有り無しのような、
2つの状態を取る変数は
0を無し(No)、1を有り(Yes)が定石です。
サーボモーターの制御

変数:servo_motor_positionを
下記の状態に定義しています。
0 | サーボモーターが90度の初期状態 |
1 | サーボモーターが60度に移動した状態 |
2 | サーボモーターが60度から90度に戻った状態 |
3 | サーボモーターが120度に移動した状態 |
0→1→2→3→0→ を繰り返しています。
「サーボモーターを同時に動かす」で
速さを下げておかないと
動きが強すぎて倒れることがあるため
速さの初期状態10から5に下げています。
おわりに
LEDで遊ぼうとして気付いたことですが、
うきうきロボットプログラミングセットには
LEDが赤だけしかないため
本気で遊ぼうとすると
緑青白が必要になります。
それに伴い透明ブロックが足りなくなります。
最も致命的なのがセンサーコードが
1本しかないことです。
センサーコードは基盤に各種センサーや
LED、ブザーを接続するためのコードです。
これが一本ということは
センサーは同時1つだけしか使えませんし、
LEDを使うとセンサーが使えません。
色々、貯めそうと思うと追加購入が必要です。
基盤のA0~4ボタンを使う場合、4本まで、
使わない場合、8本まで接続できます。