プログラミング 小ネタ集 その6 ArduinoとScratchの連携のこと

2020.5.13

コロナで活動を自粛中にいろいろ勉強が進みました。Scratch2がScratch3になりました(もちろんScratch2の有用性は揺るいでいません!)。もともとScratchはアナログ-デジタル(AD)変換によわい弱点がありました。以下はパソコン版の話です。Scratch3ではMicrobit(MB)との連携が出来ると言われ私もやってみましたが、ScratchLinkを載せてペアリングもOK,認識もしていますがエラーがでて結局接続は出来ませんでした。そこで調べてみるとArduinoともつなげることができることがわかりました。やってみるとBlue Toothとinternetを必要とするMBよりははるかに使い勝手が良好です。この接続法と小技を紹介します。とりあえずScratch3を念頭におきます(Scratch2は別の機会に紹介します)。

手順 

https://github.com/yokobond/scrattino3-desktop/releases

https://github.com/yokobond/scrattino3-desktop/releases/download/v0.2.0/scrattino_desktop-0_2_0-win.zip

のWindow用のZipファイルを取り、解凍します。あとはHolderにあるScrattino-desktopのアイコンで立ち上がります(もちろんArduinoの準備も必要です)。

小ネタ6-1.png

図1

すると図1のような画面が拡張モードで現れます。こうなればしめたもので、この中にはArduinoを使用することによって

・デジタルPIN

・アナログPIN(A0~A5)

が使用できる命令が追加されます(図2)。

                粉ネタ6-2.png 図2 拡張命令  

                 

私が試した結果ではPWMのみうまく稼働せず、パソコンが止まってしまいました(FMとNote)。アナログ端子にポテンショメーター、温度センサー、照度センサー(CdS)をつなぐと学習が難しく、現場で先生方がお困りの"条件判断"や"制御"(やや中学の内容になりますが)の体験がScratch-Arduinoの組み合わせで簡単にできます。ちなみに図3はポテンショメーターを使った例で

  

小ネタ6-3.png

図3 簡単な例

   Arduino 5V(右か左の端子)

   Arduino A0(真ん中の端子)

   Arduino GND(左か右の端子でGNDはどこの位置でもOK)

にポテンショメーターの3つの端子をつなぎ(写真1)、Runさせ、ポテンショメーターのつまみを左右に回すと猫がx軸方向に移動し、位置を表示するものです。いろいろ挑戦してみてください!説明の不十分な個所があればご連絡ください。 

小ネタ6-4.png

写真1 Arduinoとポテンショメーター

なお、ポテンショメーターというのは以前にActuatorとしてこの欄で紹介、ヴォリューム(VR)のことで、10KΩB型(50-100円)がお勧めです。また、Scratch2ではScrattino2というものを使って同じことが可能です。ちょっと立ち上げが面倒になります。私としては使いやすさという点でMBよりもArduinoがお勧めです。