Chargement de la figure…
La carte ESP32 d'Espressif elle-même : deux cœurs, Wi-Fi et Bluetooth, logique 3,3 V.
Chaque leçon fait tourner votre propre code sur la carte. Réussissez ses vérifications pour la valider.
Montez la carte dans le bon ordre, puis mettez-la sous tension et vérifiez-la, comme sur l'établi.
0 étapes sur 9Démontez la carte jusqu'au circuit imprimé. Tous les composants de la DevKitC sont des CMS, sauf les deux connecteurs de 19 broches.
Chaque panne se produit vraiment dans la simulation. Déclenchez-en une, regardez la figure, puis lisez pourquoi.
Une carte d'Espressif faite pour la platine d'essai. Le module ESP32-WROOM-32E, en haut, contient une puce Xtensa LX6 double cœur jusqu'à 240 MHz, 4 MB de flash et un quartz de 40 MHz sous un blindage métallique, avec une antenne imprimée qui dépasse du bord de 6 mm pour qu'aucun cuivre ne se trouve dessous. En dessous se trouvent une prise micro-USB, un pont USB-série CP2102N, un régulateur 3,3 V AMS1117, une LED d'alimentation rouge et deux boutons : EN réinitialise la puce, Boot maintient GPIO0 à l'état bas. Il n'y a pas de LED utilisateur : les leçons en câblent donc une sur GPIO23. Toutes les broches d'E/S sont en 3,3 V et aucune ne tolère le 5 V.
| Connecteur | Broche | Nom | Fonctions | Niveau | Courant max | Remarques |
|---|---|---|---|---|---|---|
| J2 | 1 | 3V3 | 3.3 V supply | 3,3 V | – | Sortie du régulateur. Tirez-y un peu de courant pour des capteurs, ou injectez 3,0 à 3,6 V quand rien d'autre n'alimente la carte. |
| J2 | 2 | EN | CHIP_PU, reset | 3,3 V | – | CHIP_PU. Tirée à l'état haut par 10 kΩ avec un condensateur de retard de 100 nF ; la mettre à l'état bas (ou appuyer sur EN) maintient la puce en reset. |
| J2 | 3 | VP | GPIO36, ADC1_CH0, SENSOR_VP, Entrée seulement | 3,3 V | – | GPIO36, entrée seulement : pas d'étage de sortie ni de pull-up ou pull-down interne. ADC1 : elle lit des valeurs analogiques même quand le Wi-Fi tourne. |
| J2 | 4 | VN | GPIO39, ADC1_CH3, SENSOR_VN, Entrée seulement | 3,3 V | – | GPIO39, entrée seulement, sans pulls internes. Canal 3 de l'ADC1. |
| J2 | 5 | 34 | GPIO34, ADC1_CH6, VDET_1, Entrée seulement | 3,3 V | – | Entrée seulement, sans pulls internes : ajoutez votre propre résistance pour un bouton. ADC1, le choix sûr pour un potentiomètre ou un capteur quand le Wi-Fi est actif. |
| J2 | 6 | 35 | GPIO35, ADC1_CH7, VDET_2, Entrée seulement | 3,3 V | – | Entrée seulement, sans pulls internes : ajoutez votre propre résistance pour un bouton. ADC1, le choix sûr pour un potentiomètre ou un capteur quand le Wi-Fi est actif. |
| J2 | 7 | 32 | GPIO32, ADC1_CH4, TOUCH9, XTAL_32K_P | 3,3 V | 40 mA | ADC1 et un canal tactile ; elle peut aussi recevoir un quartz horloger de 32 kHz. Une bonne broche à tout faire. |
| J2 | 8 | 33 | GPIO33, ADC1_CH5, TOUCH8, XTAL_32K_N | 3,3 V | 40 mA | ADC1 et un canal tactile ; elle peut aussi recevoir un quartz horloger de 32 kHz. Une bonne broche à tout faire. |
| J2 | 9 | 25 | GPIO25, ADC2_CH8, DAC_1 | 3,3 V | 40 mA | L'une des deux sorties CNA 8 bits (dacWrite donne de 0 à environ 3,3 V). Aussi ADC2, qui cesse de fonctionner quand le Wi-Fi est actif. |
| J2 | 10 | 26 | GPIO26, ADC2_CH9, DAC_2 | 3,3 V | 40 mA | L'une des deux sorties CNA 8 bits (dacWrite donne de 0 à environ 3,3 V). Aussi ADC2, qui cesse de fonctionner quand le Wi-Fi est actif. |
| J2 | 11 | 27 | GPIO27, ADC2_CH7, TOUCH7 | 3,3 V | 40 mA | ADC2 et un canal tactile. analogRead() échoue ici dès que le Wi-Fi tourne ; utilisez alors une broche ADC1 (32 à 39) pour les entrées analogiques. |
| J2 | 12 | 14 | GPIO14, ADC2_CH6, TOUCH6, MTMS | 3,3 V | 40 mA | TMS du JTAG. Elle sort un bref signal au démarrage (selon des sources secondaires) : évitez-la pour ce qui doit rester éteint à la mise sous tension. |
| J2 | 13 | 12 | GPIO12, ADC2_CH5, TOUCH5, MTDI, Broche de strapping | 3,3 V | 40 mA | Broche de strapping MTDI : elle doit être à LOW au reset. Tirée à l'état haut, elle règle l'alimentation de la flash sur 1,8 V et la carte redémarre en boucle avec « flash read err, 1000 ». Gardez les pull-ups et les capteurs qui reposent à l'état haut loin de cette broche. |
| J2 | 14 | GND | ground | – | – | |
| J2 | 15 | 13 | GPIO13, ADC2_CH4, TOUCH4, MTCK | 3,3 V | 40 mA | ADC2 et un canal tactile. analogRead() échoue ici dès que le Wi-Fi tourne ; utilisez alors une broche ADC1 (32 à 39) pour les entrées analogiques. |
| J2 | 16 | D2 | flash SD2 (GPIO9) on the older WROOM-32 | – | – | Sur l'ancien WROOM-32, c'étaient les lignes de la flash SPI (GPIO6 à GPIO11). Le WROOM-32E les laisse non connectées dans le module. Ne les utilisez jamais ; dans le code, toucher GPIO6 à GPIO11 fait planter la puce. |
| J2 | 17 | D3 | flash SD3 (GPIO10) on the older WROOM-32 | – | – | Sur l'ancien WROOM-32, c'étaient les lignes de la flash SPI (GPIO6 à GPIO11). Le WROOM-32E les laisse non connectées dans le module. Ne les utilisez jamais ; dans le code, toucher GPIO6 à GPIO11 fait planter la puce. |
| J2 | 18 | CMD | flash CMD (GPIO11) on the older WROOM-32 | – | – | Sur l'ancien WROOM-32, c'étaient les lignes de la flash SPI (GPIO6 à GPIO11). Le WROOM-32E les laisse non connectées dans le module. Ne les utilisez jamais ; dans le code, toucher GPIO6 à GPIO11 fait planter la puce. |
| J2 | 19 | 5V | 5 V supply (EXT_5V) | 5 V | – | Le rail 5V : le 5 V de l'USB après la diode Schottky, ou une entrée 5 V. Pas de protection contre l'inversion de polarité ni de fusible sur cette broche. |
| J3 | 1 | GND | ground | – | – | |
| J3 | 2 | 23 | GPIO23, VSPI MOSI | 3,3 V | 40 mA | MOSI du VSPI et une simple sortie qui n'est pas une broche de strapping : c'est la broche sûre pour la LED des leçons. |
| J3 | 3 | 22 | GPIO22, I2C SCL | 3,3 V | 40 mA | SCL I²C par défaut d'Arduino (et GPIO21 est SDA). Ajoutez des pull-ups de 4,7 kΩ vers le 3V3 si le module n'en a pas. |
| J3 | 4 | TX | GPIO1, U0TXD | 3,3 V | 40 mA | UART0, câblé au pont USB par une liaison de 0 Ω. Le journal de démarrage et Serial s'affichent ici à 115200 bauds ; laissez TX et RX libres si vous voulez les téléversements et le moniteur série. |
| J3 | 5 | RX | GPIO3, U0RXD | 3,3 V | 40 mA | UART0, câblé au pont USB par une liaison de 0 Ω. Le journal de démarrage et Serial s'affichent ici à 115200 bauds ; laissez TX et RX libres si vous voulez les téléversements et le moniteur série. |
| J3 | 6 | 21 | GPIO21, I2C SDA | 3,3 V | 40 mA | SCL I²C par défaut d'Arduino (et GPIO21 est SDA). Ajoutez des pull-ups de 4,7 kΩ vers le 3V3 si le module n'en a pas. |
| J3 | 7 | GND | ground | – | – | |
| J3 | 8 | 19 | GPIO19, VSPI MISO | 3,3 V | 40 mA | |
| J3 | 9 | 18 | GPIO18, VSPI SCK | 3,3 V | 40 mA | |
| J3 | 10 | 5 | GPIO5, VSPI SS, Broche de strapping | 3,3 V | 40 mA | Broche de strapping (timing SDIO), tirée à l'état haut en interne ; elle sort un bref signal au démarrage. Convient comme chip-select SPI. |
| J3 | 11 | 17 | GPIO17, U2TXD | 3,3 V | 20 mA | TX de l'UART2 (GPIO16 est RX). Ces deux pastilles sont sur le domaine d'alimentation de la flash et fournissent environ 20 mA, pas 40. Sur les cartes WROVER, elles appartiennent à la PSRAM. |
| J3 | 12 | 16 | GPIO16, U2RXD | 3,3 V | 20 mA | TX de l'UART2 (GPIO16 est RX). Ces deux pastilles sont sur le domaine d'alimentation de la flash et fournissent environ 20 mA, pas 40. Sur les cartes WROVER, elles appartiennent à la PSRAM. |
| J3 | 13 | 4 | GPIO4, ADC2_CH0, TOUCH0 | 3,3 V | 40 mA | Canal tactile T0, utilisé par la leçon sur le tactile. Aussi ADC2. |
| J3 | 14 | 0 | GPIO0, ADC2_CH1, TOUCH1, Boot, Broche de strapping | 3,3 V | 40 mA | Broche de strapping câblée au bouton Boot : à LOW au reset, elle lance le chargeur série au lieu de votre sketch. Après le démarrage, elle fonctionne comme entrée avec INPUT_PULLUP (appuyé = LOW). |
| J3 | 15 | 2 | GPIO2, ADC2_CH2, TOUCH2, Broche de strapping | 3,3 V | 40 mA | Broche de strapping avec un pull-down interne : elle doit être à l'état bas ou flottante pour entrer en mode téléchargement. Une LED avec sa résistance vers GND est sans danger, un pull-up ne l'est pas. |
| J3 | 16 | 15 | GPIO15, ADC2_CH3, TOUCH3, MTDO, Broche de strapping | 3,3 V | 40 mA | Broche de strapping MTDO, tirée à l'état haut : maintenue à LOW au reset, elle fait taire le journal de démarrage de la ROM sur TX. Aussi TDO du JTAG. |
| J3 | 17 | D1 | flash SD1 (GPIO8) on the older WROOM-32 | – | – | Sur l'ancien WROOM-32, c'étaient les lignes de la flash SPI (GPIO6 à GPIO11). Le WROOM-32E les laisse non connectées dans le module. Ne les utilisez jamais ; dans le code, toucher GPIO6 à GPIO11 fait planter la puce. |
| J3 | 18 | D0 | flash SD0 (GPIO7) on the older WROOM-32 | – | – | Sur l'ancien WROOM-32, c'étaient les lignes de la flash SPI (GPIO6 à GPIO11). Le WROOM-32E les laisse non connectées dans le module. Ne les utilisez jamais ; dans le code, toucher GPIO6 à GPIO11 fait planter la puce. |
| J3 | 19 | CLK | flash CLK (GPIO6) on the older WROOM-32 | – | – | Sur l'ancien WROOM-32, c'étaient les lignes de la flash SPI (GPIO6 à GPIO11). Le WROOM-32E les laisse non connectées dans le module. Ne les utilisez jamais ; dans le code, toucher GPIO6 à GPIO11 fait planter la puce. |
Les capteurs et actionneurs que pilote cette carte, avec les vrais branchements.
L'anode à travers 220 à 330 Ω vers GPIO23, la cathode vers GND : environ 4 à 6 mA sous 3,3 V. N'importe quelle broche de sortie qui n'est pas de strapping convient.
| Broche du composant | Broche de la carte |
|---|---|
| A (through 220 Ω) | 23Couleur du fil : orange |
| K | GNDCouleur du fil : noir |
Un côté sur GPIO4, l'autre sur GND, avec pinMode(4, INPUT_PULLUP) ; un appui se lit LOW. Sur GPIO34 à 39, il n'y a pas de pull-up interne : ajoutez une résistance de 10 kΩ vers le 3V3.
| Broche du composant | Broche de la carte |
|---|---|
| 1 | 4Couleur du fil : jaune |
| 3 | GNDCouleur du fil : noir |
Les extrémités sur GND et 3V3, le curseur sur GPIO34. analogRead(34) donne de 0 à 4095 et analogReadMilliVolts(34) donne des millivolts ; la lecture se courbe près des deux extrémités.
| Broche du composant | Broche de la carte |
|---|---|
| 1 | GNDCouleur du fil : noir |
| 2 | 34Couleur du fil : jaune |
| 3 | 3V3Couleur du fil : rouge |
Alimentez le potentiomètre par le 3V3, jamais par le 5V. Utilisez une broche ADC1 (32 à 39) : les broches ADC2 cessent de lire dès que le Wi-Fi démarre.
+Vs sur 3V3 (il fonctionne dès 2,7 V), Vout sur GPIO35, GND sur GND. La température vaut (mV − 500) ÷ 10 °C.
| Broche du composant | Broche de la carte |
|---|---|
| +Vs | 3V3Couleur du fil : rouge |
| Vout | 35Couleur du fil : jaune |
| GND | GNDCouleur du fil : noir |
VCC sur 5V, Trig sur GPIO18 ; le déclenchement en 3,3 V de la carte suffit au capteur. La distance en cm vaut la durée de l'écho en µs ÷ 58.
| Broche du composant | Broche de la carte |
|---|---|
| VCC | 5VCouleur du fil : rouge |
| Trig | 18Couleur du fil : orange |
| Echo (through a 1 kΩ / 2 kΩ divider) | 19Couleur du fil : vert |
| Gnd | GNDCouleur du fil : noir |
Echo est une sortie 5 V. Faites-la passer par un pont diviseur (1 kΩ depuis Echo, 2 kΩ vers GND, le milieu sur GPIO19) pour que la broche voie environ 3,3 V. Branchée directement sur un GPIO, elle fait passer du courant dans les diodes de protection et peut tuer la broche.
Marron sur GND, rouge sur 5V, orange (signal) sur GPIO13, piloté par une bibliothèque servo à 50 Hz, de 500 à 2400 µs.
| Broche du composant | Broche de la carte |
|---|---|
| brown | GNDCouleur du fil : marron |
| red | 5VCouleur du fil : rouge |
| orange | 13Couleur du fil : orange |
Un SG90 en mouvement tire 100 à 250 mA, et jusqu'à environ 700 mA bloqué. Sur l'USB, ça provoque un brown-out de la carte ; donnez aux servos leur propre alimentation 5 V et reliez les masses.
VCC sur 3V3, GND sur GND, SCL sur GPIO22, SDA sur GPIO21. Wire.begin() utilise ces broches par défaut ; l'adresse est 0x68.
| Broche du composant | Broche de la carte |
|---|---|
| VCC | 3V3Couleur du fil : rouge |
| GND | GNDCouleur du fil : noir |
| SCL | 22Couleur du fil : jaune |
| SDA | 21Couleur du fil : bleu |
GND, VCC (3V3), SCL sur GPIO22, SDA sur GPIO21. L'écran répond en 0x3C.
| Broche du composant | Broche de la carte |
|---|---|
| GND | GNDCouleur du fil : noir |
| VCC | 3V3Couleur du fil : rouge |
| SCL | 22Couleur du fil : jaune |
| SDA | 21Couleur du fil : bleu |
L'ordre des broches change d'un fabricant à l'autre (certains mettent VCC en premier) : lisez les marquages de votre module avant de le brancher.