ScratchでArduinoをプログラミング

Arduinoを搭載したスマーロボットカーの場合、専用のアプリが用意されていないとプログラミングするにはArduino IDEを使うことになります。

Arduino IDE

こんな感じですが、C言語を元にしているので小学生や小学校の先生にはちょっとハードルが高いですね。
と言うことで、Scratchを使ってプログラミングする方法を紹介します。いろいろな方法があるようですが、その内の2つほど見てみます。
1つめはScrattino3というプログラムです。これは下記URLからダウンロード出来ます。
https://github.com/yokobond/scrattino3-desktop/releases

Scrattino3

ダウンロードしたら解凍して、デスクトップなどわかりやすいところにフォルダを置いておきます。
Scrattino3を起動する前にArduino IDEを起動して接続を確認しておきます。

Scrattino3
次に解凍したフォルダの中にある「Scrattino Desktop.exe」をダブルクリックしてScrattino3を起動します。

Scrattino3

拡張機能でScrattinoを選択してArduinoと接続すればArduino用のブロックが現れます。(COMポートの番号は環境によって違います。)

Scrattino3

Scrattino3

後は普通にScratchでのプログラミングになります。試しにLチカのプログラムを作ってみましょう。

Scrattino3

「set D 2 Output Low」のブロックをドラッグして2→13 Low→Highに変えます。これで13番のピンに電気を出力する意味になり、LEDが光ります。適当なディレイを入れて消灯するためにHigh→Lowのブロックも入れれば指定した回数点灯→消灯を繰り返すプログラムになります。旗のマークをクリックして試してみましょう。

Scrattino3
これでScratchでArduinoをプログラミング出来るようになりましたが、Arduino IDEがやっぱり必要なことと、Arduino用のブロックが日本語化されていないことが残念ですね。

次はMakeblock社の各種ロボット用のプログラミングソフトウェアのmBlock5です。
mBotなど元々Arduino互換ですので、当然普通にArduinoに対応しています。

mBlock5

mBlock5

mBlock5

Makeblock社のHPのトップページでソフトウェアを選んでWindows版を選んでダウンロードします。(ウェブ版もありますが、ドライバーのダウンロードは必要なようです。)

mBlock5
起動したらデバイスの追加をクリックします。Arduino Unoを選んで追加するとArduino用のブロックが追加されます。こちらは日本語化されていますね。

mBlock5

mBlock5

Scrattino3と同じようにLチカのプログラムをしてみます。
プログラムが出来たらArduinoに接続してプログラムを転送します。
mBlock5の場合はScrattino3とは違ってArduinoが起動すると自動的にプログラムが動くような設定です。

mBlock5

mBlock5

mBlock5
また、右上のArduino c のタブをクリックするとArduinoのプログラムが表示されるようになっています。

mBlock5
Arduino IDEを起動しておく必要も無いし、micro:bitにも対応しているようですし、小学校の授業ではではmBlock5の方が使いやすそうですね。Makeblock社は結構メジャーになってきて、他にも多くの製品を出しているので、これからもいろいろ試して紹介していこうと思います。

Edison

Edison

オーストラリアの会社が販売しているロボットカーです。

Edison
パッケージがロボットカーを巻くようになっていて、そこに電池の入れ方など最小限の使い方が印刷されています。と言うことで、販売会社のHPで調べることが必須です。
外見はシンプルですが、センサー類は豊富に搭載されています。

Edison
上部後方にはブサー兼音センサー、プログラムの再生ボタン、停止ボタン、記録ボタンがあります。

Edison
前面には左右に光センサー、赤外線LED、赤LED、中央に赤外線受光部があります。

Edison
下部には電源スイッチ、ライントラッキングセンサー、EdCommケーブル接続口があります。

Edison

このEdCommケーブルと言うのがEdisonの最大の特徴です。通常ロボットカーはプログラムを転送するのにUSB端子やBluetoothで接続しますが、EdCommケーブルはイヤホン端子を使っています。PCの音量を100%にして転送するなどの注意点はありますが、きちんとプログラムは転送されました。ユニークな方法ですね。また、ライントラッキングセンサーを利用してバーコードを読み込むことでプリセットプログラムを読み込むこともできます。

Edison
Edisonをプログラムするには3つの方法があり、全てオンラインで行います。オフラインのプログラムやiOSやAndroid用のアプリもありません。(HPには作るかも、みたいなことが書いてはありますが・・・)

EdBlocks
1つめの方法はEdBlocksと言って、見て分かるようにレゴ マインドストームEV3などと同じように横にブロックをつなげていくタイプです。残念ながら日本語には対応していませんが、HPの翻訳機能である程度はカバー出来ます。まあ、ビジュアルプログラミング言語に慣れていればなんとかなるかと思います。

EdScrath
2つめの方法はEdScrathと言って、名前の通りScratchを元にした縦にブロックをつなげていくタイプです。残念ながら、これにはHPの翻訳機能が働きません。

EdPy
3つめの方法はEdPyと言って、Pythonに基づいたテキストベースのプログラミング言語です。

プログラム転送
どの方法でもプログラムを転送するには右上の「エジソンプログラム」をクリックして注意に従って転送します。

HPを見るとEdBlocksが7歳以上、EdScrathが10歳以上、EdPyが13歳以上という想定で作られているようです。

Edisonは値段もmBOTの半額程度なので、日本語対応の問題がなければ活用できそうなのですが残念ですね。