Projet 3 – Activité 3

”Emettre une onde sonore avec
un bouton-poussoir

 

 

 

Objectif


Dans cette activité, nous allons commander la production d’une onde sonore de fréquence préalablement choisie en appuyant sur le premier bouton poussoir. L’émission est arrêtée en relâchant le bouton poussoir.

Le code en Python ou en langage Arduino pourra être modifié pour voir l’influence des variables (fréquence de l’onde sonore en Hz).

 

Le programme

. Programme en Python (”Projet3/Activity3/PY/Activity3.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 :

. 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)

. PinButton = 12 (constante correspondant au n° de la broche sur laquelle le bouton poussoir est connecté)

. ValButton = 0 (variable pour stocker la valeur de l’état logique de la broche du bouton poussoir)

. 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 du bouton poussoir en entrée digitale :

Set_DigitalInput_Pin(board, PinButton)

Boucle principale du programme (boucle ”while True”) :

 

. Programme en langage Arduino (”Projet3/Activity3/INO/Activity3.ino”)

Déroulement du programme :