Photorésistance
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.
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
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
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
}
}
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