さらに進化。
今度はボタンを押すたびにLEDが切り替わる回路を作ってみた。
回路図はこちら
プログラムは下。
// Original 01: ボタンを押すとLEDが赤→青→緑の順に点灯する。 const int red_LED = 13; // 赤LEDが接続されているピン const int blue_LED = 12; // 青LEDが接続されているピン const int green_LED = 11; // 緑LEDが接続されているピン const int BUTTON = 7; // プッシュボタンが接続されているピン int val = 0; // 入力ピンの状態がこの変数(val)に記憶される int old_val = 0; // valの前の値を保存しておく変数 int state = 0; // LEDの状態(0ならオフ、1ならオン) void setup() { pinMode(red_LED, OUTPUT); // ArduinoにLEDが出力であると伝える pinMode(blue_LED, OUTPUT); pinMode(green_LED, OUTPUT); pinMode(BUTTON, INPUT); // BUTTONは入力に設定 } void loop() { val = digitalRead(BUTTON); // 入力を読み取りvalに格納 //変化があるかどうかチェック if((val == HIGH) && (old_val == LOW)) { state = (state+1) % 4; delay(100); } old_val = val; // valはもう古くなったので保管しておく if (state == 0) { digitalWrite(red_LED, LOW); digitalWrite(blue_LED, LOW); digitalWrite(green_LED, LOW); } else if (state == 1) { digitalWrite(red_LED, HIGH); digitalWrite(blue_LED, LOW); digitalWrite(green_LED, LOW); } else if (state == 2) { digitalWrite(red_LED, LOW); digitalWrite(blue_LED, HIGH); digitalWrite(green_LED, LOW); } else if (state == 3) { digitalWrite(red_LED, LOW); digitalWrite(blue_LED, LOW); digitalWrite(green_LED, HIGH); } }
- 出版社/メーカー: スイッチサイエンス
- メディア: エレクトロニクス
- この商品を含むブログを見る