Sequence MakerはArduinoとシリアル通信することができます。
今回は簡単なスケッチを書いて、定番のLチカを試してみました。
Arduinoのスケッチを書く
// 定義
#define LED_PIN (13) // LEDのピン番号
// 初期化
void setup() {
Serial.begin(9600); // シリアルポートを9600bpsで初期化
pinMode(LED_PIN, OUTPUT); // LEDのピンを出力に設定
}
// ループ処理
void loop() {
if ( Serial.available() ) { // シリアルデータを受信したら…
String data = Serial.readStringUntil('\n'); // ターミネーター(LF)を受信するまで待つ
if ( data == "OFF" ) {
digitalWrite(LED_PIN, LOW); // "OFF"を受信したらLED消灯
}
if ( data == "ON" ) {
digitalWrite(LED_PIN, HIGH); // "ON"を受信したらLED点灯
}
}
}
Lチカだけなので、スケッチも簡単です。
シリアル通信のデータが来るのをループで待ち、
「OFF」というデータが来たらLEDを消灯、
「ON」というデータが来たらLEDを点灯させる感じです。
データの終了はターミネーター(LF)で判断しています。
Serial.readStringUntilは指定した文字が来るまで待ってくれます。
このスケッチでは”\n”と書いていますが、これはLFの事です。
もしターミネーターをCRにするなら”\r”を指定します。
※\は¥マークと同じです。
Sequence Makerのインターフェイス設定
インターフェースの詳細設定を開きます。
ちなみにこの詳細設定はV1.10~の機能なので、Sequence Makerは最新にしておきましょう。
送信ターミネーターを「LF」にします。
フロー制御は使わないのでチェックを外します。
COMポートはArduinoを接続しているポートを選択します。
Excelにコマンドを書く
Excelのシートにコマンドを書きます。
Lチカだけなので、ONとOFFを書くだけです。
ただし、このまま実行すると、1回だけやってシーケンスが終わってしまうので、
シーケンスを繰り返すように設定します。
繰り返し回数を「0」にすると、停止を押すまでずっと繰り返します。
送信前ウェイトは適当に設定します。
今回は0.1秒、つまり100msに設定しました。
実行!
「ON」のセルを選択して「コマンド送受信」を押します。
・・・おわかりいただけただろうか