/
buzzer.ino
40 lines (34 loc) · 1.01 KB
/
buzzer.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//////////////////////////////////////////////////////////////////////////////////////
/*
*** BUZZER
*/
//////////////////////////////////////////////////////////////////////////////////////
void bipErreur()
{
// 650 Hz;
for (int i = 1; i <= 3 ; i++) {
playFrequence(650,100);
delay(50);
}
}
//////////////////////////////////////////////////////////////////////////////////////
void bipOK()
{
// 2600 Hz
for (int i = 1; i <= 2 ; i++) {
playFrequence(2600,100);
delay(50);
}
}
//////////////////////////////////////////////////////////////////////////////////////
void playFrequence(int frequence, int duration)
{
long demiPeriode = 1000000L / (long)frequence >> 2; // Demi-periode en microsecondes
for (long i = 0; i < duration * 1000L; i += demiPeriode * 2) {
digitalWrite(BUZZER, HIGH);
delayMicroseconds(demiPeriode);
digitalWrite(BUZZER, LOW);
delayMicroseconds(demiPeriode);
}
}
//////////////////////////////////////////////////////////////////////////////////////