Dans ce guide de démarrage, vous apprendrez à lire les entrées numériques comme un interrupteur à bouton et à contrôler les sorties numériques comme une LED à l’aide de la carte ESP8266 NodeMCU avec Arduino IDE.

Conditions préalables
Nous allons programmer l’ESP8266 à l’aide de l’IDE Arduino. Assurez-vous donc que le module complémentaire des cartes ESP8266 est installé avant de continuer :
Sorties numériques de contrôle ESP8266 NodeMCU
Vous devez d’abord définir le GPIO que vous souhaitez contrôler en tant que SORTIR. Utilisez le PinMode() fonctionnent comme suit :
pinMode(GPIO, OUTPUT);
Pour contrôler une sortie numérique, il vous suffit d’utiliser le digitalWrite() fonction, qui accepte comme arguments, le GPIO (numéro int) auquel vous faites référence, et l’état, soit HAUT ou MEUGLER.
digitalWrite(GPIO, STATE);
Consultez le guide de référence ESP8266 GPIO pour savoir quels GPIO sont les plus appropriés à utiliser comme sorties.
ESP8266 NodeMCU lire les entrées numériques
Tout d’abord, définissez le GPIO que vous souhaitez lire comme SAISIRen utilisant le PinMode() fonctionnent comme suit :
pinMode(GPIO, INPUT);
Pour lire une entrée numérique, comme un bouton, vous utilisez le lecturenumérique() fonction, qui accepte comme argument, le GPIO (numéro int) auquel vous faites référence.
digitalRead(GPIO);
Consultez le guide de référence ESP8266 GPIO pour savoir quels GPIO sont les plus appropriés à utiliser comme entrées.
Exemple de projet
Pour vous montrer comment utiliser les entrées et les sorties numériques, nous allons créer un exemple de projet simple avec un bouton-poussoir et une LED. Nous allons lire l’état du bouton-poussoir et allumer la LED en conséquence, comme illustré dans la figure suivante.

Diagramme schématique
Avant de procéder, vous devez assembler un circuit avec une LED et un bouton-poussoir. Nous connecterons la LED à GPIO 5 (D1) et le bouton poussoir pour GPIO 4 (D2).
Pièces requises
Voici une liste des pièces dont vous avez besoin pour construire le circuit :
Vous pouvez utiliser les liens précédents ou accéder directement à MakerAdvisor.com/tools pour trouver toutes les pièces pour vos projets au meilleur prix !

Code
Copiez le code suivant dans votre IDE Arduino.
// Complete Instructions: https://Raspberryme.com/esp8266-nodemcu-digital-inputs-outputs-arduino/
// set pin numbers
const int buttonPin = 4; // the number of the pushbutton pin
const int ledPin = 5; // the number of the LED pin
// variable for storing the pushbutton status
int buttonState = 0;
void setup() {
// initialize the pushbutton pin as an input
pinMode(buttonPin, INPUT);
// initialize the LED pin as an output
pinMode(ledPin, OUTPUT);
}
void loop() {
// read the state of the pushbutton value
buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH
if (buttonState == HIGH) {
// turn LED on
digitalWrite(ledPin, HIGH);
} else {
// turn LED off
digitalWrite(ledPin, LOW);
}
}
Comment fonctionne le code
Dans les deux lignes suivantes, vous créez des variables pour attribuer des broches :
const int buttonPin = 4;
const int ledPin = 5;
Le bouton est connecté à GPIO 4 et la LED est connectée à GPIO 5. Lors de l’utilisation de l’IDE Arduino avec l’ESP8266, 4 correspond à GPIO 4 et 5 correspond à GPIO 5.
Ensuite, vous créez une variable pour contenir l’état du bouton. Par défaut, c’est 0 (non pressé).
int buttonState = 0;
Dans le mettre en place()vous initialisez le bouton en tant que SAISIRet la LED en tant que SORTIR. Pour cela, vous utilisez le PinMode() fonction qui accepte la broche à laquelle vous faites référence et le mode : SAISIR ou SORTIR.
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
Dans le boucler() est l’endroit où vous lisez l’état du bouton et réglez la LED en conséquence.
Dans la ligne suivante, vous lisez l’état du bouton et l’enregistrez dans le état du bouton variable. Comme nous l’avons vu précédemment, vous utilisez le lecturenumérique() une fonction.
buttonState = digitalRead(buttonPin);
L’instruction if suivante vérifie si l’état du bouton est HAUT. Si c’est le cas, il allume la LED à l’aide du digitalWrite() fonction qui accepte comme argument LEDPinet l’état HAUT.
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH);
}
Si l’état du bouton n’est pas HAUT, vous éteignez la LED. Juste réglé MEUGLER comme deuxième argument dans le digitalWrite() une fonction.
else {
digitalWrite(ledPin, LOW);
}
Télécharger le code
Avant de cliquer sur le bouton de téléchargement, accédez à Outils > Conseil, et sélectionnez la carte que vous utilisez. Dans mon cas, c’est le NodeMCU 1.0 (module ESP-12 E). Si vous ne connaissez pas votre modèle ESP8266, vous pouvez sélectionner « Generic ESP8266 Module ».
Aller à Outils > Port et sélectionnez le port COM auquel l’ESP8266 est connecté. Ensuite, appuyez sur le bouton de téléchargement et attendez le « Téléchargement terminé » message.
Manifestation
Après avoir téléchargé le code, testez votre circuit. Votre LED doit s’allumer lorsque vous appuyez sur le bouton poussoir :

Et éteignez-le lorsque vous le relâchez :

Conclusion
Avec ce guide de démarrage, vous avez appris à lire les entrées numériques et à contrôler les sorties numériques avec l’ESP8266 à l’aide de l’IDE Arduino.
Si vous souhaitez apprendre à lire les entrées analogiques ou à émettre des signaux PWM, lisez les guides suivants :
Vous pouvez également trouver utile de consulter la référence GPIO ESP8266 qui montre comment utiliser les GPIO ESP8266 et ses fonctions.
Enfin, si vous souhaitez en savoir plus sur l’ESP8266, jetez un œil à nos ressources :
-
AZDelivery 3 x D1 Mini NodeMCU Lua avec ESP8266-12F Module WLAN CH340G Compatible avec Arduino incluant Un E-Book!
-
AZDelivery D1 Mini NodeMCU Lua avec ESP8266-12F Module WLAN CH340G Compatible avec Arduino incluant Un E-Book!

