Des noms D aux numéros GPIO
D0 est le GPIO16, D1 le GPIO5, D2 le GPIO4, D3 le GPIO0, D4 le GPIO2, D5 le GPIO14, D6 le GPIO12, D7 le GPIO13 et D8 le GPIO15. Dans le core Arduino pour ESP8266, vous pouvez écrire D5 ou 14 : avec la carte D1 mini sélectionnée, les constantes D pointent vers le bon GPIO.
D3, D4 et D8 : broches de démarrage
L’ESP8266 lit trois broches au reset : pour lancer votre sketch, le GPIO0 (D3) et le GPIO2 (D4) doivent être à l’état HAUT et le GPIO15 (D8) à l’état BAS. La carte fixe déjà ces niveaux avec des résistances : ces broches conviennent donc comme sorties et pour des boutons, tant que rien n’impose le mauvais niveau à la mise sous tension. D4 commande aussi la LED bleue du module, allumée quand la broche est à l’état BAS.
| Broche | Sur la D1 mini | Niveau au reset | En pratique |
|---|---|---|---|
| D3 · GPIO0 | Tirée à l’état HAUT | HAUT lance le sketch, BAS passe en mode programmation | Un bouton vers GND convient |
| D4 · GPIO2 | Tirée à l’état HAUT, LED | HAUT | Ne la tirez pas à l’état BAS à la mise sous tension |
| D8 · GPIO15 | Tirée à l’état BAS | BAS | Ni pull-up, ni module qui la tire à l’état HAUT |
D0, la broche spéciale
Le GPIO16 (D0) ne peut pas déclencher d’interruptions et n’a pas de pull-up interne, seulement un pull-down. Son rôle principal est de réveiller la carte de la veille profonde : reliez D0 à RST et ESP.deepSleep() réveille la carte avec sa minuterie. WEMOS l’indique comme la seule broche sans interruptions, PWM, I²C ni 1-Wire.
Entrée analogique et bus
A0 est la seule entrée analogique. L’ESP8266 seul n’accepte que 0 à 1,0 V, et la D1 mini a un pont diviseur qui étend la plage jusqu’à 3,2 V environ. L’I²C fonctionne en logiciel sur presque toutes les broches, par défaut D2 (SDA) et D1 (SCL). Le SPI utilise les broches matérielles fixes D5 (SCK), D6 (MISO) et D7 (MOSI), avec le CS sur D8 par défaut. TX et RX vont au convertisseur USB-série.
Tableau complet des broches de la D1 mini
| Broche | GPIO | État | Analogique | Fonctions | Notes |
|---|---|---|---|---|---|
| D3 | GPIO0 | Avec précaution | Non | PWM (analogWrite) | démarrage : HAUT |
| TX | GPIO1 | Avec précaution | Non | PWM (analogWrite), U0TXD | TX série, UART TX |
| D4 | GPIO2 | Avec précaution | Non | PWM (analogWrite), U1TXD (Serial1) | démarrage : HAUT, LED |
| RX | GPIO3 | Avec précaution | Non | PWM (analogWrite), U0RXD | RX série, UART RX |
| D2 | GPIO4 | Libre | Non | PWM (analogWrite) | I²C SDA |
| D1 | GPIO5 | Libre | Non | PWM (analogWrite) | I²C SCL |
| D6 | GPIO12 | Libre | Non | PWM (analogWrite), HSPI MISO | SPI MISO (RX) |
| D7 | GPIO13 | Libre | Non | PWM (analogWrite), HSPI MOSI, RXD2 (Serial.swap) | SPI MOSI (TX) |
| D5 | GPIO14 | Libre | Non | PWM (analogWrite), HSPI SCK | SPI SCK |
| D8 | GPIO15 | Avec précaution | Non | PWM (analogWrite), HSPI CS, TXD2 (Serial.swap) | démarrage : BAS, SPI CS |
| D0 | GPIO16 | Avec précaution | Non | PWM (analogWrite) | pas d’interruptions, réveil depuis la veille profonde |
| A0 | Non | Entrée seule | ADC (TOUT) | Non | analogique seule, 0 à 3,2 V |
Les GPIO 6 à 11 sont reliés à la flash du module et ne sont pas sur le connecteur. Les broches fonctionnent en 3,3 V et ne sont pas garanties pour le 5 V : pour les signaux 5 V, utilisez un convertisseur de niveaux logiques.
Questions fréquentes
Quelles broches de la D1 mini peut-on utiliser sans risque ?
D1, D2, D5, D6 et D7 (GPIO 5, 4, 14, 12 et 13) n’ont aucun rôle au démarrage et gèrent les interruptions et le PWM. D3, D4 et D8 sont des broches de démarrage, D0 a des limites, et TX et RX appartiennent au port série.
Quelle est la tension maximale sur A0 de la D1 mini ?
Environ 3,2 V, grâce au pont diviseur de la carte. L’ESP8266 seul n’accepte que 0 à 1,0 V sur son ADC : les modules nus ont donc besoin de leur propre pont diviseur.
Comment réveiller la D1 mini de la veille profonde ?
Reliez D0 (GPIO16) à RST et appelez ESP.deepSleep() avec la durée de sommeil en microsecondes. Quand le délai expire, le GPIO16 met RST à l’état BAS et la carte redémarre.
Pourquoi ma D1 mini ne démarre-t-elle pas avec quelque chose sur D8 ?
D8 est le GPIO15, qui doit être à l’état BAS au reset. Un module ou un pull-up externe qui le tient à l’état HAUT fait choisir à l’ESP8266 un autre mode de démarrage. Déplacez ce branchement sur D1, D2 ou D5 à D7.
Quelles sont les broches I2C et SPI de la D1 mini ?
L’I²C utilise par défaut D2 (SDA) et D1 (SCL), et Wire.begin(SDA, SCL) le déplace sur presque n’importe quelle autre broche. Le SPI utilise D5 (SCK), D6 (MISO) et D7 (MOSI), avec le CS en général sur D8.