arduino勉強記録、今回はボタンのON/OFFをarduinoで取得し、二個のLEDを交互に点灯させてみます。
今回の回路は、こんな感じです。
スイッチのON/OFFでLEDの点灯切り替え
スイッチONで右LED点灯、左LED消灯、スイッチOFFで右LED消灯、左LED点灯とします。前回と同じく7番ピンでスイッチのON/OFFを取得します。
取得した情報で12番と13番への出力を切り替えれば希望の動作になるはずです。
今回のスケッチはこうなりました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
/* スイッチONで右LED点灯-左LED消灯 スイッチOFFで右LED消灯-左LED点灯 */ int button_pin = 7; // ボタンのon/offを取得するピン番号 int state = 0; // ピンから取得したデータ格納用 int ledRight = 12; // 【追加行】右LEDへの出力 int ledLeft = 13; // 【追加行】左LEDへの出力 // the setup function runs once when you press reset or power the board void setup() { Serial.begin(38400);//シリアル速度設定 pinMode(button_pin, INPUT);//ボタンのon/off取得ピンを入力に設定 pinMode(ledRight, OUTPUT); //【追加行】出力に設定 pinMode(ledLeft, OUTPUT); //【追加行】出力に設定 } // the loop function runs over and over again forever void loop() { state = digitalRead(button_pin); // ピンよりデータ取得 Serial.println(state); // シリアルモニタに出力 if(state == 1){ digitalWrite(ledRight,HIGH); // 右LED点灯 digitalWrite(ledLeft,LOW); // 左LED消灯 } else{ digitalWrite(ledRight,LOW); // 右LED消灯 digitalWrite(ledLeft,HIGH); // 左LED点灯 } } |
loop関数内の「if」構文で各ピンへの出力を変更し、左右のLED点灯を入れ替えています。
ここまでで、
- スイッチon/off
- 情報取得
- 処理に応じた出力
をざっくりと通りました。
次回は可変抵抗を使った処理に挑戦します。