Scratchには、現在V1.4、V2.0、V3.0がありますが、それぞれ外部デバイスと接続する仕組みが準備されています。今回はV2.0オフラインエディターとArduino(アルデュイーノ)との接続について紹介します。
Scratch2.0にはHTTPで通信する仕組みが組み込まれています。この仕組みを利用するにはHTTPサーバーを同じパソコンの中に準備する必要があります。当初サーバー作成も考えましたが、この記事では、Micro:bitとScratch2.0を接続するウインドウズアプリがありましたので、それを利用した手順を紹介します。
準備(ウインドウズ用)
Scratch2.0の導入
V2.0オフラインエディターが導入されていない場合は、こちらの記事で導入してください。V1.4が導入されていても、別のアプリとして導入できます。
ウインドウズアプリ HackEducaConecta の導入手順
このアプリは、ブラジルの方が作成されたものです。このアプリだけでスマホ接続、Micro:bit接続、Arduino接続をサポートしている優れものです。開発者の方と連絡をして日本語テキストを提供して日本語サポートをして頂きましたので、こちらの記事を参照して導入をお願いします
Arduino(アルデュイーノ)とScratch2.0をつなぐ
1.ArduinoをUSBで接続しておいてください。
2.HackEducaConectaを立ち上げると以下のウインドウが表示されます。日本語表示されていなければ、日本の国旗をクリックします。
3.Arduinoが接続されているComポートを、ウインドウ左上のSerial Portから選択します。お使いのパソコンによって、COM4の数字は変わります。
4.もし、上の手順でComポートが表示されない場合は、Comポートの右にあるアイコンをクリックしてShow all Connectionに☑を入れると、右下に接続されているデバイスが表示され、3の手順のメニューにもComポートが表示されます。
5.Comポート選択後、Arduinoに専用プログラムをロードするために、『ツール』メニューから『ロードファームウェア – FirmataPlus』を選択します。(注:一度実行すれば、Arduinoに他のプログラムをロードするまで、この作業は不要です)
6.パスワードを入れるウインドウが表示されますので、『hackeduca』を入力してOKをクリックします。(この手順は、本当にファームウェアをArduinoにロードして良いかの確認目的です。)
7.その後、再度ツールメニューを開くとメニューが以下のように変わっていますので、『ロードファームウェア – Firmata Plus → Arduino Uno』を選択します。ArduinoのLEDが点滅してファームウェアがロードされます。完了すると点滅から点灯になります。これでScratch2.0とつなぐためのArduinoの準備完了です。
7.『サンプルを開く』に☑を入れて、Arduino用アイコンをクリックします。
8.Scratch2.0が『その他』のところにArduino用のブロックが追加されて開きます。
9.以下のようなHTTPサーバーのウインドウも同時に開きます。
12.これで準備完了です。
Scratchでプログラムする
ここでは、サンプルとしてArduinoにジョイスティックを接続して猫が上下左右に動くプログラムを作りたいと思います。使用した部品については記事の最後で紹介しています。実体配線図は以下のようになります。この図はfritzingというソフトを使用しています。
1.画面にジョイスティックのxとyの値を表示するために『データ』の『変数を作る』で『X座標』と『Y座標』作り、☑を入れます。ステージにそれぞれの値を表示する準備ができます。
2.緑の旗が押されたら、最初に猫の座標をX=0とY=0でステージの中心にします。また、ジョイスティックで使用する、アナログピン(A0,A1)を使用できるようにします。ジョイスティックのXとYを接続したピン(A0,A1)。
3.ずっとブロックを追加して、まずX座標とY座標を表示するブロックを組み込みます。これでステージにジョイスティックの値が表示されます。
4.次にジョイスティックの値に応じて猫のX座標とY座標を計算します。
5.スタートをクリックしてスマホを動かすと、以下のように猫が動きXとYの値が表示されます。
なお、Scratch2.0とArduinoの接続については、別の記事でエンガワラボ様が作成されたスクラッチーノで接続する例も紹介していますので、参考にしてください。
今回の記事で使用した部品
最後まで記事をお読みいただきありがとうございます。
記事の改善に役立てたいと思いますので、よろしければアンケートにご協力ください。
コメントを書く