当サイトは2020年小学生のプログラミング必修化に向けて、関連する情報を纏めています。サイトリニューアルしました。

Scratch V2.0とAruduinoとの接続について

Scratch V2.0とAruduinoとの接続について

Scratchには、現在V1.4、V2.0、V3.0(ベータ版)がありますが、それぞれ外部デバイスと接続する仕組みが準備されています。今回はV2.0オフラインエディターとArduino(アルデュイーノ)との接続について紹介します。

Scratch2.0にはHTTPで通信する仕組みが組み込まれています。この仕組みを利用するにはHTTPサーバーを同じパソコンの中に準備する必要があります。当初サーバー作成も考えましたが、この記事では、Micro:bitとScratch2.0を接続するウインドウズアプリがありましたので、それを利用した手順を紹介します。
scratch2_extension12

準備(ウインドウズ用)

Scratch2.0の導入

V2.0オフラインエディターが導入されていない場合は、こちらの記事で導入してください。V1.4が導入されていても、別のアプリとして導入できます。

ウインドウズアプリ HackEducaConecta

このアプリは、ブラジルの方が作成されたものです。このアプリだけでスマホ接続、Micro:bit接続、Arduino接続をサポートしている優れものです。こちらからダウンロードできますが、ユーザー登録が必要です。現在、英語、ポルトガル語、スペイン語のみのサポートですので、開発者の方と連絡をして日本語テキストを提供して日本語サポートをして頂く予定です。取り合えず、英語版で紹介します。

詳しいダウンロード手順、導入手順は日本語サポート版がリリースされてから追記します。

1.ArduinoをUSBで接続しておいてください。

2.HackEducaConectaを立ち上げると以下のウインドウが表示されます。
scratch2_extension2

3.Arduinoが接続されているComポートを、ウインドウ左上のSerial Portから選択します。
scratch2_extension13

4.もし、上の手順でComポートが表示されない場合は、Comポートの右にあるscratch2_extension23アイコンをクリックしてShow all Connectionに☑を入れると、右下に接続されているデバイスが表示され、3の手順のメニューにもComポートが表示されます。
scratch2_extension14

5.Comポート選択後、Arduinoに専用プログラムをロードするために、『Tool』メニューから『Upload Firmware – FirmataPlus→Arduino Uno』を選択します。注:ボード選択メニューが表示されない場合は、『Firmware – FimataPlus』を選択して6のステップを1度実行してから、再度このステップを実行してください。不具合かもしれませんので開発者の方に確認してみます。
scratch2_extension22

6.パスワードを入れるウインドウが表示されますので、『hackeduca』を入力してOKをクリックします。ArduinoのLEDが点滅してファームウェアがロードされます。完了すると点滅から点灯になります。(この手順は、本当にファームウェアをArduinoにロードして良いかの確認目的です。)
scratch2_extension16

7.『Open Example』に☑を入れて、Arduino用アイコンをクリックします。
scratch2_extension25

8.Scratch2.0が『その他』のところにArduino用のブロックが追加されて開きます。
scratch2_extension26

9.以下のようなHTTPサーバーのウインドウも同時に開きます。
scratch2_extension27

12.これで準備完了です。

Scratchでプログラムする

ここでは、サンプルとしてArduinoにジョイスティックを接続して猫が前後左右に動くプログラムを作りたいと思います。使用した部品については記事の最後で紹介しています。実体配線図は以下のようになります。この図はfritzingというソフトを使用しています。
scratch2_extension28

1.画面にジョイスティックのxとyの値を表示するために『データ』の『変数を作る』で『X座標』と『Y座標』作り、☑を入れます。ステージにそれぞれの値を表示する準備ができます。
scratch2_extension29

2.緑の旗が押されたら、最初に猫の座標をX=0とY=0でステージの中心にします。また、ジョイスティックで使用する、アナログピン(A0,A1)を使用できるようにします。ジョイスティックのXとYを接続したピン(A0,A1)。
scratch2_extension30

3.ずっとブロックを追加して、まずX座標とY座標を表示するブロックを組み込みます。これでステージにジョイスティックの値が表示されます。
scratch2_extension31

4.次にジョイスティックの値に応じて猫のX座標とY座標を計算します。
scratch2_extension32

5.スタートをクリックしてスマホを動かすと、以下のように猫が動きXとYの値が表示されます。
scratch_arduino

なお、Scratch2.0とArduinoの接続については、別の記事でエンガワラボ様が作成されたスクラッチーノで接続する例も紹介していますので、参考にしてください。

今回の記事で使用した部品

 


最後まで記事をお読みいただきありがとうございます。
記事の改善に役立てたいと思いますので、よろしければアンケートにご協力ください。

記事内容についてお伺い


良く解る解る解りにくい部分がある解りにくい 


クロームブラウザーをご使用の方へ

当サイトへの訪問ありがとうございます。その際、グーグルクロームブラウザーをお使いの方にお知らせです。グーグルクロームブラウザーでは、2018年7月から、サイトにより以下の表示がブラウザーのアドレスバーに表示されます。当サイトでも表示されますが、心配ありませんのでご安心ください。
SSL案内1
これは、SSLと呼ばれるWebサイトとそのサイトを閲覧しているユーザとのやり取り(通信)を暗号化するための仕組みを使用していないためです。ネットショッピング、銀行サイトではパスワードやクレジットカードの情報を扱いますので、必須の仕組みです。当サイトでは、そのような情報を扱っておりませんので、暗号化は必須ではありませんが、訪問される方により安心していただけるように、SSL化を予定しております。このメッセージはSSL化完了まで念のため表示します。

スクラッチカテゴリの最新記事