/* CVO De Verdieping - Arduino Deurbel V1
*
* Als men de drukknop op pin 2 even ingedrukt wordt,
* speelt er voor 1 seconde een toon op de piëzo
* op pin 10.
* Eenmaal de toon speelt, mag men de drukknop loslaten.
*
* Sketch: Deurbel V1
* Oefening 8.2
*
* Houtmeyers Patrick
* 26/11/2023
*/
// CONSTANTEN
const int PIN_DRUKKNOP = 2; // Drukknop op pin 2
const int PIN_PIEZO = 10; // Piezo op pin 10
const int TONE_LA = 440; // Toon la is op 440 Hz
const int DUURTIJD = 1000; // ms
// VARIABELEN
int knopWaarde = LOW;
int vorigeKnopWaarde = LOW;
// VOORBEREIDING
void setup() {
pinMode(PIN_DRUKKNOP, INPUT);
}
// UITVOERING
void loop() {
// INVOER
knopWaarde = digitalRead(PIN_DRUKKNOP);
// VERWERKING + UITVOER
if (knopWaarde == HIGH and vorigeKnopWaarde == LOW) { // Stijgende flank
tone(PIN_PIEZO, TONE_LA);
delay(DUURTIJD);
noTone(PIN_PIEZO);
}
vorigeKnopWaarde = knopWaarde;
}