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

Scratch(スクラッチ)とArduino(アルデュイーノ)をScrattino2でつないでプログラミング

Scratch(スクラッチ)とArduino(アルデュイーノ)をScrattino2でつないでプログラミング

 

Scrattino2(スクラッチーノ2)はエンガワラボ様が開発された、スクラッチとアルデュイーノをつなぐアプリケーションです。これがあれば、アルデュイーノに接続した外部機器をスクラッチから操作したり、外部機器からスクラッチのキャラクターを動かしたりできます。

スクラッチだけでは出来なかった外部機器との接続ができることで、お子様がよりプログラミングに興味を持っていただけるのでは。なお、当記事はスクラッチとArduino開発環境は導入済みでArduinoボードをお持ちの前提です。まだであればスクラッチはこちらの記事で、Arduinoはこちらの記事で紹介していますので、ご覧ください。

1.アルデュイーノの準備

この手順では、Firmataプロトコルを使用してパソコンとやり取りするためのスケッチをアルデュイーノにロードします。スクラッチとつなぐ時には、このスケッチが必要です。

1-1.アルデュイーノをUSBでパソコンに接続します。筆者の環境だけかもしれませんが、Arduinoにシールドをつけたり、ジョイスティックを接続したままスケッチをロードしようとするとエラーになります。ロードエラーするようであればArduino単体だけをUSBにつないだほうが良いかもしれません。

1-2.Arduino開発環境を立ち上げたら、ファイル→スケッチ例→Firmata→StandardFirmataを選択して、クリックします。
Scratch-Arduino2

1-3.スケッチ StandardFirmata が開きますので、スケッチ→マイコンボードに書き込むを選択して、クリックします。
Scratch-Arduino3

1-4.プログラムのコンパイルされ、ボードに書き込まれます。
Scratch-Arduino4

2.パソコンにスクラッチーノ2の導入

以下はWindows10へ導入したものですので、他のウインドウズでは画面等異なる場合があります。

2-1.ダウンロードサイトを開くと以下のような画面になりますので、『Scrattino2.Setup.0.2.0-win.exe』と『scrattino2_resources.zip』をクリックしてダウンロードしてください。
Scratch-Arduino6

2-2.ダウンロードした『Scrattino2.Setup.0.2.0-win.exe』をダブルクリックしてScrattino2を導入します。以下のような画面が表示されますので、詳細情報をクリックしてください。注:署名がされていないソフトを導入しようとした場合に表示されます。今回は信用があるサイトからのソフトなので詳細情報で続けますが、知らないメールに添付されてきたようなソフトは危険ですので、『実行しない』を選択してください。
Scratch-Arduino7

2-3.実行ボタンが表示されますので、実行をクリックしてください。
Scratch-Arduino8

2-4.スクラッチーノ2の導入が始まります。
Scratch-Arduino9

2-5.導入が終わると、以下のような画面になりArduinoの接続されているポート(この例ではCOM4)が表示されますので、右側のボタンをクリックして接続します。もし、ポートが表示されない場合はArduinoが上手くUSBに接続されていないので、確認してください。接続できたら、Scan Portボタンをクリックしてポートが表示されるか確認してください。
Scratch-Arduino10

2-6.Arduinoと上手く通信できると、以下のようにA0~」A5アナログの数値が表示(変化します)されます。もし、表示されないようであれば、『1.アルデュイーノの準備』のスケッチが上手くロードできていないかもしれませんので、確認してください。

Scratch-Arduino11

2-7.ステップ2-1でダウンロードした『scrattino2_resources.zip』を適当なフォルダー(マイドキュメントなど)に解凍してください。

3.スクラッチとArduinoで動きを確かめる

2018/09/24追記:当環境で使用しているスクラッチはV2.0です。V1.4では動かないようですので、V1.4をご使用の方は追加でV2.0を導入される事をお勧めします。V2.0の導入は、こちらの記事を参照ください。

3-1.ステップ2-7で解凍した『scrattino2_resources』フォルダー内の『project』フォルダー内の『scrattino2-example.sb2』をダブルクリックすると、Arduinoと連携したサンプルプログラムのスクラッチが開きます。なお、サンプルプログラムが不要な場合は『scrattino2.sb2』を使用してください。
Scratch-Arduino12

3-2.Arduinoブロックは、スクリプトの種類の『その他』をクリックすると表示されます。
Scratch-Arduino13

3-3.サンプルプログラムのスクリプトを順に説明していきます。一番上はArduinoのお決まりのLED点滅です。
Scratch-Arduino14

緑の旗をクリックすると以下のようにArduinoボード上のL LEDが0.5秒ごとに点滅します。注:配線がされていますが、ジョイスティックの接続用です。L LEDを点滅させるだけであれば配線は不要です。。
Arduino_3

下の回路図の抜粋(Arduinoホームページの回路図はこちら)のオレンジ色の線で示した通り、『OUTPUT D13』出力ピンとLED Lの回路はつながっています。ですので、D13出力を1(オン)、0(オフ)するとLED Lも点滅します。注:初めてArduinoの電源を入れた時はこのLEDが1秒ごとに点滅します。工場で1秒ごとに点滅するスケッチを書き込んで出荷しているからです。
Arduino_logic1

3-4.2番目はScratchのねこのキャラクターをArduinoにつないだジョイスティックで動かす例です。
Scratch-Arduino15

以下のように、ジョイスティックを動かすとキャラクターが上下左右に動きます。左上にA0とA1の数字が変化しているのが分かります。A0はアナログ入力ピン0、A1はアナログ入力ピン1のことで、そこに入力された電圧(0V~5V)を読取りコンピューターで扱える0~1023の数字に変えてくれます。その値をキャラクターのx座標とy座標に使ってねこのキャラクターを動かしています。注:右上のD13はL LEDの点滅もしているため0と1と交互に変わっています。
録画bb

Arduinoとジョイスティックの接続は以下です。
Scratch-Arduino17

3-5.3番目はArduinoのスイッチを押すと、音を鳴らす例です。Input D2が1なら真ん中のドを鳴らします。上の接続図でジョイスティックのSWがArduinoのD2に接続(オレンジ色)されていますので、スティックを押すとパソコンからドの音がなります。
Scratch-Arduino16

 

今回の記事を書く際に参考にさせていただいたエンガワラボ様のスクラッチーノ2のページは以下です。

なお、Scratch2.0とArduinoの接続については、別の方法で接続する例も紹介していますので、参考にしてください。


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

記事内容についてお伺い


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


     

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