Innehållsförteckning:
- Introduktion
- Steg 1: Flash GPIO -stift - GPIO6 till GPIO11
- Steg 2: GPIO0-, GPIO2- och GPIO15 -stift
- Steg 3: Använda GPIO0, GPIO2 och GPIO15 som utgångar
- Steg 4: Använda GPIO0, GPIO2 och GPIO15 som ingångar
- Slutsats
Video: ESP8266 Använda GPIO0/GPIO2/GPIO15 Pins: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Uppdatering 1 juli 2018-Lagt till anteckning om omprogrammering när GPIO0 är en utgång
Detta är en mycket kort anteckning om hur du använder GPIO0 / GPIO2 och GPIO15 -stiften på ESP8266 -modulen.
Uppdatering: Se även hur du använder ESP8266-01-stiften
Introduktion
ESP8266 är ett billigt wifi -aktiverat chip. Den finns i en mängd olika modultyper och kan programmeras på olika sätt. Alla moduler gör GPIO0 och GPIO2 tillgängliga. De flesta moduler, andra än ESP8266-01, gör också GPIO15 tillgängligt. Dessa GPIO: er styr hur modulen startar och kräver som sådan särskild hantering om de överhuvudtaget ska användas. GPIO6-GPIO11 kräver också särskild behandling enligt beskrivningen nedan.
Steg 1: Flash GPIO -stift - GPIO6 till GPIO11
De flesta ESP8266-kort har ett flashchip anslutet till några eller alla GPIO6-GPIO11. De flesta program använder både flashminne och RAM, så om du inte specifikt ser till att din kod bara körs från RAM kan du inte använda dessa pins för andra ändamål.
Det exakta antalet stift som används i intervallet GPIO6 till GPIO11 beror på vilken typ av blixtmaskinvara som används på din modul. Quad IO använder 4 rader för data (totalt 6 stift) för upp till 4 gånger hastigheten på standard. Dual IO använder 2 rader för data (totalt 4 stift) Standard använder en enda rad för data (totalt 3 stift).
Om du inte vet exakt vad ditt kort kräver, är det bäst att bara ignorera GPIO6 till GPIO11 och inte hänvisa till dem från din kod.
Steg 2: GPIO0-, GPIO2- och GPIO15 -stift
Dessa stift bestämmer i vilket läge chipet startar.
För normal programkörning måste GPIO0 och GPIO2 dras upp till Vcc (3.3V) och GPIO15 måste dras till GND, var och en med ett motstånd i intervallet 2K till 10K motstånd. Ett 2K -motstånd ger bättre brusimmunitet. OLIMEX använder 2K -motstånd SparkFun använder 10K -motstånd. Jag använder 3K3 motstånd.
Inställningarna för dessa ingångar kontrolleras endast under chipets uppstart (eller återställning). Därefter är stiften tillgängliga för allmän användning, men som diskuteras nedan begränsas deras användning av dessa yttre upp-/nedmotstånd.
Steg 3: Använda GPIO0, GPIO2 och GPIO15 som utgångar
Som nämnts ovan har dessa stift redan ett motstånd anslutet till antingen VCC (GPIO0 och GPIO2) eller GND för GPIO15. Detta avgör hur en extern enhet, som ett relä eller LED+motstånd, måste anslutas. För GPIO0 och GPIO2 måste ett externt relä anslutas mellan VCC och stiftet så att det inte stör verkan av uppdragningsmotståndet. Omvänt måste ett externt relä anslutet till GPIO15 anslutas mellan GND och stiftet så att det inte stör verkan av neddragningsmotståndet.
För att aktivera den externa enheten måste GPIO0 eller GPIO2 drivas LOW (Active LOW) medan GPIO15 måste köras HIGH (Active HIGH).
Schemat ovan visar hur du använder GPIO0 och GPIO2 och GPIO15 som utgångar. Denna krets inkluderar också de nödvändiga pullup/pulldown -motstånden. Observera att 5V-relämodulen som drivs av GPIO0 är opto-isolerad och har en separat gemensam anslutning för ingången. Det är viktigt att 5V VCCA -spänningen inte appliceras på ESP8266 -stiftet.
Hur man programmerar om när man använder GPIO0 som utgång
Obs: GPIO0 måste jordas för att komma in i programmeringsläge. Om du skissar kör den högt kan jordning av den skada dig ESP8266 -chip. Det säkra sättet att omprogrammera ESP8266 när din kod driver GPIO0-utgången är:- a) Stäng av kortet b) kort GPIO0 till gnd c) starta kortet som går in i programläge på grund av kort GPIO0 d) ta bort den korta från GPIO0 så att du inte kortar ut utmatningen när programmet körs e) omprogrammerar kortet f) strömförsörjer kortet om det behövs.
Steg 4: Använda GPIO0, GPIO2 och GPIO15 som ingångar
Att använda dessa stift som ingångar är lite knepigt. Som nämnts ovan vid uppstart och vid återställning måste dessa stift dras uppåt eller nedåt efter behov för att ESP8266 -modulen ska kunna startas i normalt driftläge. Detta betyder att du i allmänhet inte bara kan ansluta en extern strömbrytare till dessa stift, eftersom du vid uppstart vanligtvis inte kan garantera att omkopplaren inte drar ingången till marken och förhindrar att modulen startar korrekt.
Tricket är att inte ansluta den externa omkopplaren direkt från GPIO0 eller GPIO2 till GND utan att ansluta den istället till en annan GPIO -stift som drivs till jord (som en utgång) först efter att ESP8266 har startat. Kom ihåg att när de används som utgångar ger GPIO -stiften en mycket låg resistansanslutning till antingen VCC eller GND beroende på om de drivs HIGH eller LOW.
Här kommer endast GPIO0 och GPIO2 att övervägas. Med denna metod kan du få en (1) tilläggsinmatning med hjälp av dessa två (2) GPIO: er.
En liknande metod kan användas för GPIO15 genom att använda en annan GPIO -stift för att ansluta omkopplaren till +VCC, men detta får ingen extra ingång, du kan lika gärna använda den andra GPIO -stiftet direkt som en ingång.
Kretsen ovan använder ESP8266-01-modulen som ett exempel. Utan att använda detta trick har ESP8266-01 inga lediga stift att använda som ingång om du redan använder stift RX/TX för en UART-anslutning.
Eftersom skissens setup () -metod bara körs efter att ESP8266 -modulen startat är det säkert att göra GPIO0 -utgång LÅG då och därmed ge en mark för S1 ansluten till GPIO2. Du kan sedan använda digitalRead (2) någon annanstans i din skiss för att läsa omkopplarinställningen.
Slutsats
Denna korta anteckning visar hur du använder GPIO0, GPIO2 och GPIO15 som utgångar och hur du använder får en extra ingång med GPIO0 och GPIO2 tillsammans.
Rekommenderad:
Använda analoga sensorer med ESP8266: 5 steg
Använda analoga sensorer med ESP8266: En analog-till-digital-omvandlare (ADC, A/D, A – D eller A-till-D) är ett system som omvandlar en analog signal till en digital signal. A/D -omvandlare översätter analoga elektriska signaler för databehandlingsändamål. Med produkter som matchar prestanda, kraft,
Använda WiFi AutoConnect med ESP8266/ESP32 -kort: 3 steg
Använda WiFi AutoConnect med ESP8266/ESP32 -kort: Vi lär oss hur du använder AutoConnect -biblioteket som gör att vi kan ansluta till och hantera WiFi -åtkomstpunkter med en smartphone. Videon ovan guidar dig genom processen tillsammans med de olika skärmarna du behöver att komma åt för att lära dig mer om
Hemmautomation med ESP8266 WiFi utan att använda Blynk !: 24 steg (med bilder)
Hemmautomation med ESP8266 WiFi utan att använda Blynk !: För det första vill jag tacka alla för att jag blev en vinnare i Automation Contest 2016 för denna INSTRUKTABELA. Så, som jag lovade dig, här är instruktionerna för att styra hushållsapparater med ESP8266 WiFi -modul
Neopixel Ws2812 Rainbow LED-glöd med M5stick-C - Köra Rainbow på Neopixel Ws2812 Använda M5stack M5stick C Använda Arduino IDE: 5 steg
Neopixel Ws2812 Rainbow LED-glöd med M5stick-C | Köra Rainbow på Neopixel Ws2812 Använda M5stack M5stick C Använda Arduino IDE: Hej killar i denna instruktioner kommer vi att lära oss hur man använder neopixel ws2812 lysdioder eller ledremsor eller ledmatris eller ledring med m5stack m5stick-C utvecklingsbräda med Arduino IDE och vi kommer att göra ett regnbågsmönster med det
ESP8266 NODEMCU BLYNK IOT Handledning - Esp8266 IOT Använda Blunk och Arduino IDE - Kontrollera lysdioder över Internet: 6 steg
ESP8266 NODEMCU BLYNK IOT Handledning | Esp8266 IOT Använda Blunk och Arduino IDE | Kontrollera lysdioder över internet: Hej killar i denna instruktion kommer vi att lära oss hur man använder IOT med vår ESP8266 eller Nodemcu. Vi kommer att använda blynk -appen för det. Så vi kommer att använda vår esp8266/nodemcu för att styra lysdioderna över internet. Så Blynk -appen kommer att anslutas till vår esp8266 eller Nodemcu