Capteur de lumière - partie 2
Objectif
On souhaite écrire un programme faisant la lecture de l'entrée analogique A0 et affichant la valeur de la résistance de la photorésistance.
Syntaxe : Environnement de programmation
Méthode : Travail à réaliser
Lancer le logiciel Arduino
Copier/coller le programme ci-dessous
Le compiler pour vérifier l'absence d'erreur
Connecter le microcontrôleur à l'ordinateur et sélectionner le port COM dans le menu /Outils
Téléverser le programme au microcontrôleur
Ouvrir le moniteur série et vérifier la cohérence du fonctionnement du programme.
const int sensorPin = A0;
int sensorValue = 0;
float U_r, r, R;
void setup() {
r = 1000.0;
Serial.begin(9600);
}
void loop() {
sensorValue = analogRead(sensorPin);
U_r = sensorValue*5.0/1023;
R = r*(5.0/U_r - 1);
Serial.println(R);
}
Remarque : Conversion analogique numérique
Le potentiel électrique, en volt, qui peut prendre des valeurs entre \(0\) et \(5\;V\) et dont on fait l'acquisition sur l'entrée analogique A0 est converti en un nombre \(N\) sur 10 bits.
Autrement dit, la variable sensorValue
prend des valeurs entières comprises entre \(0\) et \(2^{10}-1=1023\).

Les valeurs des tensions analogiques évoluent entre 0 et 5 V. Le CAN est sur 10 bits. Donc les valeurs numériques stockées sont entre 0 et 2^10 - 1 = 1023.
Dans le programme Arduino, on peut retrouver la valeur du potentiel électrique en volt en faisant l'opération inverse :
\(U_r=sensorValue\times\frac{5.0}{1023}\)
c'est-à-dire : U_r = sensorValue*5.0/1023;