Skip to content

Instantly share code, notes, and snippets.

@andikan
Last active December 19, 2015 16:40
Show Gist options
  • Save andikan/e0b1283090c1b1fdbea5 to your computer and use it in GitHub Desktop.
Save andikan/e0b1283090c1b1fdbea5 to your computer and use it in GitHub Desktop.
int pressTime = 60000;
int buttonPin = 2;
int buzzerPin = 3;
int melody[] = {523, 587, 659, 698, 784, 880, 988, 1047};
int duration = 500;
int previousButtonState = 0;
int buttonState = 0;
unsigned long buttonPressAt;
void setup() {
pinMode(buttonPin, INPUT);
pinMode(buzzerPin, OUTPUT);
}
void loop() {
buttonState = digitalRead(buttonPin);
Serial.println(buttonState);
if (buttonState == HIGH) {
if(previousButtonState == LOW) {
buttonPressAt = millis();
}
if(millis() - buttonPressAt > pressTime) {
tone(buzzerPin, melody[7], 250);
delay(100);
tone(buzzerPin, melody[0], 250);
}
}
else {
if(millis() - buttonPressAt > pressTime && previousButtonState == HIGH) {
for(int i=0; i<5; i++) {
tone(buzzerPin, melody[i], duration);
delay(500);
}
}
}
previousButtonState = buttonState;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment