سلام دوستان من کار با اردوینو تازه کارم
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); }
}
}