tutoriel – NodeMCU ESP8266 : éteindre les dangereuses LEDs bleues

Les LEDs de nos objets connectés sont un danger pour les yeux

Introduction

Prenons conscience du danger que représentent les LEDs pour nos yeux, et notamment ces LEDs bleues très lumineuses dont il est fait usage sur la plateforme ESP8266 NodeMCU. Il est très facile d'éteindre par logiciel les LEDs  dont sont dotées les cartes ESP8266 par elles-mêmes, et un coup de cutter sur celles des boucliers est à notre portée, et sans impact sur leur fonctionnement.

Réserver l'usage des broches - pins - affectées aux LEDs

Pour ce qui concerne l'allocation des broches de votre carte de développement NodeMCU, je vous conseille de consulter le fichier

pins_arduino.h

sur votre ordinateur. Voici l'exemple sur ma machine Linux de l'arborescence  qui permet d'y accéder :

~/.arduino15/packages/esp8266/hardware/esp8266/2.6.3/variants/nodemcu/pins_arduino.h.

J'ai expliqué dans un précédent billet www.philoc.fr/tutoriel-installer-arduino-esp8266-nodemcu/ que j'utilisais deux types de cartes : les NodeMCU V2 de source Amica, et les NodeMCU V3 de Lolin. Sur les premières, deux broches sont attachées à des LEDs internes à la carte, à savoir D0 ( ou GPIO16 ou LED-BUILTIN ) et D4 (ou GPIO2 ). Sur les secondes, seule une LED est implantée, pilotable par D4 ( GPIO2).

Quans je conçois mon application, j'évite donc d'affecter  ces deux broches à des signaux externes, que ce soit en entrée ou en sortie.

Pour mieux vous familiariser au pilotage des LEDs

Voici un exemple de programme tout simple qui permet de jouer sur l'état des broches qui contrôlent les LEDs, et par exemple de les faire clignoter, ce qui devrait vous permettre d'en appréhender la nocivité.

/*
ledbleues
Platform NodeMCU Dev Boards V2 & V3
Purpose : blue leds are dangerous for your eyes
do not allocate D0 & D4 to duty signals & keep them HIGH

www.philoc.fr
2020-01-25
V0.1
*/

// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin D0 & D4 as outputs 
// D0 : LED_BUILTIN : GPIO/16 
// D4 : GPIO/2
pinMode(LED_BUILTIN, OUTPUT);
pinMode(D4, OUTPUT);
// Turn LEDs OFF ( safe state )
digitalWrite(LED_BUILTIN, HIGH); 
digitalWrite(D4, HIGH); 
}

// the loop function runs over and over again forever
void loop() {
delay(1000);
// Turn LEDs ON ( not recommended for your eyes )
//digitalWrite(LED_BUILTIN, LOW); 
//digitalWrite(D4, LOW); 
delay(1000);
// Turn LEDs OFF ( safe state )
digitalWrite(LED_BUILTIN, HIGH); 
digitalWrite(D4, HIGH); 
delay(10000);
}

Laisser un commentaire