
Raspberry Pi4とScratch3.0でスイッチを使ってみよう。
この記事は「ラズパイ実験室」ブログで紹介した内容を要約したものです。
実際のセットアップや起動の方法等については「まとめ・ブログ紹介」にリンクを貼りつけてありますので、ご利用ください。
Raspberry Piは、GPIO(汎用入出力)を通じて電気信号を送受信することで、発光ダイオードやスイッチ、モーターなどのデバイスを制御することができます。
Scratch3.0をインストールしたRaspberry Pi4のGPIOピンに、スイッチやLED、ブザーを接続し、スイッチの状態に応じて、LEDを点灯、消灯、点滅させたり、ブザーを鳴らしたりします。
実験準備
実験をするための機器や部品の用意と環境を作ります。
電子工作でよく使われる、ブレッドボードとScratch3.0をインストールしたRaspberry Pi4を接続します。

押しボタンスイッチでロケットを発射/帰還させよう。
「Raspberry Pi4」のGPIOピンに接続された「押しボタンスイッチ(以下 タクトスイッチ)」を押すごとに、Scratch3.0のステージ(宇宙)に配置したロケットが横方向に回転しながら発射/帰還します。
ブレッドボードを使った接続
ブレッドボードを使って「タクトスイッチ」をジャンパーワイヤー で接続します。

ロケットの処理
「ロケット」の処理は、「タクトスイッチ」が押された時に始まります。


「タクトスイッチ」を押すと、ロケットが横方向に回転しながら上がりステージの上で止まります。
もう一度、「タクトスイッチ」を押すと、ロケットは横方向に回転しながら下がりステージの下で止まります。
押しボタンスイッチでLEDを点灯/消灯/点滅させよう。
Raspberry Pi4のGPIOピンに接続された「押しボタンスイッチ(以下 タクトスイッチ)」を押して、GPIOピンに接続された「LED」を点灯/消灯/点滅させます
ブレッドボードを使った接続
ブレッドボードを使って「タクトスイッチ」、「LED」をジャンパーワイヤー で接続します。

ボタン押してLEDを点灯、放して消灯させよう。
「タクトスイッチ」が押されている間は「LED」が点灯し、放すと消灯します。

「タクトスイッチ」を押すと「LED」が点灯し、放すと消灯します。
ボタンを押している間、LEDを点滅させよう。
「タクトスイッチ」が押されている間は「LED」が点滅し、放すと消灯します。

「(緑の旗)」をクリックして処理を開始します。
「タクトスイッチ」を押している間は、「LED」が1秒間隔で点滅し、放すと消灯します。
確認後、「止める」ボタンをクリックしてプログラムを停止します。
ボタンが押されるまで、LEDを点滅させよう。
「タクトスイッチ」が押されている間は「LED」が点滅し、放すと消灯します。

「(緑の旗)」をクリックして処理を開始します。
「タクトスイッチ」を押している間は、「LED」が消灯し、放すと1秒間隔で点滅します。
確認後、「タクトスイッチ」を押しながら「止める」ボタンをクリックしてプログラムを停止します。
ブザーに注意しながらバナナをゲット!
このゲームは、タクトスイッチを押して「おサルさん」がバナナを取りに行く単純なゲームです。
「おサルさん」が前に動けるのは「緑のLED」が点灯しているときだけで、「赤のLED」が点灯しているときに「おサルさん」が動こうとすると、後戻りしてしまいます。

ブレッドボードを使った接続
ブレッドボードを使って「タクトスイッチ」、「LED」、「ブザー」をジャンパーワイヤー で接続します。

【実際の配線】

ゲームの主な処理
ゲームは「森(背景)」の処理、「サル」の処理で構成されています。
「森(背景)」の処理は、ゲーム開始前の処理と、繰返し処理、リセット処理に分けられ、「サル」などのスプライト個別処理ではできない共通な処理を行います。
「サル」は「タクトスイッチ」を押したとき、「緑のLED」が点灯している場合は前に進み、「赤のLED」が点灯している場合は後退します。
「サル」がバナナに行き着くと、「バナナをゲット!」が表示されます。
「(緑の旗)」をクリックして処理を開始します。
「タクトスイッチ」を押したとき「緑のLED」が点灯している場合は前に進み、「赤のLED」が点灯している場合は後退します。
「サル」がバナナに行き着くと、「バナナをゲット!」が表示されます。
「止める」ボタンをクリックしてプログラムを停止し、キーボードの「q」キーを押すと、「緑のLED」及び「赤のLED」を消灯し「ブザー」が停止します。
まとめ・ブログ紹介
Scratch3.0をインストールしたRaspberry Pi4のGPIOピンに、スイッチやLED、ブザーを接続し、スイッチの状態に応じて、LEDを点灯、消灯、点滅させたり、ブザーを鳴らす実験をしました。
応用例として、「ブザーに注意しながらバナナをゲット!」ゲームを作成しました。
詳しい実験方法やゲームの作成を、「ラズパイ実験室ブログ」に投稿しましたので参考にしてください。