ラズベリーパイでLEDを制御 「信号機」を作ろう
前回はラズベリーパイのセットアップについて解説した。今回は、LEDの点灯時間を制御するプログラムについて見ていこう。
ブレッドボードにLEDやジャンパー線などを挿し込み、電子回路が完成したら、スクラッチでプログラム(スクリプト)作成に移る。プログラムを作るには、左にある各ブロックを中央の「スクリプトエリア」にドラッグ・アンド・ドロップしていく(図1)。
ブロックによっては、項目内に文字列を設定する。例えば「□を送る」ブロックは、設定した文字列によってさまざまな動作をする。ここでは入出力端子の制御に「□を送る」ブロックを使う(図2)。
「Config10Inを送る」ブロックでは、スイッチを接続した端子を入力モードに切り替える。また、後述するスイッチの状態を確認するブロックで10番端子を選択できるようにするため、画面右上の緑の旗をクリックしよう。
スイッチによってLEDの点灯を制御するプログラムは、図3のように作成する。内容は、「もし●なら」ブロックでスイッチが押されたら処理を開始する。その内容は、「pin16on」で16番端子に接続したLEDを点灯し、10秒待機したら「pin16off」で消灯する。この処理を「ずっと」ブロックで繰り返している。
プログラムが作成できたら、画面右上にある緑色の旗のアイコンをクリックして、プログラムを実行してみよう(図4)。ブレッドボード上のスイッチを押すとLEDが点灯し、10秒後に消灯したら成功だ。
点灯時間は「●秒待つ」ブロックの数値を書き換えれば、任意に設定できる。プログラムを少し手直しすれば、点灯ではなく点滅させることも可能。プログラム次第でさまざまな動作をさせられるところが、ラズベリーパイを使った電子工作の面白いところだ。
「信号機」を作ってみよう
この電子回路とプログラムを発展させれば、さまざまな電子工作に応用できる。応用例として、もう少し複雑な「押しボタン信号機」の製作に挑戦しよう(図5)。これは、歩行者用の押しボタン式信号機を模した動作をする。
ブレッドボード上にあるスイッチを押すと、車道側の信号機が青から黄色、赤に切り替わり、歩行者信号が青になる。その後、歩行者側の青信号が点滅して赤に変わり、車の信号機が青に変わるという動作をする。
電子回路が完成したら制御用のプログラムを作ろう(図6)。スクラッチを起動し、「もし●なら」ブロックを使い、スイッチが押されたら信号を次々に切り替えるようにLEDを制御する。
例えば、車道側の信号を青から赤に変えるには、緑のLED(青信号)を消灯し、黄色のLEDを点灯。「●秒待つ」ブロックで待機した後、黄色のLEDを消灯し、赤のLEDを点灯する。歩行者信号が青に変わり、その後、車の信号を青に戻すまでの処理が完了したら、スイッチを監視する処理に戻る。
プログラムができたら、緑の旗アイコンをクリックしてプログラムを実行してみよう。スイッチを押すと、信号が次々に変わっていく(図7)。
(ライター 福田和宏)
(日経PC21 2015年9月号の記事を再構成)
ワークスタイルや暮らし・家計管理に役立つノウハウなどをまとめています。
※ NIKKEI STYLE は2023年にリニューアルしました。これまでに公開したコンテンツのほとんどは日経電子版などで引き続きご覧いただけます。