ESP32 est une carte microcontrôleur ayant plusieurs broches de sortie d'entrée. ESP32 comme Arduino peut lire et contrôler les entrées numériques et les sorties numériques. Ici, ici dans cet article, nous couvrirons comment contrôler la sortie ESP32 et comment lire les entrées numériques des périphériques externes.
Comment installer ESP32 dans Arduino IDE
Avant de passer plus loin sur notre sujet principal, je voudrais vous rappeler d'installer le Arduino ide Dans PC et si la carte ESP32 n'est pas installée dans Arduino IDE, voici le guide sur la façon d'installer ESP32 dans Arduino IDE.
Broches de sortie d'entrée numérique dans ESP32
Les planches ESP32 sont livrées avec un total de 48 Des broches qui remplissent différentes fonctions, toutes les broches ne sont pas physiquement exposées sur les cartes ESP32. Certaines broches ne sont pas disponibles pour une utilisation.
ESP32 est disponible en deux variantes, l'une est livrée avec 36 broches et la seconde avec 30 broches. La différence de six broches ici est due à des broches SPI qui sont intégrées pour la communication SPI et ne peuvent pas être utilisées à d'autres fins.
L'image ci-dessous est une carte ESP32 à 30 broches. La plupart de ces broches sont similaires à d'autres versions telles que la carte ESP32 à 36 broches. Cependant, la version à 36 broches d'ESP32 a 6 broches intégrées SPI spéciales qui ne sont pas recommandées pour les utiliser comme GPIO.
Le tableau suivant illustre l'état de sortie d'entrée des broches de la carte ESP32:
Broche | SAISIR | SORTIR | Description |
Gpio 0 | Tiré vers le haut | D'ACCORD | Sortie PWM au démarrage |
Gpio 1 | Broche | D'ACCORD | Débogage de sortie au démarrage |
GPIO 2 | D'ACCORD | D'ACCORD | À bord conduit |
GPIO 3 | D'ACCORD | Broche | Haut au démarrage |
GPIO 4 | D'ACCORD | D'ACCORD | - |
GPIO 5 | D'ACCORD | D'ACCORD | Sortie PWM au démarrage |
GPIO 6 | - | - | Pin flash SPI |
GPIO 7 | - | - | Pin flash SPI |
GPIO 8 | - | - | Pin flash SPI |
GPIO 9 | - | - | Pin flash SPI |
GPIO 10 | - | - | Pin flash SPI |
GPIO 11 | - | - | Pin flash SPI |
GPIO 12 | D'ACCORD | D'ACCORD | Boot Fail à haut tracteur |
GPIO 13 | D'ACCORD | D'ACCORD | - |
GPIO 14 | D'ACCORD | D'ACCORD | Sortie PWM au démarrage |
GPIO 15 | D'ACCORD | D'ACCORD | Sortie PWM au démarrage |
GPIO 16 | D'ACCORD | D'ACCORD | - |
GPIO 17 | D'ACCORD | D'ACCORD | - |
GPIO 18 | D'ACCORD | D'ACCORD | - |
GPIO 19 | D'ACCORD | D'ACCORD | - |
GPIO 21 | D'ACCORD | D'ACCORD | - |
GPIO 22 | D'ACCORD | D'ACCORD | - |
GPIO 23 | D'ACCORD | D'ACCORD | - |
GPIO 25 | D'ACCORD | D'ACCORD | - |
GPIO 26 | D'ACCORD | D'ACCORD | - |
GPIO 27 | D'ACCORD | D'ACCORD | - |
GPIO 32 | D'ACCORD | D'ACCORD | - |
GPIO 33 | D'ACCORD | D'ACCORD | - |
GPIO 34 | D'ACCORD | Entrée uniquement | |
GPIO 35 | D'ACCORD | Entrée uniquement | |
GPIO 36 | D'ACCORD | Entrée uniquement | |
GPIO 39 | D'ACCORD | Entrée uniquement |
Ici D'ACCORD signifie la broche correspondante peut être utilisée comme entrée ou sortie. Toutes les broches GPIO de ESP32 peuvent être utilisées comme entrée et sortie. Seules les broches SPI 6 à 11 ne peuvent pas être utilisées comme entrée ou sortie. Les broches GPIO 34, 35, 36 et 39 sont entrées uniquement.
Comment contrôler les sorties numériques à l'aide d'épingles numériques dans ESP32
Comme nous programmons ESP32 dans Arduino IDE, nous utiliserons les mêmes fonctions pour déclarer une broche que la sortie que nous l'avons fait dans la carte Arduino.
Pour configurer toute broche numérique, nous devons le déclarer comme sortie en utilisant pinMode () fonction.
La syntaxe suivante sera suivie:
pinmode (gpio, sortie);
Ici, en utilisant la fonction ci-dessus, nous avons déclaré une broche GPIO comme sortie maintenant pour contrôler la sortie numérique que nous utiliserons DigitalWrite () fonction.
DigitalWrite (GPIO, État);
Cette fonction prend deux arguments, l'un est le numéro de broche GPIO et le second est l'état de cette broche qui doit être définie. L'état peut être faible ou élevé.
Comme expliqué précédemment, nous pouvons utiliser toutes les broches d'ESP32 comme sortie sauf GPIO 6 à 11 (SPI Flash) et GPIO 34, 35, 36 et 39 (Entrée uniquement).
Comment lire les entrées numériques dans ESP32
La lecture d'une entrée à partir des broches numériques est similaire au contrôle d'une sortie d'une broche. Nous devons d'abord déclarer une broche comme entrée en utilisant le pinMode () fonction. Voici la syntaxe définissant une broche comme entrée:
pinmode (gpio, entrée);
Une fois la broche définie en entrée, l'étape suivante consiste à définir le DigitalRead () fonction pour obtenir des données de cette broche. C'est ainsi que vous pouvez définir une broche comme une entrée numérique.
DigitalRead (GPIO);
Toutes les broches GPIO peuvent être utilisées comme entrée à l'exception des broches Flash SPI de 6 à 11.
Note: Les broches SPI Flash 6 à 11 sont manquantes dans la version à 30 broches de la carte ESP32.
Comment contrôler LED à l'aide de la lecture et de l'écriture numériques ESP32
Maintenant, pour effacer le concept de lecture et d'écriture numériques dans ESP32, nous prendrons un exemple de LED. Pour contrôler la LED, nous utiliserons un bouton-poussoir.
ESP32 lira numériquement les données du bouton-poussoir et contrôlera une LED à l'aide de la commande Digital Write.
Matériel requis
Voici la liste des composants requis:
Schématique
L'image suivante illustre la connexion de ESP32 avec LED et bouton-poussoir. La LED est connectée à GPIO 14 et la sortie du bouton-poussoir est connectée à la broche GPIO 15.
Code pour contrôler les entrées / sorties numériques ESP32
Ouvrez Arduino IDE et sélectionnez la carte ESP32 et le port com, téléchargez maintenant le code donné.
const int push_button = 15; / * GPIO broche 15 pour le bouton-poussoir * /
const int int led_pin = 14; / * GPIO PIN 14 pour LED * /
int Button_State = 0;
void setup()
En série.commencer (115200);
pinMode (push_button, entrée); / * Définissez la broche du bouton-poussoir comme entrée numérique * /
pinMode (LED_PIN, sortie); / * Définir la LED en sortie numérique * /
VOID LOOP ()
Button_State = DigitalRead (push_button); / * Fonction pour vérifier l'état du bouton-poussoir * /
En série.println (Button_State);
if (Button_State == High) / * Vérifier l'état du bouton de poussée en utilisant si la condition * /
DigitalWrite (LED_PIN, HIGH); / * Si l'état est un led à unis élevé * /
autre
DigitalWrite (LED_PIN, LOW); / * Else LED reste éteint * /
Ici, dans le code ci-dessus, nous avons commencé par initialiser la broche GPIO pour LED et Push Button. Ensuite, nous avons déclaré la LED en tant que sortie et bouton-poussoir comme entrée pour lire les données.
Pour stocker des données de lecture à partir du bouton-poussoir, une variable est définie et nous avons enfin imprimé le résultat sur le moniteur en série.
Sortir
Sur le matériel, nous pouvons voir que la LED est désactivée.
Maintenant, en appuyant sur la carte Pushbutton ESP32, prendra les entrées du bouton-poussoir et définira l'état de sortie de la LED à. Maintenant, la LED va s'allumer.
Nous pouvons également voir les données numériques lues à partir du bouton-poussoir sur le moniteur en série de l'IDE.
Conclusion
Les cartes ESP32 ont plusieurs broches numériques pour les entrées et les sorties. Ici, dans cet article, nous avons discuté de ces épingles et contrôlé une LED à l'aide du bouton PUSH. Nous avons également mentionné qu'il existe certaines broches qui ne peuvent être utilisées que comme entrée, tandis que certaines broches comme SPI Flash de 6 à 11 (36 version ESP32 Board) ne peuvent être utilisées ni entrée ou sortie.