Indholdsfortegnelse:
- Introduktion
- Trin 1: Flash GPIO -pins - GPIO6 til GPIO11
- Trin 2: GPIO0, GPIO2 og GPIO15 pins
- Trin 3: Brug af GPIO0, GPIO2 og GPIO15 som output
- Trin 4: Brug af GPIO0, GPIO2 og GPIO15 som input
- Konklusion
Video: ESP8266 Brug af GPIO0/GPIO2/GPIO15 pins: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Opdatering 1. juli 2018-Tilføjet note om genprogrammering, når GPIO0 er et output
Dette er en meget kort note om, hvordan du bruger GPIO0 / GPIO2 og GPIO15 ben på ESP8266 modulet.
Opdatering: Tjek også Sådan bruges ESP8266-01 benene
Introduktion
ESP8266 er en billig wifi -chip. Det findes i forskellige modultyper og kan programmeres på forskellige måder. Alle moduler gør GPIO0 og GPIO2 tilgængelige. De fleste moduler, bortset fra ESP8266-01, gør også GPIO15 tilgængelig. Disse GPIO'er styrer, hvordan modulet starter og kræver som sådan særlig håndtering, hvis de overhovedet skal bruges. GPIO6-GPIO11 kræver også særlig behandling som beskrevet nedenfor.
Trin 1: Flash GPIO -pins - GPIO6 til GPIO11
De fleste ESP8266-kort har en flashchip tilsluttet nogle eller alle GPIO6-GPIO11. De fleste programmer bruger flashhukommelse samt RAM, så medmindre du specifikt sørger for, at din kode kun kører fra RAM, kan du ikke bruge disse pins til andre formål.
Det nøjagtige antal ben, der bruges i området GPIO6 til GPIO11, afhænger af den type flashhardware, der bruges på dit modul. Quad IO bruger 4 linjer til data (i alt 6 ben) i op til 4 gange standardens hastighed. Dual IO bruger 2 linjer til data (4 pins i alt) Standard bruger en enkelt linje til data (3 pins i alt).
Medmindre du ved præcis, hvad dit board kræver, er du bedst til bare at ignorere GPIO6 til GPIO11 og ikke henvise til dem fra din kode.
Trin 2: GPIO0, GPIO2 og GPIO15 pins
Disse ben bestemmer, hvilken tilstand chippen starter i.
For normal programudførelse skal GPIO0 og GPIO2 trækkes op til Vcc (3.3V), og GPIO15 skal trækkes til GND, hver med en modstand i området 2K til 10K modstand. En 2K modstand giver bedre støjimmunitet. OLIMEX bruger 2K modstande SparkFun bruger 10K modstande. Jeg bruger 3K3 modstande.
Indstillingerne for disse input kontrolleres kun under chipens opstart (eller nulstilling). Derefter er stifterne tilgængelige til generel brug, men som diskuteret nedenfor er deres anvendelse begrænset af disse eksterne pull up/down modstande.
Trin 3: Brug af GPIO0, GPIO2 og GPIO15 som output
Som nævnt ovenfor vil disse ben allerede have en modstand tilsluttet enten VCC (GPIO0 og GPIO2) eller GND til GPIO15. Dette bestemmer, hvordan enhver ekstern enhed, som et relæ eller en led+modstand, skal tilsluttes. For GPIO0 og GPIO2 skal der tilsluttes et eksternt relæ mellem VCC og stiften, så det ikke forstyrrer virkningen af pull up -modstanden. Omvendt skal et eksternt relæ, der er forbundet til GPIO15, forbindes mellem GND og stiften, så det ikke forstyrrer virkningen af pull down -modstanden.
For at aktivere den eksterne enhed skal GPIO0 eller GPIO2 køres LOW (Active LOW), mens GPIO15 skal køres HIGH (Active HIGH).
Ovenstående skematisk viser, hvordan du bruger GPIO0 og GPIO2 og GPIO15 som output. Dette kredsløb indeholder også de nødvendige pullup/pulldown -modstande. Bemærk, at 5V-relæmodulet drevet af GPIO0 er opto-isoleret og har en separat fælles forbindelse til indgangen. Det er vigtigt, at 5V VCCA -spændingen ikke tilføres ESP8266 -stiften.
Sådan programmeres om, når du bruger GPIO0 som output
Bemærk: GPIO0 skal jordes for at komme i programmeringstilstand. Hvis du tegner kører den højt, kan jordforbindelse beskadige din ESP8266 -chip. Den sikre måde at omprogrammere ESP8266, når din kode driver GPIO0-udgangen, er:- a) Sluk for kortet b) kort GPIO0 til gnd c) tænd for kortet, der går i programtilstand på grund af den korte GPIO0 d) fjern den korte fra GPIO0, så du ikke kortslutter output, når programmet kører e) omprogrammerer tavlen f) om nødvendigt tændes kortet.
Trin 4: Brug af GPIO0, GPIO2 og GPIO15 som input
Det er lidt svært at bruge disse ben som input. Som nævnt ovenfor ved opstart og under nulstilling skal disse ben trækkes op eller ned efter behov for at ESP8266 -modulet skal starte i normal driftstilstand. Dette betyder, at du generelt ikke bare kan tilslutte en ekstern kontakt til disse ben, fordi du ved opstart normalt ikke kan garantere, at kontakten ikke trækker indgangen til jorden og forhindrer modulet i at starte korrekt.
Tricket er ikke at tilslutte den eksterne switch direkte fra GPIO0 eller GPIO2 til GND, men at tilslutte den i stedet til en anden GPIO -pin, der først drives til jorden (som output), når ESP8266 starter. Husk, at når de bruges som output, giver GPIO -benene en meget lav modstandsforbindelse til enten VCC eller GND, afhængigt af om de drives HIGH eller LOW.
Her vil kun GPIO0 og GPIO2 blive overvejet. Ved hjælp af denne metode kan du få en (1) additionsindgang ved hjælp af disse to (2) GPIO'er.
En lignende metode kan bruges til GPIO15 ved at bruge en anden GPIO -pin til at slutte sin switch til +VCC, men dette får ikke et ekstra input, du kan lige så godt bruge den anden GPIO -pin direkte som input.
Kredsløbet ovenfor bruger ESP8266-01-modulet som et eksempel. Uden at bruge dette trick har ESP8266-01 ikke nogen gratis ben til at bruge som input, hvis du allerede bruger stifter RX/TX til en UART-forbindelse.
Da skitsens setup () -metode først køres, efter at ESP8266 -modulet er startet, er det sikkert at lave GPIO0 -output LAVT derefter og dermed give en jord for S1, der er forbundet til GPIO2. Du kan derefter bruge digitalRead (2) andre steder i din skitse til at læse switchindstillingen.
Konklusion
Denne korte note viser, hvordan du bruger GPIO0, GPIO2 og GPIO15 som output, og hvordan du kan få en ekstra input ved hjælp af GPIO0 og GPIO2 sammen.
Anbefalede:
Hjemmeautomatisering Trin for trin Brug af Wemos D1 Mini Med PCB -design: 4 trin
Hjemmeautomatisering Trin for trin Brug af Wemos D1 Mini Med PCB -design: Hjemmeautomatisering Trin for trin ved hjælp af Wemos D1 Mini med PCB -design For et par uger siden udgav vi en tutorial "Home Automation using Raspberry Pi" i rootsaid.com, som blev godt modtaget blandt hobbyfolk og universitetsstuderende. Så kom et af vores medlemmer
I2C / IIC LCD -skærm - Brug et SPI LCD til I2C LCD Display Brug SPI til IIC modul med Arduino: 5 trin
I2C / IIC LCD -skærm | Brug en SPI LCD til I2C LCD -skærmen Brug af SPI til IIC -modulet med Arduino: Hej fyre, da en normal SPI LCD 1602 har for mange ledninger at tilslutte, så det er meget svært at grænseflade det med arduino, men der er et modul på markedet, som kan konverter SPI -skærm til IIC -skærm, så du skal kun tilslutte 4 ledninger
Neopixel Ws2812 Rainbow LED Glød Med M5stick-C - Kører Rainbow på Neopixel Ws2812 Brug af M5stack M5stick C Brug af Arduino IDE: 5 trin
Neopixel Ws2812 Rainbow LED Glød Med M5stick-C | Kører Rainbow på Neopixel Ws2812 Brug af M5stack M5stick C Brug af Arduino IDE: Hej fyre i denne instruktion vil vi lære at bruge neopixel ws2812 LED'er eller led strip eller led matrix eller led ring med m5stack m5stick-C udviklingstavle med Arduino IDE, og vi vil lave et regnbuemønster med det
ESP8266 NODEMCU BLYNK IOT Tutorial - Esp8266 IOT Brug af Blunk og Arduino IDE - Kontrol af lysdioder over internettet: 6 trin
ESP8266 NODEMCU BLYNK IOT Tutorial | Esp8266 IOT Brug af Blunk og Arduino IDE | Kontrol af lysdioder over internettet: Hej Guys i denne instruks vil vi lære at bruge IOT med vores ESP8266 eller Nodemcu. Vi vil bruge blynk app til det. Så vi vil bruge vores esp8266/nodemcu til at styre lysdioderne over internettet. Så Blynk app vil blive forbundet til vores esp8266 eller Nodemcu
Brug af de 4 pins i ESP8266-01: 3 trin
Brug af de 4 pins af ESP8266-01: Bemærk: Dette projekt er dybest set en forlængelse af en tidligere instruerbar, der kun brugte 2 ben. Det begrænsede antal (4) GPIO-ben på ESP8266-01 kan virke som en hindring for enhver seriøs anvendelse.Men hvis man bruger stifterne på en smart måde, er det