Photorésistance
- Début
- Connexion avec un diviseur de tension
- Micro-soudure de la photorésistance
- Effectuer la lecture d'une entrée analogique
- Corrélation de la luminosité d'une DEL en de la lumière ambiante
Connexion avec un diviseur de tension
La photorésistance nécessite un circuit de diviseur de tension pour être connectée à l'Arduino. Connecter le OUT à une entrée analogique de l'Arduino.
Idendification (à gauche) et schéma (à droite) du circuit du diviseur de tension (le 5V et le GND peuvent être échangés et la photorésistance n'a pas de sens)
Information complémentaire sur les diviseurs de tension
- JIMBLOM. (s. d.). Voltage Dividers. Sparkfun. https://learn.sparkfun.com/tutorials/voltage-dividers
Micro-soudure de la photorésistance
Étapes pour effectuer la micro-soudure de deux câbles à une photorésistance
Effectuer la lecture d'une entrée analogique
Pour effectuer la mesure analogique de la tension électrique présente à une broche, on utilison la paire de fonctions suivantes :
- Configurer la broche
maBrocheAnalogique
en mode entrée avecINPUT
:
pinMode( maBrocheAnalogique , INPUT );
- Effectuer la lecture de la broche
maBrocheAnalogique
avecanalogRead()
:
int maLectureAnalogique = analogRead( maBrocheAnalogique );
La fonction analogRead()
mesure une tension entre 0V et 5V et retourne une valeur entre 0 et 1023 (4095 dans le cas de l'ESP32) proportionnelle.
Broches pouvant effectuer une entrée analogique
Broches pouvant effectuer une lecture analogique
Debogage d'une entrée analogique
Dans le code suivant, nous déboguons l'entrée analogique 1 :
int maBrocheEntreeAnalogique = 1;
int maValeurPrecedente; // VALEUR PRÉCÉDENTE DE L'ENTRÉE ANALOGIQUE
unsigned long monChronoDepart = 0; // DEPART DE MON CHRONOMÈTRE
void setup() { // AU DÉMARRAGE
Serial.begin(115200); // CONFIGURER LA COMMUNICATION SÉRIE
pinMode( maBrocheEntreeAnalogique , INPUT); // CONFIGURER LA BROCHE DE L'ENTRÉE ANALOGIQUE EN ENTRÉE
}
void loop() { // RÉPÉTER LE PLUS VITE POSSIBLE
unsigned long monChronoEcoule = millis() - monChronoDepart; // TEMPS ÉCOULÉ DE MON CHRONOMÈTRE
unsigned long monChronoIntervalle = 20; // INTERVALLE DE TEMPS EN MILLISECONDES
if ( monChronoEcoule >= monChronoIntervalle ) { // SI 20 MS SE SONT ECOULEES...
monChronoDepart = millis(); // ...REDÉMARRER LE CHRONOMÈTRE...
int maNouvelleValeur = analogRead( maBrocheEntreeAnalogique ); // LECTURE DE TENSION
if ( maNouvelleValeur != maValeurPrecedente ) { // SI LA NOUVELLE VALEUR EST DIFFERENTE DE LA PRÉCÉDENTE
Serial.print( "Valeur analogique : " ); // ENVOYER UNE EN-TÊTE DE MESSAGE
Serial.print( maNouvelleValeur ); // ENVOYER LA VALEUR
Serial.println(); // TERMINER LE MESSAGE
}
maValeurPrecedente = maNouvelleValeur; // METTRE EN MÉMOIRE LA NOUVELLE VALEUR
}
}

Résultat du débogage analogique dans le moniteur série
Corrélation de la luminosité d'une DEL en de la lumière ambiante
- F-LEB. (s. d.) Cours pour débuter sur Arduino - XVII-D. Code 17 : variation de la luminosité d'une LED en fonction de la lumière ambiante. Développez. https://arduino.developpez.com/tutoriels/arduino-a-l-ecole/?page=projet-9-les-inputs-analogiques#LXVII-D