【 第43回 】ScratchGPIOならサーバーの起動は不要

0
1176

前回の【 第42回 】で、Scratch1.4のGPIOサーバーでハマったときに怪我の功名でScratchGPIOというものがあることを知りました。このソフトウェアには様々な入出力機器用の制御ライブラリが含まれていて今後も使えそうなのでインストールしてみました。

今回使った部品

  • Raspberry Pi 3 Model B × 1
  • 40Pinフラットリボンケーブル
  • 40Pin T型GPIO拡張ボード
  • ブレットボード × 1
  • LED × 1
  • 抵抗 220Ω × 1
  • ジャンプワイヤー(オス/オス) × 2

実体配線図

Raspberry Piとブレッドボードは【第2回】で紹介したT型GPIO拡張ボードで接続します。

今回は【第3回】での”Lピカ”と同じ回路で、ScratchGPIOの動作チェックを行います。

ScratchGPIOのインストール

LXTerminalを起動し、コマンド”wget”でScratchGPIOのインストーラーをダウンロードします。

wget https://git.io/vMS6T -O isgh8.sh

プロンプトが返ってきたら、、インストーラーを実行します。

sudo bash isgh8.sh

インストール中の画面には、多くの制御ライブラリとサンプルプログラムをインストールしている過程が表示されます。

ScratchGPIOでLピカしてみる

ScratchGPIOをインストールすると、デスクトップに”ScratchGPIO8″と”ScratchGPIO8plus”ができるので、”ScratchGPIO8″をダブルクリックして起動します。

いつもの「Scratch 1.4」とそっくりな画面と併せて「遠隔センサ接続が有効になりました」画面が現れるので、取り敢えず「OK」ボタンをクリックしておきます。

メニューバーから「編集」→「GPIOサーバーを開始」をクリックしようとしましたが、ありませんでした。

ブロックカテゴリー「制御」のブロック「 (  ▼ ) を送る」の”▼”をクリックして現れる「新規…」をクリックします。

現れた「メッセージの名前:」画面の入力蘭に”gpio17on”と入力して「OK」ボタンをクリックします。

できたブロック「 ( gpio17on▼ ) を送る」をブロックパレットに置いたままでクリックしたら、LEDが点灯しました。事前にGPIOサーバーを開始しておかなくてもGPIOの制御が可能なようです。

LEDが点灯したままでは困るので、ブロック「 ( gpio17on▼ ) を送る」の”▼”をクリックして現れる「新規…」をクリックします。

現れた「メッセージの名前:」画面の入力蘭を”gpio17off”で上書きして「OK」ボタンをクリックします。

できたブロック「 ( gpio17off▼ ) を送る」をブロックパレットに置いたままでクリックすると、LEDは消灯しました。

スタートメニューにScratchGPIOを登録

タスクバー左端のメニューアイコンから「設定」→「Main Menu Editor」をクリックして開いた画面の左ペインで「プログラミング」を選択し、右ペインの「Scratch」のチェックボックスにチェックを入れて「プロパティ」ボタンをクリックします。

デスクトップの「ScratchGPIO8plus」を右クリックして出てくるメニューから「ファイルのプロパティ」を選択します。

開いた「ファイルのプロパティ」画面のタブ「デスクトップエントリ」をクリックします。

項目「コマンド:」の入力欄にマウスカーソルを置いて右クリックして出てくるメニューから「すべて選択」を左クリックします。

「すべて選択」した状態で、更に右クリックして出てくるメニューから「コピー」を選択します。

先程開いておいた「Launcher Properties」画面の項目「Name:」の入力欄を”ScratchGPIO8plus”で上書きします。

「Launcher Properties」画面の項目「Command:」の入力欄を全て選択した状態で右クリックし、先程コピーしたデスクトップエントリのコマンド「貼り付け」ます。

「OK」ボタンをクリックして「Launcher Properties」画面を閉じます。

「Main Menu Editor」画面も「OK」ボタンをクリックしてを閉じます。

タスクバー左端のメニューアイコンから「プログラミング」→「ScratchGPIO8plus」をクリックして起動できるようになりました。