Arduino スイッチによるLED点灯切り替え

実現したいこと

スイッチを押している間LEDの動作を切り替えたい

前提

Arduinoで簡単な回路を作成しています。
super starter kit uno r3 projectを使用しています
スイッチを押している間に4つのLEDの点灯パターンを変化させたいです。
LEDには1kΩの抵抗をつないでいます。 ピン番号4~7→各LED→抵抗→GND(ブレッドボードの ー )
スイッチには10kΩの抵抗をつないでいます。 5V→抵抗→2番に分岐→スイッチ→GND

発生している問題・エラーメッセージ

スイッチを押しても動作が変化しない。

該当のソースコード

const int buttonPin = 2; // the number of the pushbutton
const int ledPin4 = 4; // the number of the LED pin4
const int ledPin5 = 5; // the number of the LED pin5
const int ledPin6 = 6; // the number of the LED pin6
const int ledPin7 = 7; // the number of the LED pin7
// variables will change:
int buttonState = 0; // variable for the pushbutton
void setup() {
pinMode(ledPin4, OUTPUT);
pinMode(ledPin5, OUTPUT);
pinMode(ledPin6, OUTPUT);
pinMode(ledPin7, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop() {
buttonState = digitalRead(buttonPin);
// If the pushbutton is pressed, the buttonState becomes LOW:
if (buttonState == LOW) {
// turn on the LED:
digitalWrite(ledPin4, HIGH);
digitalWrite(ledPin5, HIGH);
digitalWrite(ledPin6, HIGH);
digitalWrite(ledPin7, HIGH);
delay(300);
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin5, HIGH);
digitalWrite(ledPin6, HIGH);
digitalWrite(ledPin7, HIGH);
delay(300);
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin5, LOW);
digitalWrite(ledPin6, HIGH);
digitalWrite(ledPin7, HIGH);
delay(300);
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin5, LOW);
digitalWrite(ledPin6, LOW);
digitalWrite(ledPin7, HIGH);
delay(300);
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin5, LOW);
digitalWrite(ledPin6, LOW);
digitalWrite(ledPin7, LOW);
delay(300);
} else {
// turn off the LED:
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin5, LOW);
digitalWrite(ledPin6, LOW);
digitalWrite(ledPin7, LOW);
delay(200);
digitalWrite(ledPin4, HIGH);
digitalWrite(ledPin5, HIGH);
digitalWrite(ledPin6, HIGH);
digitalWrite(ledPin7, HIGH);
delay(200);
}
}

試したこと

抵抗とスイッチの分岐にある2番との接続ワイヤを抜くと動作が変化しました。|列1|列2|列3|
|:--|:--:|--:|
|||||列1|列2|列3|
|:--|:--:|--:|
||||---

補足情報(FW/ツールのバージョンなど)

コメントを投稿

0 コメント