Raspberry PiのScratch for Arduino(S4A)でArduinoをつなぐ

ArduinoのGPIO等の細かい制御を行うには、Scratch for Arduino(S4A)を使う方法があります。Scratchの画面からArduino(ここではArduino Unoを使いました)につないだデバイス・モジュールをコントロールできるようになります。

以下では、Raspberry PiでのS4Aの使い方につい書きますが、Windowsでもインストールの部分以外は同様に扱うことができます。

Arduino IDEのインストール

Arduino IDEは、Arduinoのファームウェア(スケッチ)を書き込むために必要です。これは、最近のNOOBSではプリインストールされており、メニューの電子工学の中にあります。しかし、インストールされていない場合は、次のコマンドでインストールします。

sudo apt-get install arduino

その前に、

sudo apt-get update

をしておきましょう。

S4Aのインストール

S4Aのインストール方法については、記事「Raspberry Pi + Arduino + Scratch = ???」に書かれています。それによると、次の二つのコマンドを使うとインストールできます。

sudo wget vps34736.ovh.net/S4A/S4A15_RP.deb

sudo dpkg -i S4A15_RP.deb

ただし、「S4A15_RP.deb」の部分には最新のファイル名を入れます。

インストールが完了すると、スタートボタンからメニューを表示したときに「プログラミング」の中にS4Aができているはずです。これがあればインストールの成功が確認できます。

< 追記 20200601 >

現在、上の手順ではダウンロードできなくなっているようです。ダウンロードできない場合、S4Aのサイトからダウンロード・インストールしてください。S4Aに入って、「Downloads」を選び、「Installing S4A into your computer」の項の中から「Raspbian (Debian for RaspberryPi) 」を選んでインストールできます。

 

Arduinoへのファームウェア(スケッチ)の書き込み

S4AとArduinoをつなぐためには、あらかじめArduinoにファームウェアを送っておく必要があります。そのため、以下の手順で操作します。

先ず、S4AFirmware16.inoというファームウェアをS4Aのサイトからダウンロードします(こちらから直接ダウンロードできます)。

ArduinoをRaspberry PiにUSBでつなぎます。

Arduino IDEを起動します。

Arduinoのモデルを「ツール」メニューの「マイコンボード」から選択します。「シリアルポート」も選択します。

先ほどダウンロードしたファームウェアをArduinoIDEにコピペします。

Arduinoにアップロードします。

 

S4Aの起動とArduinoの制御

S4Aを立ち上げると、画面右上のステージに監視板「Arduino1 port: ACM0」が現れます。センサー値が表示されますが、それらが動いていればArduinoがつながっていることになります。なお、ACM0の部分は接続されたポートであり、状況により異なる名称になります。

もし、ArduinoをラズパイにUSBでつないでいるのに、監視板に「Arduino1 Searching」が現れサーチがなかなか終わらない場合は、シリアルポートがつながっていない状態かもしれません。そのような場合は、Arduino IDEを立ち上げてシリアルポートを選択しておけば、S4Aでもつながるようです。

S4Aの画面の左に現れるブロックのグループの中で、「動き」のグループには、アナログやデジタルの入力(センサー)、モーターや端子の制御のブロックが現れますので、それを用いてスクリプトを書くことにより、Arduinoを使えるようになります。

コントロールできるArduinoの端子

上でダウンロードしたファームウェアを使うと、下のように入出力が制御できます。記号は、S4Aでの表示です。

入力
analog0~analog5 (アナログ入力 6ch)
digital2~digital3 (デジタル入力 2ch)

出力
analog5、6、9 (PWM 疑似アナログ 3ch)
motor4、7、8 (サーボモーター 3ch)
digital10~digital13 (デジタル出力 4ch)

それぞれ、Arduinoのボード上では、アナログ入力のみはA0~A5と表示されており、それ以外は2~13(あるいはD2~D13)で表示されています。

 

 

コメントを残す