Projet 3 – Activité 2

”Alarme sonore par détection de passage

 

 


Objectif


Dans cette activité, le programme de production d’un « beep » de l’activité précédente va être utilisé comme alarme de détection de passage.

On utilise pour cela une photorésistance éclairée par une DEL rouge (voir le principe de fonctionnement d’une photorésistance). La sortie de la photorésistance est connectée à l’entrée analogique A0 de l’Arduino.

La valeur de la broche A0 est alors proportionnelle à l’intensité lumineuse reçue par la photorésistance.

En présence d’un obstacle entre la DEL et la photorésistance, la tension mesurée au niveau de la broche A0 diminue et quand celle-ci est inférieure à un seuil (la sensibilité du capteur définie initialement), l’alarme sonore est déclenchée.

Le code en Python ou en langage Arduino pourra être modifié pour voir l’influence des variables (sensibilité du capteur, fréquence de l’onde sonore, durée d’émission, durée de silence).

 

Le programme

. Programme en Python (”Projet3/Activity2/PY/Activity2.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é)

. PinPhotoR = 0 (constante correspondant au n° de la broche A0 de la photorésistance)

. CapteurSensib = 700 (constante nombre entier entre 0 et 1023 correspondant à la valeur de la sensibilité du capteur)

. ValCapteur = 0 (variable pour stocker la valeur de la broche de la photorésistance)

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

– Déclaration de la broche de la photorésistance en entrée analogique :

Set_AnalogInput_Pin(board, PinPhotoR)

– La DEL rouge est allumée :

Digital_Write(board, PinLED, 1)

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

 

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

Déroulement du programme :