Différences entre versions de « P2E-LDR-FR »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 137 : Ligne 137 :
 
[[Fichier:P2E-LDR-wiring-2.png|800px]]
 
[[Fichier:P2E-LDR-wiring-2.png|800px]]
  
 +
 +
=== Autres tutoriels ===
 +
Ce wiki contient d'autres exemples autour de l'acquisition analogique.
 +
 +
{{ttuto-begin}}
 +
 +
{{ttuto
 +
  |label=Photo-résistance
 +
  |descr=Détecter la présence de lumière et la luminosité générale avec ce capteur analogique
 +
  |img=tlogo-p2e-lde.png
 +
  |link=P2E-LDR-FR
 +
}}
 +
 +
{{ttuto
 +
  |label=Temperature
 +
  |descr=Mesurer la température à l'aide du TMP-36 (analogique)
 +
  |img=tlogo-p2e-tmp36.png
 +
  |link=P2E-TMP36-FR
 +
}}
 +
 +
{{ttuto-end}}
  
 
=== Autres ressources ===
 
=== Autres ressources ===

Version du 23 décembre 2024 à 22:37

Introduction

La photo-résistance est une résistance photo-sensible, cela signifie que la valeur de sa résistance dépend de la quantité de lumière qui atteint le capteur.

PhotoResistance.jpg

Comme le montre le graphique ci-dessous, la résistance d'une photo-résistance diminue lorsque la quantité de lumière augmente (sur le capteur).

{{{2}}}
Crédit: AdaFruit Industries www.adafruit.com

La photo-résistance est souvent appelée LDR, acronyme anglophone de Light Dependant Resistor (résistance dépendant de la lumière).

Photo-Résistance vs Luxmètre

Les photo-résistances sont des éléments très abordables mais permet uniquement de faire un relevé "relatif" de la luminosité.

Cela signifie qu'il est possible de savoir s'il fait très lumineux, lumineux, sombre ou noir sans pouvoir évaluer "finement" la quantité de lumière!

Il n'est donc pas possible d'utiliser un tel dispositif d'évaluer le nombre de Lux (mesure d'éclairement lumineux, Wikitionnaire), ce que d'autres capteurs plus avancer peuvent permettre.

Photo-résistance du Pico-2-Explorer

Le Pico-2-Explorer propose une photo-résistance dans sa section analogique.

P2E-LDR-10.png

Un microcontrôleur n'est pas capable de mesurer une résistance mais, par contre, il sait mesurer une tension! C'est pour cette raison de la photo-résistance intervient dans un pont diviseur de tension.

Sur le Pico-2-Explorer, la photo-résistance est montée dans un pont diviseur de tension avec une résistance de 10 KOhms.

Le schéma ci-dessous détaille le raccordement de la photo-résistance, une sonde symbolise le branchement sur le connecteur LDR (de la section Analogique).

P2E-LDR-schematic.jpg

Si la photo-résistance est placé sous une source lumineuse alors sa résistance chute, ce qui déplace le potentiel de la jonction Photo_résistance-R10K en direction de 3.3V. La tension VOut augmente vers 0V.

P2E-LDR-in-light.jpg

Si la photo-résistance est masquée, la quantité de lumière qui frappe la photo-résistance diminue. En conséquent, la résistance de la photo-résistance augmente!

Si la résistance de la photo-résistance augmente alors le potentiel de la jonction Photo_résistance-R10K évolue en direction de la masse. La tension VOut diminue vers GND .

P2E-LDR-in-dark.jpg

Cas pratique

L'exemple ci-dessous se propose de relever la valeur du convertisseur analogique en fonction des conditions de luminosité imposée sur la photo-résistance.

En complément, le script allume la LED Rouge (veilleuse) lorsque la luminosité descend sous un certain seuil (donc lorsque la tension sur l'entrée analogique dépasse une tension de référence).

Branchement simplifié

Dans cet exemple, nous allons brancher la photo-résistance (notée LDR) sur l'entrée analogique A1 (GP27) pour lire la valeur sur le convertisseur analogique.

La LED rouge est branchée sur la broche GP22 configurée en sortie.

P2E-LDR-20.png

Remarque: Si vous n'êtes pas encore familiarisé avec l'utilisation des entrées analogiques alors vous pouvez consulter le tutoriel sur les entrées analogiques.

Code

Le code ci-dessous peut être saisi dans une session REPL ou dans Thonny IDE.

Cet exemple est également disponible dans le dépôt analog-ldr.py .

 1 from machine import Pin, ADC
 2 import time
 3 
 4 TURN_ON = 32000 # 0 - 65535
 5 
 6 # Désactive PowerSafe (lower ripple)
 7 Pin( 23, Pin.OUT, value=True )
 8 
 9 a1 = ADC( Pin( Pin.board.GP27 ) )
10 led = Pin( Pin.board.GP22, Pin.OUT )
11 while True:
12     # Effectuer 10 mesures
13     val = 0
14     for i in range( 10 ):
15         val += a1.read_u16()
16     # calculer la moyenne
17     val = val/10
18     
19     led_value = val < TURN_ON
20     led.value( led_value )
21     print( 'adc=%5i , led=%5i' % (val,10000 if led_value==True else 0) )
22     time.sleep_ms( 300 )

Il ne reste plus qu'à placer un objet (ex: votre main) entre la source de lumière et la photo-résistance pour constater l'impact sur le convertisseur analogique (dans la sessions REPL).

P2E-LDR-25.png

Voici quelques explications concernant le script:

  • Ligne 4: la constante TURN_ON indique la valeur ADC en dessous de laquelle la LED sera allumée.
  • Ligne 7: Désactivation du mode d'économie d'énergie pour réduire le bruit sur l'alimentation (et donc le bruit sur les signaux analogiques).
  • Lignes 9 et 10: création de l'instance a1 pour l'acquisition analogique et led pour le contrôle de la LED rouge.
  • Lignes 13 à 17: moyenne du relevé de 10 acquisition ADC sur a1 (GP27).
  • Ligne 19: led_value contient True lorsque la LED doit être allumée, ce qui est la cas si la valeur du convertisseur analogique tombe sous la valeur TURN_ON (32000 dans le script d'exemple).
  • Ligne 20: allumer/éteindre la LED (selon la valeur de led_value).
  • Ligne 21: affichage de la valeur du convertisseur et de l'état marche/arrêt de la LED. La valeur pour la "led" est de 0 lorsque éteinte et 10000 lorsque allumée.
    Cette bizarrerie est utile lors du rendu en graphique dans Thonny car l'échelle de valeur sur l'ADC est de 20000 à 50000.
    Une valeur de 0 ou 10000 pour la LED permettra de voir l'activation de celle-ci sur le graphe (ce qui serait impossible avec les valeurs 0 et 1 correspondant aux valeurs binaire True et False).
    C'est l'expression ternaire 10000 if led_value==True else 0 ; il existe cependant un code plus beaucoup plus concis permettant d'obtenir le même résultat.

Il est également possible de visualiser ces informations sous forme de graphique.

Un problème?

TODO

Pas de changement de valeur pour "adc=" ? (elle devrait varier entre 25000 et 55000)

  1. vérifier le raccordement entre GP27 et LDR
  2. Vérifier la déclaration de la broche a1 dans le script
  3. La photo-résistance est elle suffisamment masquée?

La valeur change subitement lorsque je pose le doigt sur la photo-résistance?

  • La peau humaine présente également une résistance. Celle-ci perturbe la résistance de la photo-résistance si celle-ci expose des contacts métalliques.

La LED ne s'allume jamais!

  1. vérifier le branchement de la LED.
  2. vérifier que la valeur ADC tombe bien en dessous de 32000 lorsque la photo-résistance est masquée. Au besoin, augmenter la valeur de TURN_ON.

La LED ne s'éteint jamais!

  • verifier si la valeur ADC passe au dessus de 32000 lorsque la photo-résistance est en pleine lumière. Au besoin abaisser la valeur de TURN_ON.

Le défi

Remplacer la valeur TURN_ON par celle obtenue par le potentiomètre branché sur A0 (GP26). Le potentiomètre sert alors de consigne, un fonctionnement similaire à une lampe automatique pour jardin.

Encore plus

Brancher une photo-résistance

Voici comment brancher une photo-résistance en créant le pont diviseur de tension, sans oublier d'apporter la masse et la tension d'alimentation nécessaire.

P2E-LDR-wiring-2.png


Autres tutoriels

Ce wiki contient d'autres exemples autour de l'acquisition analogique.

Photo-résistance

Tlogo-p2e-lde.png

Détecter la présence de lumière et la luminosité générale avec ce capteur analogique

Temperature

Tlogo-p2e-tmp36.png

Mesurer la température à l'aide du TMP-36 (analogique)

 

Autres ressources


Traduction augmentée réalisée par Meurisse. D pour shop.MCHobby.be - Licence CC-BY-SA.


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.