Innholdsfortegnelse:
- Introduksjon
- Trinn 1: Flash GPIO -pinner - GPIO6 til GPIO11
- Trinn 2: GPIO0, GPIO2 og GPIO15 Pins
- Trinn 3: Bruke GPIO0, GPIO2 og GPIO15 som utganger
- Trinn 4: Bruke GPIO0, GPIO2 og GPIO15 som innganger
- Konklusjon
Video: ESP8266 Bruke GPIO0/GPIO2/GPIO15 Pins: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Oppdatering 1. juli 2018-Lagt til notat om omprogrammering når GPIO0 er en utgang
Dette er et veldig kort notat om hvordan du bruker GPIO0 / GPIO2 og GPIO15 pinner på ESP8266 -modulen.
Oppdatering: Sjekk også hvordan du bruker ESP8266-01-pinnene
Introduksjon
ESP8266 er en billig wifi -aktivert chip. Den kommer i en rekke modultyper og kan programmeres på en rekke måter. Alle moduler gjør GPIO0 og GPIO2 tilgjengelig. De fleste moduler, andre enn ESP8266-01, gjør også GPIO15 tilgjengelig. Disse GPIO -ene styrer hvordan modulen starter og krever som sådan spesiell håndtering hvis de i det hele tatt skal brukes. GPIO6-GPIO11 krever også spesiell behandling som beskrevet nedenfor.
Trinn 1: Flash GPIO -pinner - GPIO6 til GPIO11
De fleste ESP8266-kort har en flash-brikke koblet til noen eller alle GPIO6-GPIO11. De fleste programmer bruker flash -minne, så vel som RAM, så med mindre du spesifikt kontrollerer at koden din bare går fra RAM, kan du ikke bruke disse pinnene til andre formål.
Det eksakte antallet pinner som brukes i området GPIO6 til GPIO11, avhenger av typen blitsmaskinvare som brukes på modulen din. Quad IO bruker 4 linjer for data (totalt 6 pinner) for opptil 4 ganger hastigheten på standard. Dual IO bruker 2 linjer for data (4 pins totalt) Standard bruker en enkelt linje for data (3 pins totalt).
Med mindre du vet nøyaktig hva brettet krever, er det best å bare ignorere GPIO6 til GPIO11 og ikke referere til dem fra koden din.
Trinn 2: GPIO0, GPIO2 og GPIO15 Pins
Disse pinnene bestemmer hvilken modus brikken starter i.
For normal programutførelse må GPIO0 og GPIO2 trekkes opp til Vcc (3.3V) og GPIO15 må trekkes til GND, hver med en motstand i området 2K til 10K motstand. En 2K -motstand gir bedre støyimmunitet. OLIMEX bruker 2K motstander SparkFun bruker 10K motstander. Jeg bruker 3K3 motstander.
Innstillingene til disse inngangene kontrolleres bare under oppstart (eller tilbakestilling) av brikken. Etter det er pinnene tilgjengelige for generell bruk, men som diskutert nedenfor er bruken begrenset av disse eksterne trekk opp/ned motstandene.
Trinn 3: Bruke GPIO0, GPIO2 og GPIO15 som utganger
Som nevnt ovenfor vil disse pinnene allerede ha en motstand koblet til enten VCC (GPIO0 og GPIO2) eller GND for GPIO15. Dette bestemmer hvordan en ekstern enhet, som et relé eller LED+motstand, må kobles til. For GPIO0 og GPIO2 må et eksternt relé kobles mellom VCC og pinnen slik at den ikke forstyrrer virkningen av opptrekkmotstanden. På den annen side må et eksternt relé som er koblet til GPIO15 kobles mellom GND og pinnen, slik at det ikke forstyrrer virkningen av nedtrekksmotstanden.
For å aktivere den eksterne enheten må GPIO0 eller GPIO2 kjøres LOW (Active LOW) mens GPIO15 må kjøres HIGH (Active HIGH).
Skjematisk over viser hvordan du bruker GPIO0 og GPIO2 og GPIO15 som utganger. Denne kretsen inkluderer også de nødvendige pullup/pulldown -motstandene. Vær oppmerksom på at 5V-relemodulen drevet av GPIO0 er opto-isolert og har en egen felles tilkobling for inngangen. Det er viktig at 5V VCCA -spenningen ikke tilføres ESP8266 -pinnen.
Hvordan omprogrammere når du bruker GPIO0 som utgang
Merk: GPIO0 må jordes for å komme i programmeringsmodus. Hvis du skisserer, kjører den høyt, kan det skade deg ESP8266 -brikken. Den sikre måten å omprogrammere ESP8266 når koden driver GPIO0-utgangen er:- a) Slå av kortet b) kort GPIO0 til gnd c) slå på kortet som går i programmodus på grunn av kort på GPIO0 d) fjern den korte fra GPIO0, slik at du ikke kortere utgangen når programmet kjører e) omprogrammerer brettet f) slår av brettet om nødvendig.
Trinn 4: Bruke GPIO0, GPIO2 og GPIO15 som innganger
Det er litt vanskelig å bruke disse pinnene som innganger. Som nevnt ovenfor ved oppstart og under tilbakestilling, må disse pinnene trekkes opp eller ned etter behov for å få ESP8266 -modulen til å starte opp i normal driftsmodus. Dette betyr at du generelt sett ikke bare kan koble en ekstern bryter til disse pinnene, fordi du vanligvis ikke kan garantere at bryteren ikke trekker inngangen til bakken ved oppstart, og forhindrer at modulen starter riktig.
Trikset er å ikke koble den eksterne bryteren direkte fra GPIO0 eller GPIO2 til GND, men å koble den i stedet til en annen GPIO -pin som drives til bakken (som utgang) først etter at ESP8266 starter. Husk at når de brukes som utganger, gir GPIO -pinnene en veldig lav motstandstilkobling til enten VCC eller GND, avhengig av om de drives HIGH eller LOW.
Her vil bare GPIO0 og GPIO2 bli vurdert. Ved å bruke denne metoden kan du få en (1) tilleggsinngang ved å bruke disse to (2) GPIO -ene.
En lignende metode kan brukes for GPIO15 ved å bruke en annen GPIO -pin for å koble bryteren til +VCC, men dette får ikke en ekstra inngang, du kan like godt bruke den andre GPIO -pinnen direkte som en inngang.
Kretsen ovenfor bruker ESP8266-01-modulen som et eksempel. Uten å bruke dette trikset, har ESP8266-01 ingen ledige pinner å bruke som inngang hvis du allerede bruker pinner RX/TX for en UART-tilkobling.
Siden skissens oppsett () -metode bare kjøres etter at ESP8266 -modulen er startet, er det trygt å lage GPIO0 -utgang LAV da og dermed gi en grunn for S1 koblet til GPIO2. Du kan deretter bruke digitalRead (2) andre steder i skissen for å lese bryterinnstillingen.
Konklusjon
Denne korte notatet viser hvordan du bruker GPIO0, GPIO2 og GPIO15 som utganger og hvordan du bruker få en ekstra inngang ved å bruke GPIO0 og GPIO2 sammen.
Anbefalt:
Hvordan bruke en Raspberry Pi's GPIO Pins og Avrdude til Bit-bang-program DIMP 2 eller DA PIMP 2: 9 trinn
Slik bruker du en Raspberry Pi's GPIO Pins og Avrdude til Bit-bang-program DIMP 2 eller DA PIMP 2: Dette er trinnvise instruksjoner om hvordan du bruker en Raspberry Pi og den gratis åpen kildekode-kommandoen avrdude til bit-bang -programmer en DIMP 2 eller DA PIMP 2. Jeg antar at du er kjent med din Raspberry Pi og kommandolinjen LINUX. Du trenger ikke å
LED -blink med bringebær Pi - Hvordan bruke GPIO Pins på Raspberry Pi: 4 trinn
LED -blink med bringebær Pi | Slik bruker du GPIO -pins på Raspberry Pi: Hei folkens i denne instruksjonen, vi lærer hvordan du bruker GPIO -er til Raspberry pi. Hvis du noen gang har brukt Arduino, vet du sannsynligvis at vi kan koble LED -brytere etc. til pinnene og få det til å fungere som. få lysdioden til å blinke eller få inngang fra bryteren, så
Hvordan bruke DS1307 Bruke Arduino: 7 trinn
Hvordan bruke DS1307 Bruke Arduino: DS1307 er en sanntidsklokke IC (RTC). Denne IC brukes til å gi tidsdata. Tildelt tid starter fra sekunder, minutt, timer, dager, dato, måned og år. Denne IC krever ytterligere eksterne komponenter som Crystal og 3,6V batterier. Krystall
Hvordan bruke en tenåring til å skrive ut bilder på Splatoon 2 Bruke SplatPost -skriveren: 10 trinn
Hvordan bruke en tenåring til å skrive ut bilder på Splatoon 2 Bruke SplatPost -skriveren: I denne instruksen vil jeg vise hvordan du bruker SplatPost -skriveren av ShinyQuagsire. Uten klare instruksjoner ville noen som ikke har erfaring med kommandolinjen ha litt problemer. Målet mitt er å forenkle trinnene ned til poi
Neopixel Ws2812 Rainbow LED-glød med M5stick-C - Kjører Rainbow på Neopixel Ws2812 Bruke M5stack M5stick C Bruke Arduino IDE: 5 trinn
Neopixel Ws2812 Rainbow LED-glød med M5stick-C | Running Rainbow på Neopixel Ws2812 Bruke M5stack M5stick C Bruke Arduino IDE: Hei folkens i denne instruksen, vi lærer hvordan du bruker neopixel ws2812 LED eller led strip eller led matrise eller led ring med m5stack m5stick-C utviklingstavle med Arduino IDE, og vi skal lage et regnbuemønster med den