ARDUINO Помогите со скетчем

Melnik

✩✩✩✩✩✩✩
2 Авг 2020
1
0
Заголовок темы должен отражать содержимое. Отредактируй или ветка будет удалена
Помогите пожалуйста, осваивать ардуино начал совсем недавно.

Хочу сделать бегущие поворотники, но не на ленте(диодах) WS2812, а на мощных диодах 1W.
В связи с тем что опыта у меня в этих делах 0 скетч у меня частично не получился, пробежка у диодов идет, но не знаю почему они срабатывают без кнопки при запитывании ардуины.
Подскажите в чем ошибка...

Сам скетч:
// input pins

const int buttonPinL = A2;
const int buttonPinR = A3;
const int buttonPinHaz = A4;
const int LedL1 = 2;
const int LedL2 = 3;
const int LedL3 = 4;
const int LedL4 = 5;
const int LedL5 = 6;
const int LedL6 = 7;
const int LedR1 = 8;
const int LedR2 = 9;
const int LedR3 = 10;
const int LedR4 = 11;
const int LedR5 = 12;
const int LedR6 = 13;

int buttonStateL = 0;
int buttonStateR = 0;
int buttonStateHaz = 0;

void setup() {
//Serial.begin(115200);
pinMode(buttonPinL, INPUT);
pinMode(buttonPinR, INPUT);
pinMode(buttonPinHaz, INPUT);
pinMode(LedL1, OUTPUT);
pinMode(LedL2, OUTPUT);
pinMode(LedL3, OUTPUT);
pinMode(LedL4, OUTPUT);
pinMode(LedL5, OUTPUT);
pinMode(LedL6, OUTPUT);
pinMode(LedR1, OUTPUT);
pinMode(LedR2, OUTPUT);
pinMode(LedR3, OUTPUT);
pinMode(LedR4, OUTPUT);
pinMode(LedR5, OUTPUT);
pinMode(LedR6, OUTPUT);

}

void loop() {
// put your main code here, to run repeatedly:
if (analogRead(buttonPinL) == HIGH){
digitalWrite(LedL1, HIGH);
delay (500);
digitalWrite(LedL2, HIGH);
delay (500);
digitalWrite(LedL3, HIGH);
delay (500);
digitalWrite(LedL4, HIGH);
delay (500);
digitalWrite(LedL5, HIGH);
delay (500);
digitalWrite(LedL6, HIGH);
delay (500);
digitalWrite(LedL1, LOW);
digitalWrite(LedL2, LOW);
digitalWrite(LedL3, LOW);
digitalWrite(LedL4, LOW);
digitalWrite(LedL5, LOW);
digitalWrite(LedL6, LOW);
delay (500);
}

if (analogRead(buttonPinL) == LOW){
digitalWrite(LedL1, LOW);
digitalWrite(LedL2, LOW);
digitalWrite(LedL3, LOW);
digitalWrite(LedL4, LOW);
digitalWrite(LedL5, LOW);
digitalWrite(LedL6, LOW);
}

if (analogRead(buttonPinR) == HIGH){
digitalWrite(LedR1, HIGH);
delay (500);
digitalWrite(LedR2, HIGH);
delay (500);
digitalWrite(LedR3, HIGH);
delay (500);
digitalWrite(LedR4, HIGH);
delay (500);
digitalWrite(LedR5, HIGH);
delay (500);
digitalWrite(LedR6, HIGH);
delay (500);
digitalWrite(LedR1, LOW);
digitalWrite(LedR2, LOW);
digitalWrite(LedR3, LOW);
digitalWrite(LedR4, LOW);
digitalWrite(LedR5, LOW);
digitalWrite(LedR6, LOW);
delay (500);
}
if (analogRead(buttonPinR) == LOW){
digitalWrite(LedR1, LOW);
digitalWrite(LedR2, LOW);
digitalWrite(LedR3, LOW);
digitalWrite(LedR4, LOW);
digitalWrite(LedR5, LOW);
digitalWrite(LedR6, LOW);
}

}
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,188
1,280
Москва
Сделай подтяжку кнопок к земле, но тогда сменится направление, при отжатой кнопке будет HIGH, при отпущенной LOW
Еще может помочь некоторая задержка при включении. на пол секунды например.