”Faire clignoter une DEL et produire
un « beep » synchrone”

. Objectif
Dans cette activité, nous allons voir qu’il est possible d’émettre un son avec un Arduino et modifier le premier programme qui permet de faire clignoter une DEL, pour commander la production d’un signal sonore (« un beep »), émis par un piezo ou un petit haut-parleur, synchrone avec le clignotement de la diode.
Le code en Python ou en langage Arduino pourra être modifié pour voir l’influence des variables (fréquence de l’onde sonore, durée d’émission, durée de silence).
. Le programme
. Programme en Python (”Projet3/Activity1/PY/Activity1.py”)
Déroulement du programme :
– Importation des librairies et définition de fonctions :
. Le module ”ConnectToArduino.py”, contenant les fonctions de connexion à l’Arduino via le protocole ”Firmata Express”,
. Le module ”PymataExpressDef.Py” regroupant toutes les fonctions utiles à l’utilisation de ”Pymata-express” (fonction de déclaration des entrées et sorties, de lectures, d’écritures…) ,
. La bibliothèque ”time” pour la gestion des temps de pause.
– Déclaration des constantes et variables :
. PinLED = 4 (constante correspondant au n° de la broche sur laquelle la DEL rouge est connectée)
. PinTone = 3 (constante correspondant au n° de la broche sur laquelle le buzzer est connecté)
. FreqTone = 440 (constante correspondant à la fréquence de l’onde sonore)
. TimeSleep1 = 0.5 (cst correspondant à la durée en s de l’émission sonore et d’allumage de la DEL)
. TimeSleep2 = 0.5 (cst correspondant à la durée en s du silence et de l’extinction de la DEL)
. PortComArduino (port COM sur lequel l’Arduino est connecté)
– Connexion à l’Arduino :
. Détection du port COM, tentative d’ouverture du port COM sélectionné et connexion à l’Arduino:
PortComArduino = SelectPortCOM()
board = OpenPortCom(PortComArduino)
. Si la connexion à l’Arduino est réussie :
– Déclaration de la broche du buzzer en mode ”Tone” :
Set_Tone_Pin(board, PinTone)
– Déclaration de la broche de la DEL en sortie digitale :
Set_DigitalOutput_Pin(board, PinLED)
– Boucle principale du programme (boucle ”while True”) :

. Programme en langage Arduino (”Projet3/Activity1/INO/Activity1.ino”)
Déroulement du programme :




