Sequence MakerとArduinoでLチカする

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」のセルを選択して「コマンド送受信」を押します。

・・・おわかりいただけただろうか

タイトルとURLをコピーしました