読者です 読者をやめる 読者になる 読者になる

Webサイト専門プログラマの言いたい放題

元システムエンジニアがサイト制作とプログラミングについて好き放題しゃべります。

【デジタルプログラミングのワークショップに参加】

f:id:wp-lesson:20160716222425j:plainf:id:wp-lesson:20160716222427j:plain

小中高生対象のワークショップに
甥の同伴で行ってきました。
 
写真右側、甥より熱心に授業を聞いて
いるのが私です(笑)。
 
3Dプリンターやサッカーロボットなど
いろんな体験学習コーナーがありました。
 
写真は今回参加した「電子工作」。
いわゆる「マイコン」を使った
プログラミングで、LEDライトを制御し
左右に振ると文字の残像が浮かび上がる
という不思議な体験です。
 
マイコンのプログラミングは
とても原理がシンプル。
 
電子チップのどの”足”にどのLEDを
割り当てるのかと、LEDをONかOFFか
どちらの状態に切り替えるのかを、
C言語を使ってプログラミングします。
 
甥の保護者として近くで授業内容を
見ていた私も、「ははん、なるほど」と
原理を理解する面白さを堪能しました。
 
授業ではあらかじめ、チップに送る
基本的な命令を”関数”にしてあって、
それを組み合わせる大枠のロジックを
少し変更して、ライトの明るさや点滅
のスピードを変更していました。
 
たとえば1個のLEDを0.5秒間隔で
点滅させるプログラムはこうです。

while(1) {
 led.write(1);
 wait(0.5);
 led.write(0);
 wait(0.5);
}

 
▼解説
led.write(1); ・・・LEDを点灯。
wait(0.5); ・・・0.5秒待つ。
led.write(0); ・・・LEDを消灯。
wait(0.5); ・・・0.5秒待つ。
 
これを、while(1) { ~~~ } で囲むことで
延々と繰り返し続けます。
 
授業では7個のLEDに別々の命令を
送り込むことで、チップを振ると
「I♡YOU」などの文字の残像が
見えるものを作っていました。

夏休みの自由研究にもピッタリだと思います。
www.waolab.jp