Entrées numériques et sorties numériques ESP8266 NodeMCU (Arduino IDE)

Entrées numériques et sorties numériques ESP8266 NodeMCU (Arduino IDE)

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.

ESP8266 NodeMCU Lecture Entrées Contrôle Sorties 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.

Bouton ESP8266 NodeMCU enfoncé ou non pour allumer et éteindre la LED

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 !

1643289844 48 Entrees numeriques et sorties numeriques ESP8266 NodeMCU Arduino IDE

ESP8266 NodeMCU Entrée numérique et Circuit schématique de sortie numérique LED Bouton-poussoir

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);
  }
}

Afficher le code brut

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 :

Bouton de sortie d'entrée ESP8266 NodeMCU enfoncé LED sur l'IDE Arduino

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

Bouton de sortie d'entrée ESP8266 NodeMCU non enfoncé IDE Arduino

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 D1 Mini NodeMCU Lua avec ESP8266-12F Module WLAN CH340G Compatible avec Arduino incluant Un E-Book!
    ✅ La carte AZ-Delivery D1 mini est une carte WiFi Mini-NodeMcu Lua basée sur un ESP-8266-12F et un connecteur micro USB. ✅ Cette carte WLAN contient 11 broches d'entrée/sortie numériques, toutes les broches ont une interruption / pwm / I2C / 1 fil. ✅ Grâce à sa conception ultra-compacte, le Mini NodeMcu AZ-Delivery D1 avec le module WLAN ESP8266-12F peut être facilement stocké à distance. ✅ La carte de développement sans fil D1 Mini AZ-Delivery est 100% compatible avec IDE et peut être programmée dans Arduino-IDE. ✅ Ce produit inclut un E-Book qui fournit des informations utiles sur la façon de commencer votre projet. Il permet une installation rapide et fait gagner du temps sur le processus de configuration. On y trouve une série d'exemples d'applications, des guides d'installation complets et des bibliothèques.
  • D1 ESP8266 Mini Carte de développement XTVTX 5PCS D1 ESP8266 Mini Node-Mcu Module WiFi avec Puce ESP8266 Module ESP-12 4 Mo pour Arduino pour
    Il s'agit du mini D1, il s'agit d'une mini carte WiFi Lua basée sur ESP8266EX. Cette carte contient 11 broches d'entrée / sortie numériques, toutes les broches ont une interruption / pwm / I2C / 1 fil et une connexion micro USB. Ce module a une taille plus petite. Il est plus compact et économise de l'espace pour votre projet. Cette carte est 100% compatible avec Arduino et WeMos et peut être programmée dans l'IDE Arduino. 11 broches d'entrée/sortie numériques, toutes les broches avec interruption/PWM/I2C/support 1 ligne (sauf D0); 1 entrée analogique (3,2 V max d'entrée). Connexion micro-USB ; Compatible avec Arduino ; Flash 1 Mo ; Fusible réarmable 500mA.
  • Carte de Développement WiFi avec ESP8266 ESP-12F D1 Mini Internet WLAN Module avec Micro USB Compatible avec Arduino IDE 2,4 GHz 3 Pièces
    Compatibilité: la carte de développement ESP - 8266 prend en charge tous les ports d'E / s et sans fil 802.11. Connexion Micro USB. Caractéristiques: il dispose de 11 entrées numériques, broches de sortie et 1 broche analogique. Toutes les broches, à l'exception du d0, prennent en charge les fonctions break, PWM, I2C et single line. Compact: Cette carte de développement est de petite taille. Petit et compact, économisez de l'espace pour vos projets. Paramètres du produit: 5V embarqué, alimentation à découpage 1a, mémoire flash 4mb, firmware arduino compatible à 100%. Garantie de service: Si vous avez des questions sur les produits, n'hésitez pas à nous contacter, Nous échangerons ou retournerons les produits pour vous.