const int buzzerPin = A5; // Pin that the buzzer is connected to
char pyInput;
unsigned long previousMillis = 0;
unsigned long currentMillis = 0;
void setup() {
Serial.begin(9600);
pinMode(buzzerPin, OUTPUT); // Set Buzzer Pin A5 to OUTPUT.
Serial.println("type 's' or 'p' below and hit enter\n");
}
void loop() {
if (Serial.available() > 0) {
pyInput = Serial.read();
switch (pyInput) {
case 'p':
buzzerBeep(2, 300); // Beep once for 300ms
break;
case 's':
buzzerBeep(8, 80); // Beep 4 times for 80ms each time
break;
}
}
}
// Function for buzzer's sequence/ beeps
void buzzerBeep(int rep, long buzzer_interval) {
static int buzzer_toggleCount = 0;
static int buzzer_currentState = LOW;
if (buzzer_toggleCount < rep) {
currentMillis = millis();
if (currentMillis - previousMillis >= buzzer_interval) {
if (buzzer_currentState == LOW) {
digitalWrite(buzzerPin, HIGH);
buzzer_currentState = HIGH;
} else {
digitalWrite(buzzerPin, LOW);
buzzer_currentState = LOW;
}
previousMillis = currentMillis;
buzzer_toggleCount++;
}
}
}