愛知県稲沢市在住の【中小企業診断士✖️IoTプロフェッショナルコーディネーター】が、ものづくりの楽しさをお伝えする《がちゃラボ》です。
今回はRaspberry pi(ラズベリーパイ、ラズパイ)とScratch(スクラッチ)を使って、磁気を使ったセンサである『リードスイッチ』を使ったプログラムに挑戦します。スイッチをON・OFFさせてScratchでおなじみのネコのキャラクターを操作したいと思います。
ラズパイとスクラッチを使ったLED制御は、以下の記事を参考にしてください。
Raspberry pi とは?Scratch とは?
Raspberry pi(ラズベリーパイ、ラズパイ)とは、教育用に開発されたシングルボードコンピュータで専用のOSであるRaspbianを搭載した小さなパソコンです。今では教育の枠を超えて、スマート製品やIoT製品の頭脳として使われることも多く、住宅や工場など身近な場所に設置されることも増えました。
Scratch(スクラッチ)とは、MITが開発したビジュアル型のプログラミング言語で、小学生から中学生・高校生まで幅広い世代がプログラミングを学ぶことができます。2020年の学習指導要領改訂でプログラミング教育が必修化となり、さらに注目されているプログラミング言語です。プログラミングが身近になりますね。
準備するもの(Raspberry pi、Scratch、リードスイッチ)
今回のシステム構成としては、
・リードスイッチがON/OFFすることでネコのキャラクターが走る、止まるを繰り返す
・ネコのキャラクターが実行エリアの端で折り返す時に、LEDが点灯/消灯する
とします。
以前スクラッチを使ってLEDを点灯・消灯されるプログラムを作りましたので、そちらをベースに変更していきます。
あとは、リードスイッチ(磁気センサ、ドアスイッチ)を準備してください。リードスイッチは秋月電子通商さんで数百円で購入可能です。楽天などでも買えます。
秋月電子通商さんリンク
http://akizukidenshi.com/catalog/
ラズパイにリードスイッチとLEDを接続しよう
Pythonというテキスト型のプログラミング言語を使って、LEDとリードスイッチを制御する記事を以前書きました。それを参考に、以下のような回路をブレッドボード上に作りましょう。
またRaspberry pi の入出力端子であるGPIOにも、ジャンプワイヤを接続していきます。繋ぎ方は上述の記事を参考にしてください。
LEDはGPIO02に、リードスイッチはGPIO14に接続します。これで準備は完了です。
Scratch(スクラッチ)でプログラム作成
それではScratchを使ってプログラムを作っていきましょう。Raspberry piには専用のスクラッチツールがあり、『Scratch 2』というツールを使います。
このツールで以前LEDを制御するプログラムを作りましたので、下記をベースに変更していきます。
これにリードスイッチが繋がれたGPIOの入力情報を読み取るブロックを、下記の通り追加します。ずっとブロックの間に、「もしGPIO14がHighなら」というブロックを追加しています。これで、リードスイッチがON(High・くっ付いている状態)の時に、ネコのキャラクターが動くようになります。
動作テスト
それでは、動作テストを行ってみましょう。緑色の旗をクリックして、リードスイッチをくっ付けると、ネコが走り出します。
そして、実行エリアの端で折り返すたびに、LEDが点灯、消灯します。
リードスイッチを離してネコが停止したら成功です。いかがでしたか?
さいごに
今回はリードスイッチを使い、ネコの動きを制御しました。また、ネコの動きによって、LEDを制御することも行いました。
今後はこのようにリアルと仮想世界が互いに制御し合うような製品が増えてくると考えられます。プログラムを作ってできることもどんどん増えてくるので、今回のプログラムを自分なりに発展されていきましょう!
コメント
このLEDというのが、リードスイッチに流している電気のショートを防いでいるのか、関係ないのか気になります。