ACTIVITE ARDUINO/PYTHON Allumeur de réverbère (avec codes Arduino et codes Python équivalent)

Remarque : Cette activité peut être programmée avec le langage d’Arduino mais aussi en Python. Pour cela, il faut utiliser Nanpy (voir l’article Programmer-en-python-pour-la-carte-arduino)

Objectif : Allumer une LED lorsque l’éclairement reçu par une photorésistance (ou LDR) est faible. Résistance de protection de 220 Ω pour la LED. Résistance 1kΩ en série avec la LDR.

/*
Allumage d'une LED pour un faible éclairement d'une photorésistance
*/


int Valeur_A0; 
float Tension_A0; 


void setup(){

pinMode(2,OUTPUT) ;  }


void loop(){
Valeur_A0=analogRead(A0); Tension_A0=(float)Valeur_A0*5/1023; 
if (Tension_A0<4.0){

 digitalWrite(2,HIGH); 
}


else{

 digitalWrite(2,LOW) ; }

delay(250); 

}
# -*- coding: utf-8 -*-

"""
Programme Python pour montage Arduino allumeur de réverbère
Partie capteur :
la photorésistance est privée de lumière (quand la nuit tombe) ou est éclairée.

Partie actionneur  :
Selon l’éclairement reçu par la photorésistance, la LED s'allume ou s'éteint.
LED allumée pour faible eclairement
LED éteinte pour au dela d'un certain eclairement
"""
#########################################  IMPORTATION DES BIBLIOTHEQUES ET MODULES  #############################################################################

from nanpy import ArduinoApi    # importation des bibliothèques pour communication avec Arduino
from nanpy import SerialManager
from time import sleep   # pour faire des "pauses" dans l'exécution du programme

#########################################  COMMUNICATION AVEC CARTE ARDUINO ET DEFINITION DES BROCHES ET VARIABLES  #######################################################

connection = SerialManager(device='COM7') #indiquer le bon port de la carte Arduino

a = ArduinoApi(connection=connection) #connection à la carte Arduino, on précédera chaque instruction Arduino par a. (exemple a.pinMode(2,a.OUTPUT)

a.pinMode(2,a.OUTPUT) # Broche 2 déclarée comme sortie (pour allumer ou éteindre une LED associée en série avec une résistance de protection)

#########################################   CODE ARDUINO  EN LANGAGE PYTHON    #################################################################################


while True:
    Valeur_A0=a.analogRead(0) # lecture de la tension sur l'entrée analogique A0 (valeur comprise entre 0 et 1023 qui correspond à une tension entre 0 et 5V)
    Tension_A0=Valeur_A0*5.0/1023 # conversion de la valeur en V
    if (Tension_A0<4.0):             # Selon la tension lue, le LED s'allume ou s'éteint (ici on a choisi comme valeur de référence : 4V)
        a.digitalWrite(2,a.HIGH)


    else:
        a.digitalWrite(2,a.LOW)
    print (Tension_A0)
    sleep(0.25)

Laisser un commentaire