2 светодиода, 3 кнопки Arduino UNO и макет

#arduino-uno

Вопрос:

Поэтому, когда я нажимаю кнопку 3, предполагается, что светодиод 3 мигает, а кнопка 1 мигает светодиод 1, но когда я нажимаю кнопку 2, предполагается, что они выключатся, но этого не произойдет

Есть идеи, что может быть не так с моим кодом?

     // C   code
//
const byte button3 = 4;

const byte button1 = 2;

const byte button2 = 3;

const int led1 = 9;

const int led2 = 8;

const int led3 = 7;

int buttonPushCounterRight = 0;
int buttonPushCounterDominant = 0;
int buttonPushCounterLeft = 0;
boolean buttonState = 0;
boolean lastButtonStateRight = 0;
boolean lastButtonStateDominant = 0;
boolean lastButtonStateLeft = 0;

void setup()
{
  pinMode(button1, INPUT_PULLUP);
  pinMode(button2, INPUT_PULLUP);
  pinMode(button3, INPUT_PULLUP);
  pinMode(led3, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led1, OUTPUT);
  pinMode(A0, INPUT);
  Serial.begin(9600);
}

void loop()
{
   Serial.println  (A0);

  int potValue = analogRead (A0);
  
  buttonState = digitalRead(button1);
      if (buttonState != lastButtonStateLeft)
      {
         if (buttonState == LOW)
         {
            buttonPushCounterLeft  ;
            Serial.println("on");
            Serial.print("button pushes: ");
            Serial.println(buttonPushCounterLeft);
         }
         else
         {
            Serial.println("off");
         }
      lastButtonStateLeft = buttonState;
      }
  
  buttonState = digitalRead(button3);
      if (buttonState != lastButtonStateRight)
      {
         if (buttonState == LOW)
         {
            buttonPushCounterRight  ;
            Serial.println("on");
            Serial.print("button pushes: ");
            Serial.println(buttonPushCounterRight);
         }
         else
         {
            Serial.println("off");
         }
      lastButtonStateRight = buttonState;
      }
  
  buttonState = digitalRead(button2);
      if (buttonState != lastButtonStateDominant)
      {
         if (buttonState == LOW)
         {
            buttonPushCounterDominant  ;
            Serial.println("on");
            Serial.print("button pushes: ");
            Serial.println(buttonPushCounterDominant);
         }
         else
         {
            Serial.println("off");
         }
      lastButtonStateDominant = buttonState;
      }
  
   Serial.println(digitalRead(button1));
   if (buttonPushCounterLeft == 1)
     {
    digitalWrite(led3, HIGH);
    delay (potValue);
    digitalWrite(led3, LOW);
    delay (potValue);
     }
  Serial.println(digitalRead(button2));
  if (buttonPushCounterDominant == 1)
  {
    digitalWrite(led3, LOW);
    digitalWrite(led1, LOW);
  }
  Serial.println(digitalRead(button3));
  if (buttonPushCounterRight == 1)
  {
    digitalWrite(led1, HIGH);
    delay (potValue);
    digitalWrite(led1, LOW);
    delay (potValue);
  }
}
 

Когда я один раз нажму кнопку 2, она выключит 2 светодиода, но этого не произойдет
Кроме этого, я не знаю, что делать.

Пожалуйста, проведите меня через мой код и или возможные решения было бы неплохо

Комментарии:

1. Возможно, добавление некоторых Serial.print выходных данных отладки может показать вам, что идет не так. Если вы все еще сомневаетесь, пожалуйста, покажите и этот результат.

2. Правильны ли соединения? Пожалуйста, проверьте свои соединения и, если они верны, пожалуйста, сообщите мне об этом. После этого я, возможно, проверю код.