S4A-Arduinoボードのプログラム書き込み方法
当記事では、S4AでArduinoボードにプログラムを書き込む方法について詳しく解説します。
正確に言うと、Arduinoボードに書き込まれたS4A通信用ファームウェア(プログラム)によって、S4AからArduinoボードを制御する方法になります。
そのため、Arduinoボード単体での動作は不可能で、S4Aを起動しているPCとArduinoボードの接続が切断されて通信ができなくなると、S4Aで作成したプログラムでの動作が停止してしまいます。
なお、S4A通信用ファームウェアがまだ書き込まれていない場合は、以下の記事を参考にしてください。
S4Aによる制御までの準備
ArduinoボードをUSBケーブルで、S4Aを使用するPCに接続します。当記事では、Arduino Unoを使用して説明していきます。
以下の記事で初心者でもわかりやすいように、ランキング形式でおすすめのArduinoボードを紹介しているので、ぜひご覧ください。
また、以下の記事で、安価でWi-Fi/Bluetoothに対応している「ESP32開発ボード」についてもまとめてみました。
このボードは、Arduinoボードではありませんが、Arduino IDEでソフト開発ができるため、電子工作でIoTを実現したい方におすすめです。
ArduinoボードにS4A通信用ファームウェアが書き込まれていれば、「Searching board…」は表示されず、通信成功になります。
制御用の簡単なプログラムを作成します。S4Aでは命令用のブロックをマウスでドラッグ&ドロップすることで簡単にプログラムを作成することが可能です。
「制御」をクリックして、「????がクリックされたとき」をマウスでドラッグ&ドロップします。
「ずっと」をマウスでドラッグ&ドロップします。この時、「????がクリックされたとき」の命令ブロックの下側に隙間なく配置して、命令ブロック同士が接続した状態にします。
「動き」をクリックして、「digital 13 on」を「ずっと」の命令ブロックの中に入るようにドラッグ&ドロップします。
「制御」をクリックして、「1秒待つ」を「digital 13 on」の命令ブロックの下にドラッグ&ドロップします。
「動き」をクリックして、「digital 13 off」を「1秒待つ」の命令ブロックの下にドラッグ&ドロップします。
「制御」をクリックして、「1秒待つ」を「digital 13 off」の命令ブロックの下にドラッグ&ドロップします。
S4Aによる通信制御
「緑の旗のスクリプトを開始」をクリックすれば、S4Aで作成したプログラムでArduinoボードを制御できます。Arduino UnoのLEDが1秒間隔で点滅します。
なお、S4Aのプログラムを変更する場合、そのまま命令ブロックを修正すれば良いです。
例として、上記のように「1秒待つ」を「0.1秒待つ」に修正してみます。数字の部分をマウスで左クリックすれば、編集できるようになります。
プログラム修正が終わったら、「緑の旗のスクリプトを開始」をクリックすれば、Arduinoボードに修正したプログラム内容が反映されます。Arduino UnoのLEDが0.1秒間隔で点滅します。