Vous êtes sur la page 1sur 4

TP Contrôler un éclairage avec une

photorésistance : les entrées analogiques

Objectif
Nous allons allumer ou éteindre une LED en fonction de la lumière reçue par
une photorésistance.

La photorésistance
Une photorésistance est un composant dont la valeur de la résistance change en
fonction de l'intensité de la lumière qu'elle reçoit.
Plus une photorésistance est éclairée, plus la valeur de sa résistance diminue et
inversement.

Le montage
La photorésistance doit être connectée à une entrée analogique (A0) et nécessite
un diviseur de tension réalisé avec une résistance de 1 KΩ (marron / noir / rouge).

Une tension de 5V est introduite dans le circuit depuis l'Arduino. On relie le point
entre les deux résistances à une broche analogique de l'Arduino et on mesure la
tension par la fonction analogRead(A0). Tout changement de la tension mesurée est
dû à la photorésistance puisque c’est la seule qui change dans ce circuit, en fonction
de la lumière.

Les entrées analogiques


1/4
De nombreux capteurs fournissent un signal analogique (photorésistance, capteur
de température…)

Un signal analogique est un signal pouvant prendre une infinité de valeurs


contrairement à un signal numérique qui ne peut prendre que deux états binaires :
haut (HIGH) ou bas (LOW).

La carte Arduino Uno possède 6 entrées analogiques, A0, A1, .. , A5.

Une entrée analogique se comporte comme un voltmètre. La carte mesure la tension


entre le fil qui est connecté sur l’entrée analogique et la masse (broche GND).

Cette tension mesurée est une grandeur analogique, elle doit être convertie en
grandeur numérique pour pouvoir être exploitée par la carte Arduino.

Les cartes Arduino contiennent un convertisseur analogique-numérique (CAN) 10


bits. Il permet de convertir le signal analogique en un signal numérique.

2/4
Le convertisseur analogique / numérique 10 bit d'un Arduino convertira les tensions
d'entrée comprises entre 0 et la tension de fonctionnement 5V en valeurs entières
comprises entre 0 et 1023, soit (210 - 1 = 1023).

Exemple :

Sur un Arduino UNO, nous aurons une résolution de 5 volts / 1024 = 0,0049 volts
par unité. (voir tableau ci-contre)

Pour connaître la tension mesurée sur l'entrée analogique connaissant la valeur


retournée par le CAN, il faut utiliser la relation suivante :

tension = valeur retournée par le CAN x 5.0/1023

Pour une tension de… Résultats du CAN


0V 0
0,0049 V 1
0,0098 V 2
… …
5V 1023

Pour lire une entrée analogique, il faut utiliser la fonction analogRead().

La fonction analogRead()
Cette fonction permet de lire le résultat de la conversion analogique numérique de la
tension présente sur l’entrée analogique sélectionnée.
La donnée retournée étant comprise entre 0 et 1023, elle doit être de type int.

int valeur = analogRead(A0); // la variable valeur contient le


résultat de la conversion analogique / numérique de l’entrée A0

Pour mieux comprendre le fonctionnement d'une photorésistance et de la fonction


analogRead(), nous allons afficher dans le moniteur série les valeurs lue sur la broche
analogique A0.

void setup() {

Serial.begin(9600); // Initialise la communication avec


l'ordinateur

3/4
 

void loop() {

int valeur = analogRead(A0); // Mesure la tension sur la broche


A0

Serial.println(valeur); // Affiche la mesure sur l'ordinateur

delay(250);

La fonction analogRead(A0) a bien renvoyé via le convertisseur analogique /


numérique des valeurs dépendantes de la luminosité :

 plus la luminosité est forte, plus la valeur est proche de 1023, valeur
maximale ;
 plus la luminosité est faible, plus elle est proche de zéro.

A faire vous-même :

Compléter le montage et le code afin de répondre à l'objectif de départ, c'est à dire allumer


une DEL en l'absence (ou en faible lumière) et l'éteindre dans le cas contraire.

Attention, il faudra définir une valeur seuil à partir de laquelle la lampe doit s'allumer ou
s'éteindre.

4/4

Vous aimerez peut-être aussi