Hello,
I am doing a school project. One of the parts is liting up a led with one button and shutting it down with another button. I have done that part. Now we need to activate a buzzer (Piezo Buzzer) when the let is burning for 5 minutes.
So in just broke English:
if LedOn == 300000
=> start Piezo buzzer
else
=> do nothing
I have been looking for different functions and libraries to use, but none of them had what I am searching for. I have tried the Chronos library but it gave nothing. I am still a noob. Can somebody help me out?
Thanks in advance
Code for the led with the buttons
// definieer Led en toetsen
const int led = A1;
const int aanToets = A0;
const int uitToets = A2;
// definieer boolse waardes om de status van het systeem te traceren
boolean laatsteToets1 = LOW;
boolean stroomToets1 = LOW;
boolean laatsteToets2 = HIGH;
boolean stroomToets2 = HIGH;
boolean ledAan = false;
void setup ()
{
pinMode(A1, OUTPUT);
digitalWrite(A1, HIGH);
pinMode(A0, OUTPUT);
digitalWrite(A0, HIGH);
pinMode(A2, OUTPUT);
digitalWrite(A2, HIGH);
Serial.begin(9600);
// toetsen als inputs en led als output
pinMode(led, OUTPUT);
pinMode(aanToets, INPUT);
pinMode(uitToets, INPUT);
}
// debouncer voor de aanToets
boolean debounce1(boolean laatste) // laatste status van de toets
{
boolean stroom1 = digitalRead(aanToets); // bepaal de stroomwaarde van de toets, de waarde stroom wordt gezet op de waarde die wordt gelezen bij de input van de aanToets
if(laatste != stroom1) // vergelijk laatste met stroom1
{
delay(5); // de toets krijgt genoeg tijd om te debouncen, maar het is nog steeds sneller dan wij onze vinger op de knop kunnen bewegen
stroom1 = digitalRead(aanToets); // lees de waarde stroom1 opnieuw uit
}
return stroom1; // geef de waarde stroom1 terug
}
// debouncer voor de uitToets
boolean debounce2(boolean laatste) // laatste status van de toets
{
boolean stroom2 = digitalRead(uitToets); // bepaal de stroomwaarde van de toets, de waarde stroom wordt gezet op de waarde die wordt gelezen bij de input van de uitToets
if(laatste != stroom2) // vergelijk laatste met stroom2
{
delay(5); // de toets krijgt genoeg tijd om te debouncen, maar het is nog steeds sneller dan wij onze vinger op de knop kunnen bewegen
stroom2 = digitalRead(uitToets); // lees de waarde stroom2 opnieuw uit
}
return stroom2; // geef de waarde stroom2 terug
}
void loop ()
{
// run de debounce1 functie en geef deze mee aan stroomToets1
stroomToets1 = debounce1(laatsteToets1);
if(laatsteToets1 == LOW && stroomToets1 == HIGH){ // iemand drukte op de toets
ledAan = !ledAan; // inverteer de waarde van ledAan
}
laatsteToets1 = stroomToets1; // zet de waarde laatsteToets1 naar de gepaste waarde (stroomToets1)
// run de debounce2 functie en geef deze mee aan stroomToets2
stroomToets2 = debounce2(laatsteToets2);
if(laatsteToets2 == LOW && stroomToets2 == HIGH){ // iemand drukte op de toets
ledAan = !ledAan; // inverteer de waarde van ledAan
}
laatsteToets2 = stroomToets2; // zet de waarde laatsteToets2 naar de gepaste waarde (stroomToets2)
digitalWrite(led, ledAan); // led gaat aan
}
code for the buzzer I have so far
// definieer buzzer
const int buzzer = 9;
void setup() {
// put your setup code here, to run once:
// code voor de buzzer
pinMode(buzzer, OUTPUT); // De buzzer wordt geset als OUTPUT
}
void loop() {
// put your main code here, to run repeatedly:
// code voor de buzzer
tone(buzzer, 1000); // Stuur 1KHz geluidssignaal
delay(1000); // duurt 1 seconde
}