Projet 2 – Activité 3

”Réglage de la luminosité d’une DEL à un niveau fixé par une entrée analogique

 

 

Objectif

Dans cette activité, selon le même principe que l’activité précédente, on va faire varier la luminosité d’une DEL en fonction de l’intensité lumineuse reçue par la photorésistance (voir le principe de fonctionnement d’une photorésistance).

La luminosité de la DEL sera inversement proportionnelle à l’intensité lumineuse reçue :

        – La DEL est allumée ou éteinte en appuyant sur le bouton-poussoir,

        – La luminosité de la DEL varie en fonction de la tension de l’entrée A5.

Le code pourra être modifié pour voir l’influence des variables (choix de la DEL).

 

Le programme

. Programme en Python (”Projet2/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 standard”,

. Le module PyFirmataDef.Py” regroupant toutes les fonctions utiles à l’utilisation de PyFirmata” (fonction de déclaration des entrées et sorties, d’itérateur, d’écritures…)

. La bibliothèque ”time” pour la gestion des temps de pause.

Déclaration des constantes et variables :

. PinLED = 11 (constante correspondant au n° de la broche sur laquelle la DEL choisie est connectée)

. PinButton = 12 (cst 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)

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

. PinSensor = 5 (cst correspondant au n° de la broche A5 sur laquelle la photorésistance est connectée)

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

. State = 0 (variable correspondant à l’action à effectuer)

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

– Lancement de l’itérateur :

ArduinoIterateur = Iterateur(board),

– Déclaration de la broche du bouton poussoir en entrée digitale :

InputPin = DigitalInput(board, PinButton),

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

PinAnalogInput = AnalogInput(board, PinSensor)

– Déclaration de la broche de la DEL en sortie analogique :

PinAnalogOutput = AnalogOutput(board, PinLED),

– Attente de 500 ms pour le lancement de l’itérateur

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

 

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

Déroulement du programme :