※ 本記事は作成時の情報を元に作成されたものです。
最新の情報に基づく記事として「【 第1回 】Scratch 2の日本語化と拡張機能”Pi GPIO”の追加」を新たに作成しましたので、こちらをご覧ください。
概要
以前の記事「ScratchでもGPIO serverを起動してLEDをコントロールしてみよう!」では、Scratch 1.4でも「GPIOサーバーを開始」すれば、GPIOに接続した外部デバイスを操作することができることをお伝えしましたが、最新のNOOBS ver.2.4.2では、Scratch 2.0がプリインストールされていてローカル(オフライン)でも実行することができるようになりました。従来のRasbianでも、
sudo apt-get install scratch2
で、Scratch 2.0をインストールできます。
今回から、あらためて、Scratch 2.0を使った場合の電子工作をいくつか紹介していきたいと思います。
Scratch 2.0でGPIOの制御を有効にする
電子工作の前に、Scratch 2.0でGPIOの制御を有効にしておきましょう。
タスクバーのメニューアイコンから「プログラミング」→「Scratch 2」をクリックして開きます。
「Scratch 2」が開いたら、ブロックパレットの「その他」ボタンをクリックして、その下に現れた「拡張機能を追加」ボタンをクリックします。「Extension Library」ウィンドウが開くので、「Pi GPIO」を選択して(今のところ、これしか登録されていませんが)、「OK」ボタンをクリックすると、ブロックパレットに新しく追加された2つのブロックが表示されます。
ブロックパレットの「Pi GPIO▼」の「▼」から「説明 Pi GPIO extension…」をクリックすると、Scratch 2.0によるGPIO制御についての解説が表示されます。
今回の電子工作で使用するものは、以前の記事「ScratchでもGPIO serverを起動してLEDをコントロールしてみよう!」と同じものです。
必要な部品
- Raspberry Pi 3 Model B × 1
- ミニブレットボード × 1
- LED × 1
- 抵抗 100Ω × 1
- ジャンプワイヤー(オス/メス) × 2
回路図と実体配線図
①カテゴリー「制御」から「ずっと」をスクリプトエリアに置きます。
②カテゴリー「その他」から「set gpio () to output high▼」を2つ「ずっと」の内側に嵌め込みます。
③カテゴリー「制御」から「1秒待つ」を2つ「set gpio () to output high▼」の下に嵌め込みます。
④「set gpio () to output high▼」2箇所の「()」に、今回使用するGPIOの番号”4″を入力します。
⑤下側の「set gpio (4) to output high▼」の「▼」をくりっくして、「output low」を選択します。
⑥カテゴリー「イベント」から「(緑)旗がクリックされたとき」を「ずっと」の上に置きます。
⑦ステージ右上の緑色の旗をクリックして、このプロジェクトを実行します。
LEDが1秒毎に点滅するのを確認できたでしょうか?
ステージ右上の赤●ボタンをクリックすると停止します。
プロジェクトを保存するには、メニューバーの「ファイル」→「プロジェクトを保存?」をクリックすると、保存するフォルダの選択ウィンドウが現れるので、「Scratch」フォルダをダブルクリックして、名前(N):の入力欄に任意のプロジェクト名(ここでは、”blink.sb2″)を入力し、「保存」ボタンをクリックします。
『LEDが1秒毎に点滅する』という同じプロジェクトをScratchの1.4(左)と2.0(右)で作成しましたが、2.0では「ずっと」の前の宣言文「config4out▼を送る」が不要となり、GPIOもテキスト入力から端子番号と出力の選択だけで指定できるようになりました。