無料ブログはココログ

« Arduinoでもっと電子工作を2 | トップページ | Arduinoでもっと電子工作を4 »

2021年5月 1日 (土)

Arduinoでもっと電子工作を3

Lesson2

基板上のモータードライバーでLチカします。書き溜めていた原稿をアップするのを忘れてましたので、連日の更新です。電源は鉄道模型で使用する12VのACアダプタを使用します。ターミナルブロックに何か接続するのは危険です。基板上のDCCパケットモニタLEDでLチカを確認します。

Lchika2

I/Oポート番号定義

モータードライバーの入力ピンに繋がるポートを定義します。
#define NANO_LED 13
#define PIN_A 9
#define PIN_B 10

byte gFalshCount = 0;
byte gLED_State = 0;

//Task Schedule
unsigned long gPreviousL1;

I/Oポートと変数を初期化

void setup() {
 // put your setup code here, to run once:
 pinMode(NANO_LED, OUTPUT);
 pinMode(PIN_A, OUTPUT);
 pinMode(PIN_B, OUTPUT);
 digitalWrite(PIN_B, LOW);

 gPreviousL1 = millis();
}

Lチカ実行

void loop() {
 // put your main code here, to run repeatedly:
 if( (millis() - gPreviousL1) > 100) {
  //Reset task
  gPreviousL1 = millis();
  
  gFalshCount++; // 0.1秒毎にカウンターに1を加える
  if (gFalshCount > 4) {
   gLED_State ^= HIGH; // 0.5秒でLEDステータスを反転
   digitalWrite(NANO_LED, gLED_State);
   digitalWrite(PIN_A, gLED_State); // モータードライバーにLEDステータスを出力
   gFalshCount = 0; // カウンターを0に戻して繰り返し
  }
 }
}

« Arduinoでもっと電子工作を2 | トップページ | Arduinoでもっと電子工作を4 »

電子工作」カテゴリの記事

コメント

この記事へのコメントは終了しました。