Une led allumée à l'aide d'un capteur son
Code Arduino
1
int PinSon = A2;
2
int PinLed = 4;
3
int LimiteSon = 400;
4
int EtatSon;
5
6
void setup() {
7
8
pinMode(PinLed, OUTPUT);
9
pinMode(PinSon , INPUT);
10
Serial.begin(9600);
11
12
}
13
14
void loop(){
15
EtatSon = analogRead(PinSon );
16
Serial.println(EtatSon);
17
18
if (EtatSon > LimiteSon)
19
{20
digitalWrite(PinLed, HIGH);
21
delay(500);
22
}
23
else24
{25
digitalWrite(PinLed, LOW);
26
}
27
28
}
Complément : Code Arduino commenté
1
//Objectif = Son pour allumer une Led2
//PIN = Personal Identification Number, adresse utilisée pour identifier un module3
//LED = Light-Emitting Diode (Diode ElectroLuminescente = DEL)4
5
//Constantes : la valeur ne changera pas pendant l'exécution du programme 6
const int PinSon = A2; // J'utilise l'adresse Analogique n°A2, relié à un capteur sonore, pour associer le nom PinSon
7
const int PinLed = 4; // J'utilise l'adresse numérique n°4, reliée à une LED, pour associer le nom PinLed
8
9
// variables : la valeur peut changer pendant l'exécution du programme10
int LimiteSon = 300; // Je crée une variable, appelée LimiteSon, pour comparer l'ambiance sonore à un seuil
11
int EtatSon;
12
13
void setup() {
14
15
// Initilisation du module de PIN n° 4 (PinLed) comme une SORTIE 16
// = le programme peut envoyer des informations vers la LED17
pinMode(PinLed, OUTPUT);
18
19
// Initilisation du module de PIN n° A2 (PinSon) comme une ENTREE 20
// = le programme peut recevoir des informations du capteur sonore 21
pinMode(PinSon, INPUT);
22
23
//Serial.begin est utilisé pour définir la vitesse de communication utiliése 24
//en bauds = nombre d'éléments du signal transmis en une seconde25
Serial.begin(9600);
26
27
}
28
29
void loop(){
30
31
EtatSon = analogRead(PinSon ); // Lire l'état du capteur sonore et attribuer la valeur à la variable EtatSon
32
33
//Afficher le graphique des données sons recueillies dans EtatSon34
//Pour les voir : Menu Outils > Traceur série (courbe de valeurs) ou Menu Outils > Moniteur série (valeurs)35
Serial.println(EtatSon);
36
37
if (EtatSon > LimiteSon) // est-ce que le capteur enregistre un signal (valeur EtatSon) supérieur à LimiteSon
38
{ 39
digitalWrite(PinLed, HIGH); // allumer la LED = envoyer l'information mettre la LED en mode HIGH
40
delay(100); //arrêt d'exécution pendant 500 ms (1/2 seconde)
41
}
42
else // Sinon
43
{44
digitalWrite(PinLed, LOW); // éteindre la LED = envoyer l'information mettre la LED en mode LOW
45
}
46
47
}