Table des matières:
- introduction
- Étape 1: Broches GPIO Flash - GPIO6 à GPIO11
- Étape 2: Broches GPIO0, GPIO2 et GPIO15
- Étape 3: Utilisation de GPIO0, GPIO2 et GPIO15 comme sorties
- Étape 4: Utilisation de GPIO0, GPIO2 et GPIO15 comme entrées
- Conclusion
Vidéo: ESP8266 utilisant les broches GPIO0/GPIO2/GPIO15 : 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Mise à jour du 1er juillet 2018 - Ajout d'une note sur la reprogrammation lorsque GPIO0 est une sortie
Ceci est une note très courte sur la façon d'utiliser les broches GPIO0 / GPIO2 et GPIO15 sur le module ESP8266.
Mise à jour: consultez également Comment utiliser les broches ESP8266-01
introduction
ESP8266 est une puce compatible wifi à faible coût. Il existe dans une variété de types de modules et peut être programmé de différentes manières. Tous les modules rendent GPIO0 et GPIO2 accessibles. La plupart des modules, autres que ESP8266-01, rendent également GPIO15 accessible. Ces GPIO contrôlent le démarrage du module et, en tant que tels, nécessitent un traitement spécial s'ils doivent être utilisés. GPIO6-GPIO11 nécessitent également un traitement spécial comme décrit ci-dessous.
Étape 1: Broches GPIO Flash - GPIO6 à GPIO11
La plupart des cartes ESP8266 ont une puce flash connectée à tout ou partie des GPIO6-GPIO11. La plupart des programmes utilisent la mémoire flash, ainsi que la RAM, donc à moins que vous ne vous assuriez spécifiquement que votre code ne s'exécute qu'à partir de la RAM, vous ne pouvez pas utiliser ces broches à d'autres fins.
Le nombre exact de broches utilisées dans la plage GPIO6 à GPIO11 dépend du type de matériel flash utilisé sur votre module. Quad IO utilise 4 lignes pour les données (6 broches au total) pour une vitesse jusqu'à 4 fois supérieure à la vitesse standard. Dual IO utilise 2 lignes pour les données (4 broches au total) Standard utilise une seule ligne pour les données (3 broches au total).
À moins que vous ne sachiez exactement ce dont votre carte a besoin, il est préférable d'ignorer simplement GPIO6 à GPIO11 et de ne pas y faire référence à partir de votre code.
Étape 2: Broches GPIO0, GPIO2 et GPIO15
Ces broches déterminent dans quel mode la puce démarre.
Pour l'exécution normale du programme, GPIO0 et GPIO2 doivent être tirés jusqu'à Vcc (3,3 V) et GPIO15 doit être tiré vers GND, chacun avec une résistance comprise entre 2K et 10K. Une résistance 2K offre une meilleure immunité au bruit. OLIMEX utilise des résistances 2K SparkFun utilise des résistances 10K. J'utilise des résistances 3K3.
Le paramétrage de ces entrées n'est vérifié que lors de la mise sous tension (ou reset) de la puce. Après cela, les broches sont disponibles pour une utilisation générale, mais comme indiqué ci-dessous, leur utilisation est limitée par ces résistances externes pull up/down.
Étape 3: Utilisation de GPIO0, GPIO2 et GPIO15 comme sorties
Comme indiqué ci-dessus, ces broches auront déjà une résistance connectée à VCC (GPIO0 et GPIO2) ou GND pour GPIO15. Cela détermine comment tout appareil externe, comme un relais ou une led+résistance, doit être connecté. Pour GPIO0 et GPIO2, un relais externe doit être connecté entre VCC et la broche afin qu'il n'interfère pas avec l'action de la résistance de rappel. A l'inverse, un relais externe connecté au GPIO15 doit être connecté entre GND et la broche afin qu'il n'interfère pas avec l'action de la résistance pull down.
Pour activer le périphérique externe, GPIO0 ou GPIO2 doit être piloté LOW (Active LOW) tandis que GPIO15 doit être piloté HIGH (Active HIGH).
Le schéma ci-dessus montre comment utiliser GPIO0 et GPIO2 et GPIO15 comme sorties. Ce circuit comprend également les résistances pullup/pulldown nécessaires. Notez que le module relais 5V piloté par GPIO0 est opto-isolé et dispose d'une connexion commune séparée pour l'entrée. Il est important que la tension 5V VCCA ne soit pas appliquée à la broche ESP8266.
Comment reprogrammer lors de l'utilisation de GPIO0 comme sortie
Remarque: GPIO0 doit être mis à la terre pour entrer en mode de programmation. Si votre croquis le conduit haut, sa mise à la terre peut endommager votre puce ESP8266. Le moyen sûr de reprogrammer l'ESP8266 lorsque votre code pilote la sortie GPIO0 est de:- a) éteindre la carte b) court GPIO0 à gnd c) allumer la carte qui passe en mode programme en raison du court-circuit sur GPIO0 d) supprimer le court-circuit de GPIO0 afin de ne pas court-circuiter la sortie lorsque le programme s'exécute e) reprogrammez la carte f) redémarrez la carte si nécessaire.
Étape 4: Utilisation de GPIO0, GPIO2 et GPIO15 comme entrées
L'utilisation de ces broches comme entrées est un peu délicate. Comme indiqué ci-dessus lors de la mise sous tension et lors de la réinitialisation, ces broches doivent être tirées vers le haut ou vers le bas selon les besoins pour que le module ESP8266 démarre en mode de fonctionnement normal. Cela signifie, en général, que vous ne pouvez pas simplement attacher un commutateur externe à ces broches, car à la mise sous tension, vous ne pouvez généralement pas garantir que le commutateur ne mettra pas l'entrée à la terre et empêchera ainsi le module de démarrer correctement.
L'astuce consiste à ne pas connecter le commutateur externe directement du GPIO0 ou GPIO2 à GND mais à le connecter à la place à une autre broche GPIO qui est mise à la terre (en tant que sortie) uniquement après le démarrage de l'ESP8266. N'oubliez pas que lorsqu'elles sont utilisées comme sorties, les broches GPIO fournissent une connexion à très faible résistance à VCC ou à GND selon qu'elles sont pilotées en HAUT ou en BAS.
Ici, seuls GPIO0 et GPIO2 seront pris en compte. En utilisant cette méthode, vous pouvez obtenir une (1) entrée supplémentaire en utilisant ces deux (2) GPIO.
Une méthode similaire peut être utilisée pour GPIO15 en utilisant une autre broche GPIO pour connecter son commutateur à +VCC, mais cela ne gagne pas d'entrée supplémentaire, vous pouvez aussi bien utiliser l'autre broche GPIO directement comme entrée.
Le circuit ci-dessus utilise le module ESP8266-01 comme exemple. Sans utiliser cette astuce, l'ESP8266-01 n'a pas de broches libres à utiliser comme entrée si vous utilisez déjà les broches RX/TX pour une connexion UART.
Étant donné que la méthode setup() de l'esquisse n'est exécutée qu'après le démarrage du module ESP8266, il est alors prudent de faire en sorte que la sortie GPIO0 soit FAIBLE et de fournir ainsi une masse pour S1 connecté à GPIO2. Vous pouvez ensuite utiliser digitalRead(2) ailleurs dans votre croquis pour lire le réglage du commutateur.
Conclusion
Cette courte note montre comment utiliser GPIO0, GPIO2 et GPIO15 comme sorties et comment utiliser une entrée supplémentaire en utilisant GPIO0 et GPIO2 ensemble.
Conseillé:
Comment utiliser les broches GPIO et Avrdude d'un Raspberry Pi pour programmer Bit-bang DIMP 2 ou DA PIMP 2: 9 étapes
Comment utiliser les broches GPIO d'un Raspberry Pi et Avrdude pour programmer Bit-bang DIMP 2 ou DA PIMP 2: Ce sont des instructions étape par étape sur la façon d'utiliser un Raspberry Pi et la commande open-source gratuite avrdude to bit-bang -programmer un DIMP 2 ou un DA PIMP 2. Je suppose que vous connaissez votre Raspberry Pi et la ligne de commande LINUX. Vous n'êtes pas obligé de
Dés à rouler VISUINO utilisant un module OLED à 4 broches de 0,96 pouce : 7 étapes
VISUINO Rolling Dice utilisant un module OLED de 0,96 pouce à 4 broches : Dans ce didacticiel, nous utiliserons OLED Lcd et Visuino pour créer un Rolling Dice lorsque nous appuyons sur un bouton de notre planche à pain.Regardez une vidéo de démonstration
Gérez 100 appareils dans les applications, les organisations, les rôles et les utilisateurs Ubidots : 11 étapes
Gérer 100 appareils dans les applications, les organisations, les rôles et les utilisateurs d'Ubidots : à cette occasion, j'ai décidé de tester la fonctionnalité de la plate-forme IoT Ubidots pour la gestion des utilisateurs dans le cas où elle aurait de nombreux appareils pour plusieurs organisations ou entreprises sous la même Plateforme Ubidots. Information du maire : vous
Développement d'applications utilisant des broches GPIO sur la DragonBoard 410c avec les systèmes d'exploitation Android et Linux : 6 étapes
Développement d'applications à l'aide de broches GPIO sur la DragonBoard 410c avec les systèmes d'exploitation Android et Linux : le but de ce didacticiel est de montrer les informations nécessaires pour développer des applications à l'aide de la broche GPIO sur l'extension basse vitesse de la DragonBoard 410c. Ce tutoriel présente des informations pour développer des applications utilisant les broches GPIO avec SYS sur l'Andr
Prise ISP 6 broches à 8 broches : 4 étapes
Prise ISP 6 broches à 8 broches : La raison pour laquelle j'ai principalement construit ce projet était de programmer l'ATTiny45, qui a une connexion à 8 broches, tandis que mon USBtinyISP (de Ladyada) n'a qu'une connexion à 10 et 6 broches. Après avoir fouiné sur Internet pendant environ 3-4 semaines, je n'ai rien trouvé quoi