Les entrées/sorties GPIO sur ESP32

publication: 31 mars 2022 / mis à jour 31 mars 2022

Read this page in english

 


Appel à collaboration

Vous développez des montages, simples ou complexes avec ESP32 et ESP32forth.

Partagez-les ici sur ce site.

ESP32forth ne pourra se développer qu'avec la collaboration active de toutes les bonnes volontés.

Vos montages peuvent aider d'autres développeurs.

Les montages des autres développeurs peuvent vous aider.

Pour proposer un article ou un montage, cliquez ici


Introduction

Voici, en photo, la carte ESP32 à partir de laquelle nous allons expliquer le rôle des différentes entrées/sorties GPIO:

La position et le nombre des E/S GPIO peut changer en fonction des marques de cartes. Si c'est le cas, seules les indications figurant sur la carte physique font foi. Sur la photo, rangée du bas, de gauche à droite: CLK, SD0, SD1, G15, G2, G0, G4, G16.....G22, G23, GND.

Voici le schéma des E/S se rapprochant le plus de notre carte en photo:

Sur ce schéma, on voit que la rangée basse commence par 3V3 alors que sur la photo, cette E/S est à la fin de la rangée supérieure. Il est donc très important de ne pas se fier au schéma et de contrôler plutôt deux fois le bon branchement des périphériques et composants sur la carte ESP32 physique.

Attention à certaines E/S GPIO de la carte ESP32

Les cartes de développement basées sur un ESP32 possèdent en général 33 broches hormis celles pour l’alimentation. Certains pins GPIO ont des fonctionnements un peu particuliers:

GPIOpossible
names
6SCK/CLK
7SCK/CLK
8SDO/SD0
9SDI/SD1
10SHD/SD2
11CSC/CMD

Si votre carte ESP32 possède les E/S GPIO6, GPIO7, GPIO8, GPIO9, GPIO10, GPIO11, il ne faut surtout pas les utiliser car ils sont reliés à la mémoire flash de l’ESP32. Si vous les utilisez l’ESP32 ne fonctionnera pas.

Les E/S GPIO1(TX0) et GPIO3(RX0) sont utilisés pour communiquer avec l’ordinateur en UART via le port USB. Si vous les utilisez, vous ne pourrez plus communiquer avec la carte.

Les E/S GPIO36(VP), GPIO39(VN), GPIO34, GPIO35 peuvent être utilisés uniquement en entrée. Ils n’ont pas non plus de résistances pullup et pulldown internes intégrées.

La borne EN permet de controler l’état d’allumage de l’ESP32 via un fil extérieur. Il est relié au bouton EN de la carte. Lorsque l’ESP32 est allumé, il est à 3.3V. Si on relie ce pin à la masse, l’ESP32 est éteint. On peut l’utiliser lorsque l’ESP32 est dans un boiter et que l’on veut pouvoir l’allumer/l’eteindre avec un interrupteur.

Toutes les E/S GPIO de la carte ESP32

Récapitulatif des I/O possibles pour les pins de la carte ESP32:

GPIOEntréeSortieCommentaire
0OUI (Pullup interne)OUIDoit être à 0V pendant le FLASH
1 (TX0)NONOUICommunication UART avec le PC
2OUI (Pulldown interne)OUIDoit être à 0V pendant le FLASH
3 (RX0)OUINONCommunication UART avec le PC
4OUIOUI
5OUIOUI
6NONNONConnecté à la flash interne
7NONNONConnecté à la flash interne
8NONNONConnecté à la flash interne
9NONNONConnecté à la flash interne
10NONNONConnecté à la flash interne
11NONNONConnecté à la flash interne
12 (MTDI)OUI (Pulldown interne)OUIDoit être à 0V pendant le BOOT
13OUIOUI
14OUIOUI
15 (MTDO)OUI (Pullup interne)OUIStartup log si à 3.3V
16OUIOUIPas dispo sur les WROVER
17OUIOUIPas dispo sur les WROVER
18OUIOUI
19OUIOUI
21OUIOUI
22OUIOUI
23OUIOUI
25OUIOUI
26OUIOUI
27OUIOUI
32OUIOUI
33OUIOUI
34OUINONPas de pullup/pulldown interne
35OUINONPas de pullup/pulldown interne
36 (VP)OUINONPas de pullup/pulldown interne
39 (VN)OUINONPas de pullup/pulldown interne
ENNONNONRelié au bouton EN (ESP32 Reset)

Périphériques de l’ESP32

Pour interagir avec les modules, capteurs ou circuits électroniques, l’ESP32 comme tout micro-contrôleur possède une multitude de périphériques. Ils sont plus nombreux que sur une carte Arduino classique.

ESP32 dispose les périphériques suivants:

Certains périphériques sont déjà utilisés par ESP32 lors de son fonctionnement basique. Il y a donc moins d'interfaces possibles pour chaque périphérique.


Legal: site web personnel sans commerce / personal site without seling