La LED blanche est liée à la broche GPIO 4. Elle semble avoir été mise en place pour éclairer le sujet que vous photographiez ou filmez, si la lumière ambiante est insuffisante. Si vous désirez plutôt l'utiliser comme LED indicatrice, il sera très pertinent de réduire son intensité en l'alimentant par un signal PWM. Puisque la broche GPIO 4 est également liée au lecteur de carte microSD, la LED blanche s'allume inutilement chaque fois que des données sont enregistrées sur la carte, au grand désespoir de plusieurs utilisateurs.
La LED rouge est branchée à la broche GPIO 33. Elle est allumée quand la broche GPIO 33 est au niveau logique bas, et éteinte quand elle est au niveau logique haut.
Voici, en guise de démonstration , un court sketch qui fait clignoter par alternance les deux LEDs de l'ESP32-CAM. Remarquez que pour allumer la LED blanche avec une intensité pas trop irritante, j'ai réglé le rapport cyclique du signal PWM a un niveau incroyablement faible.
-
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* On fait clignoter les LEDs intégrées à l'ESP32_CAM | |
* (modèle "AI Thinker") | |
* | |
* Plus d'infos: | |
* https://electroniqueamateur.blogspot.com/2020/02/les-leds-de-lesp32-cam.html | |
* | |
*/ | |
#define LEDrouge 33 // LED rouge: GPIO 33 | |
#define LEDblanche 4 // LED blanche: GPIO 4 | |
#define canalPWM 7 // un canal PWM disponible | |
void setup() { | |
pinMode(LEDrouge, OUTPUT); // GPIO 33 réglée en sortie | |
ledcAttachPin(LEDblanche, 7); // Signal PWM broche 4, canal 7. | |
ledcSetup(canalPWM, 5000, 12); // canal = 7, frequence = 5000 Hz, resolution = 12 bits | |
} | |
void loop() { | |
digitalWrite(LEDrouge, LOW); // LED rouge allumée | |
ledcWrite(canalPWM, 0); // LED blanche éteinte (rapport cyclique 0%) | |
delay(1000); | |
digitalWrite(LEDrouge, HIGH); // LED rouge éteinte | |
ledcWrite(canalPWM, 2); // LED blanche allumée (rapport cyclique 0,1%!) | |
delay(1000); | |
} |
À lire également:
Première utilisation de l'ESP32-CAM avec l'IDE Arduino , un web server minimaliste , enregistrer des photos sur la carte microSD, time-lapse avec l'ESP32-CAM, mouvement panoramique (ESP32-CAM et servomoteur).
Yves Pelletier (Twitter, Facebook)
Bonjour,
RépondreSupprimerMerci pour votre partage et pour sa clarté.
Est-il possible de remplacer la led flash par une led IR (non rouge) de quelle puissance maximum ?
Merci.