#define FORWARD_BUTTON 13
#define RIGHT_BUTTON 12
#define LEFT_BUTTON 11
#define BACKWARD_BUTTON 10
#define BUZZER 8
int FORWARD_BUTTON_PREVIOUS_STATE = 1;
int RIGHT_BUTTON_PREVIOUS_STATE = 1;
int LEFT_BUTTON_PREVIOUS_STATE = 1;
int BACKWARD_BUTTON_PREVIOUS_STATE = 1;
void setup() {
// put your setup code here, to run once:
pinMode(FORWARD_BUTTON, INPUT_PULLUP);
pinMode(RIGHT_BUTTON, INPUT_PULLUP);
pinMode(LEFT_BUTTON, INPUT_PULLUP);
pinMode(BACKWARD_BUTTON, INPUT_PULLUP);
pinMode(BUZZER, OUTPUT);
Serial.begin(9600);
Serial.println();
}
void loop() {
// -------------- FORWARD_BUTTON START
int FORWARD_BUTTON_STATE;
int FORWARD_BUTTON_PRESSED;
FORWARD_BUTTON_STATE = digitalRead(FORWARD_BUTTON);
FORWARD_BUTTON_PRESSED = digitalRead(FORWARD_BUTTON);
if (FORWARD_BUTTON_STATE == 0){
if (FORWARD_BUTTON_PREVIOUS_STATE == 1){
Serial.println("Forward Button pressed");
Serial.println("");
while (FORWARD_BUTTON_PRESSED == 0) {
tone(BUZZER, 1200, 300);
delay(50);
FORWARD_BUTTON_PRESSED = digitalRead(FORWARD_BUTTON);
}
tone(BUZZER, 1200, 300);
//Serial.println("Forward Button released");
Serial.println("");
Serial.flush();
FORWARD_BUTTON_PREVIOUS_STATE = 0;
}else{
FORWARD_BUTTON_PREVIOUS_STATE = 1;
}
}
// -------------- FORWARD_BUTTON END
// -------------- RIGHT_BUTTON START
int RIGHT_BUTTON_STATE;
int RIGHT_BUTTON_PRESSED;
RIGHT_BUTTON_STATE = digitalRead(RIGHT_BUTTON);
RIGHT_BUTTON_PRESSED = digitalRead(RIGHT_BUTTON);
if (RIGHT_BUTTON_STATE == 0){
if (RIGHT_BUTTON_PREVIOUS_STATE == 1){
Serial.println("Right Button pressed");
Serial.println("");
while (RIGHT_BUTTON_PRESSED == 0) {
tone(BUZZER, 1300, 250);
delay(50);
RIGHT_BUTTON_PRESSED = digitalRead(RIGHT_BUTTON);
}
tone(BUZZER, 1300, 250);
//Serial.println("Right Button released");
Serial.println("");
Serial.flush();
RIGHT_BUTTON_PREVIOUS_STATE = 0;
}else{
RIGHT_BUTTON_PREVIOUS_STATE = 1;
}
}
// -------------- RIGHT_BUTTON END
// -------------- LEFT_BUTTON START
int LEFT_BUTTON_STATE;
int LEFT_BUTTON_PRESSED;
LEFT_BUTTON_STATE = digitalRead(LEFT_BUTTON);
LEFT_BUTTON_PRESSED = digitalRead(LEFT_BUTTON);
if (LEFT_BUTTON_STATE == 0){
if (LEFT_BUTTON_PREVIOUS_STATE == 1){
Serial.println("Left Button pressed");
Serial.println("");
while (LEFT_BUTTON_PRESSED == 0) {
tone(BUZZER, 1400, 250);
delay(50);
LEFT_BUTTON_PRESSED = digitalRead(LEFT_BUTTON);
}
tone(BUZZER, 1400, 250);
//Serial.println("Left Button released");
Serial.println("");
Serial.flush();
LEFT_BUTTON_PREVIOUS_STATE = 0;
}else{
LEFT_BUTTON_PREVIOUS_STATE = 1;
}
}
// -------------- LEFT_BUTTON END
// -------------- BACKWARD_BUTTON START
int BACKWARD_BUTTON_STATE;
int BACKWARD_BUTTON_PRESSED;
BACKWARD_BUTTON_STATE = digitalRead(BACKWARD_BUTTON);
BACKWARD_BUTTON_PRESSED = digitalRead(BACKWARD_BUTTON);
if (BACKWARD_BUTTON_STATE == 0){
if (BACKWARD_BUTTON_PREVIOUS_STATE == 1){
Serial.println("Backward Button pressed");
Serial.println("");
while (BACKWARD_BUTTON_PRESSED == 0) {
tone(BUZZER, 1100, 250);
delay(50);
BACKWARD_BUTTON_PRESSED = digitalRead(BACKWARD_BUTTON);
}
tone(BUZZER, 1100, 250);
//Serial.println("Backward Button released");
Serial.println("");
Serial.flush();
BACKWARD_BUTTON_PREVIOUS_STATE = 0;
}else{
BACKWARD_BUTTON_PREVIOUS_STATE = 1;
}
}
// -------------- LEFT_BUTTON END
delay(50);
}