Entrées et sorties numériques ESP32 (IDE Arduino)

Entrées et sorties numériques ESP32 (IDE Arduino)

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 l’ESP32 avec Arduino IDE.

Entrées de lecture ESP32 Sorties de contrôle Arduino IDE

Conditions préalables

Nous allons programmer l’ESP32 à l’aide de l’IDE Arduino. Assurez-vous donc que le module complémentaire des cartes ESP32 est installé avant de continuer :

Sorties numériques de contrôle ESP32

Tout d’abord, vous devez 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);

Tous les GPIO peuvent être utilisés comme sorties sauf les GPIO 6 à 11 (connectés au flash SPI intégré) et les GPIO 34, 35, 36 et 39 (entrée uniquement GPIO) ;

En savoir plus sur les GPIO ESP32 : Guide de référence ESP32 GPIO

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

Tous les GPIO ESP32 peuvent être utilisés comme entrées, à l’exception des GPIO 6 à 11 (connectés au flash SPI intégré).

En savoir plus sur les GPIO ESP32 : Guide de référence ESP32 GPIO

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 ESP32 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 et le bouton poussoir pour GPIO 4.

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 !

1644377764 30 Entrees et sorties numeriques ESP32 IDE Arduino

Bouton-poussoir LED du circuit schématique des entrées numériques et des sorties numériques ESP32

Code

Copiez le code suivant dans votre IDE Arduino.

// Complete Instructions: https://Raspberryme.com/esp32-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() {
  Serial.begin(115200);  
  // 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);
  Serial.println(buttonState);
  // 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’ESP32, 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 Carte DOIT ESP32 DEVKIT V1.

Aller à Outils > Port et sélectionnez le port COM auquel l’ESP32 est connecté. Ensuite, appuyez sur le bouton de téléchargement et attendez le « Téléchargement terminé » message.

Terminé le téléchargement du bouton Arduino IDE

Si vous voyez beaucoup de points (…__…__) sur la fenêtre de débogage et le message « Échec de la connexion à ESP32 : Expiration du délai d’attente de l’en-tête de paquet », cela signifie que vous devez appuyer sur le bouton BOOT embarqué ESP32 après le des points commencent à apparaître.

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 ESP32 enfoncé LED sur l'IDE Arduino

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

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

Emballer

Avec ce guide de démarrage, vous avez appris à lire les entrées numériques et à contrôler les sorties numériques avec l’ESP32 à 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 ESP32 qui montre comment utiliser les GPIO ESP32 et ses fonctions.

Enfin, si vous souhaitez en savoir plus sur l’ESP32, jetez un œil à nos ressources :