前回の【第2回】に続き、「Scratch 2」に収録されていた”Lピカ”を実行します。
前回は、Raspberry Pi上の電源 ( 3.3VとGND ) を使って”Lピカ”させただけでしたが、今回は、拡張機能”Pi GPIO”を追加した「Scratch 2」のプロジェクト ( プログラム ) で”Lピカ”を実行してみます。
今回使った部品
- Raspberry Pi 3 Model B × 1
- 40Pinフラットリボンケーブル
- 40Pin T型GPIO拡張ボード
- ブレットボード × 1
- LED × 1
- 抵抗 220Ω × 1
- ジャンプワイヤー(オス/オス) × 2
実体配線図
これが「Scratch 2」に収録されていた、もうひとつの”Lピカ”ですが、これをブレッドボード上で配線します。Raspberry Piとブレッドボードは、【第2回】の手順で40PinフラットリボンケーブルとT型GPIO拡張ボードで接続しておいてください。配線は、Raspberry Piを起動しない状態で行います。
①T型GPIO拡張ボードのGNDと導通しているブレッドボードの穴 ( 実体配線図の緑色で示す ) をジャンプワイヤーで右側の穴に接続し、GNDラインを右へ引き出します。
②その穴と導通する穴に、LEDの足の短い方を差し込み、長い方をブレッドボードの中央部の溝を挟んで反対側の穴に差し込みます。
③その穴と導通する穴に、抵抗 ( 実例では330Ωですが、今回は手元にあった220Ωを使いました ) の片側を差し込み、もう片方をその左側の穴に差し込みます。
④その穴と導通する穴と、T型GPIO拡張ボードのGPIO17と導通している穴をジャンプワイヤーで接続します。
Lピカの実行
Raspberry Piを起動して、「Scratch 2」を開いたら、あらかじめ【第1回】の手順で拡張機能”Pi GPIO”を追加しておきます。
①ブロック「set gpio ( ) to output high」の”( )”をマウスでクリックして、今回使用するGPIO番号”17″を入力し、このブロックをブロックパレットに置いたままクリックすると、GPIO17の出力が”high ( 3.3V ) “になってLEDが点灯します。
LEDが点灯したままでは困るので、ブロック「set gpio ( ) to output high」の”output high”をクリックして出るメニューから「output low」を選択し、このブロックをブロックパレットに置いたままクリックすると、LEDが消灯します。
Lピカの on/off スイッチ
②ブロックパレットのカテゴリー「制御」を選択し、ブロック「もし< >なら、でなければ」の上の凹部にブロック「set gpio ( 17 ) to output low」を挟みます。
⑦ブロックパレットのカテゴリー「制御」を選択し、ブロック「もし< >なら」の内側にブロック「もし< >なら、でなければ」を挟みます。
⑧ブロックパレットのカテゴリー「調べる」を選択し、ブロック「< [ スペース▼ ] キーが押された>」をブロック「もし< >なら、でなければ」の”< >”に当て嵌めます。
⑨ブロックパレットのカテゴリー「制御」を選択し、ブロック「ずっと」の内側にブロック「もし< >なら、でなければ」を挟みます。
⑩ブロックパレットのカテゴリー「イベント」を選択し、ブロック「 ( 緑の ) 旗がクリックされたとき」をブロック「ずっと」の上に繋ぎます。
これは”チャタリング“と言って、キーボードのキーを押した際の接点の跳ね返りによって、数100μ秒~数10m秒程度の時間内に複数回の信号が発信されてしまう現象です。これは、最初の信号を受信したときに100m ( 0.1 ) 秒程度の時間を待機させ、その間の信号を受け付けなくすることで回避できます。
ブロックパレットのカテゴリー「制御」を選択します。
Lピカの プロジェクト ( プログラム ) の保存
別画面が開くので、項目「名前:」の入力蘭に拡張子”.sb2″はそのままで今回のプロジェクト名を入力し、「フォルダの作成」ボタンをクリックします。
画面の右ペインにフォルダ名の入力欄が現れるので、プロジェクトを保存するフォルダ名を入力して「Enter」キーを押します。
項目「フォルダの中に保存:」に作成したフォルダが表示されていることを確認して、「保存」ボタンをクリックします。
プロジェクト ( プログラム ) の読み出し
「Replace contents of the current project?」画面が現れるので、「OK」ボタンをクリックすると、画面左上のプロジェクト名と共にスクリプトエリアにプロジェクト ( プログラム ) が表示されます。
次回は、いよいよ”Lピカ”じゃないホンモノの”Lチカ”をトライしてみたいと思います。