سلام دوستان من کار با اردوینو تازه کارم
4 کلید دارم که می خوام بعد از فشرده شدن اعداد 1 تا 4 رو به پورت سریال ارسال کنه ضمنا میخوام یه delay داشته باشه برا فاصله افتادن دستور در فشرده شدن کلیدها
این کد منه ولی کار نمیکنه
میشه راهنمایی کنید
کد:
const int BUTTON_PIN_1 = 2;
const int BUTTON_PIN_2 = 3;
const int BUTTON_PIN_3 = 4;
const int BUTTON_PIN_4 = 5;


char ConsolCode = '0';

void setup() 
  {
    InitializeSerial();
    GetConsolCode();  
  }

void loop()
  {
    CheckInputButton(); 
  }
  
void InitializeSerial()
  {
  //Serial.begin(115200);
  
  pinMode(BUTTON_PIN_1, INPUT);
  pinMode(BUTTON_PIN_2, INPUT);
  pinMode(BUTTON_PIN_3, INPUT);
  pinMode(BUTTON_PIN_4, INPUT);
 }


void GetConsolCode() {
  while(true) {
    if (digitalRead(BUTTON_PIN_1) == HIGH) {
      while(digitalRead(BUTTON_PIN_1) == HIGH){ delay(1); }
      ConsolCode = '1';
      break;
    } else if (digitalRead(BUTTON_PIN_2) == HIGH) {
      while(digitalRead(BUTTON_PIN_2) == HIGH){ delay(1); }
      ConsolCode = '2';
      break;
    } else if (digitalRead(BUTTON_PIN_3) == HIGH) {
      while(digitalRead(BUTTON_PIN_3) == HIGH){ delay(1); }
      ConsolCode = '3';
      break;
    } else if (digitalRead(BUTTON_PIN_4) == HIGH) {
      while(digitalRead(BUTTON_PIN_4) == HIGH){ delay(1); }
      ConsolCode = '4';
      break;
    }
    delay(100);
  }
}
void CheckInputButton() {
  
if (digitalRead(BUTTON_PIN_1) == HIGH)
    {
      Serial.print("1");    
      while(digitalRead(BUTTON_PIN_1) == HIGH){ delay(1); }
    }
if (digitalRead(BUTTON_PIN_2) == HIGH)
    {
      Serial.print("2");    
      while(digitalRead(BUTTON_PIN_2) == HIGH){ delay(1); }
    }
if (digitalRead(BUTTON_PIN_3) == HIGH)
    {
      Serial.print("3");    
      while(digitalRead(BUTTON_PIN_3) == HIGH){ delay(1); }
    }
if (digitalRead(BUTTON_PIN_4) == HIGH)
    {
      Serial.print("4");    
      while(digitalRead(BUTTON_PIN_4) == HIGH){ delay(1); }
    }

}