” Faire clignoter une DEL et produire un « beep » synchrone ”
. Objectif
Dans cette activité, nous allons modifier notre premier programme des activités d’apprentissage qui permet de faire clignoter une DEL, pour commander la production d’un signal sonore (« un beep »), émis par un buzzer ou un petit haut-parleur, synchrone avec le clignotement de la diode, avec notre circuit d’étude des ondes sonores.
. Le programme
Le programme de l’activité pourra être modifié pour voir l’influence des variables (durée d’allumage et d’extinction, fréquence en Hz de l’onde sonore) :
Déroulement du programme :
– Déclaration des constantes et variables :
. const int PinLed = 9 (constante nombre entier correspondant au n° de la broche sur laquelle la DEL rouge est connectée)
. const int PinTone = 8 (constante nombre entier correspondant au n° de la broche sur laquelle le buzzer est connecté)
. const int FreqTone = 440 (constante nombre entier correspondant à la fréquence en Hz de l’onde sonore)
. const int TimeSleep1 = 500 (constante nombre entier correspondant à la durée d’allumage de la DEL en ms)
. const int TimeSleep2 = 500 (constante nombre entier correspondant à la durée d’extinction de la DEL en ms)
– Initialisation des entrées et sorties :
. La broche de la DEL est initialisée en sortie digitale. Des données seront donc envoyés depuis le microcontrôleur vers cette broche :
pinMode(PinLed, OUTPUT)
– Fonction principale en boucle :
. Niveau haut sur la broche de la Del : digitalWrite(PinLed, HIGH)
. Emission de l’onde sonore en continu : tone(PinTone,FreqTone)
. Attente pendant TimeSleep1 ms : delay(TimeSleep1)
. Niveau bas sur la broche de la Del : digitalWrite(PinLed, Low)
. Arrêt de l’émission sonore : notone(PinTone)
. Attente pendant TimeSleep2 ms : delay(TimeSleep2)