Inhoudsopgave:
- Invoering
- Stap 1: Flash GPIO-pinnen - GPIO6 tot GPIO11
- Stap 2: GPIO0-, GPIO2- en GPIO15-pinnen
- Stap 3: GPIO0, GPIO2 en GPIO15 gebruiken als uitgangen
- Stap 4: GPIO0, GPIO2 en GPIO15 gebruiken als invoer
- Conclusie
Video: ESP8266 GPIO0/GPIO2/GPIO15-pinnen gebruiken: 4 stappen:
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Update 1 juli 2018 -- Opmerking toegevoegd over herprogrammeren wanneer GPIO0 een output is
Dit is een zeer korte opmerking over het gebruik van GPIO0 / GPIO2- en GPIO15-pinnen op de ESP8266-module.
Update: bekijk ook Hoe de ESP8266-01-pinnen te gebruiken
Invoering
ESP8266 is een goedkope wifi-enabled chip. Het wordt geleverd in verschillende moduletypes en kan op verschillende manieren worden geprogrammeerd. Alle modules maken GPIO0 en GPIO2 toegankelijk. De meeste modules, behalve ESP8266-01, maken GPIO15 ook toegankelijk. Deze GPIO's regelen hoe de module opstart en vereisen als zodanig een speciale behandeling als ze al worden gebruikt. GPIO6-GPIO11 vereisen ook een speciale behandeling zoals hieronder beschreven.
Stap 1: Flash GPIO-pinnen - GPIO6 tot GPIO11
De meeste ESP8266-kaarten hebben een flash-chip die is aangesloten op sommige of alle GPIO6-GPIO11. De meeste programma's gebruiken zowel flash-geheugen als RAM, dus tenzij u er specifiek voor zorgt dat uw code alleen vanuit RAM wordt uitgevoerd, kunt u deze pinnen niet voor andere doeleinden gebruiken.
Het exacte aantal pinnen dat in het bereik GPIO6 tot GPIO11 wordt gebruikt, hangt af van het type flash-hardware dat op uw module wordt gebruikt. Quad IO gebruikt 4 lijnen voor data (6 pinnen in totaal) voor maximaal 4 keer de snelheid van standaard. Dual IO gebruikt 2 lijnen voor data (totaal 4 pinnen) Standaard gebruikt een enkele lijn voor data (3 pinnen in totaal).
Tenzij je precies weet wat je board nodig heeft, kun je GPIO6 tot GPIO11 het beste negeren en er niet naar verwijzen vanuit je code.
Stap 2: GPIO0-, GPIO2- en GPIO15-pinnen
Deze pinnen bepalen in welke modus de chip opstart.
Voor normale programma-uitvoering moeten GPIO0 en GPIO2 worden opgetrokken tot Vcc (3,3V) en GPIO15 moet worden getrokken naar GND, elk met een weerstand in het bereik van 2K tot 10K weerstand. Een weerstand van 2K geeft een betere ruisimmuniteit. OLIMEX gebruikt 2K weerstanden SparkFun gebruikt 10K weerstanden. Ik gebruik 3K3 weerstanden.
De instellingen van deze ingangen worden alleen gecontroleerd tijdens het opstarten (of resetten) van de chip. Daarna zijn de pinnen beschikbaar voor algemeen gebruik, maar zoals hieronder wordt besproken, wordt hun gebruik beperkt door deze externe pull-up/down-weerstanden.
Stap 3: GPIO0, GPIO2 en GPIO15 gebruiken als uitgangen
Zoals hierboven vermeld, hebben deze pinnen al een weerstand die is aangesloten op VCC (GPIO0 en GPIO2) of GND voor GPIO15. Dit bepaalt hoe een extern apparaat, zoals een relais of led+weerstand, moet worden aangesloten. Voor GPIO0 en GPIO2 moet een extern relais worden aangesloten tussen VCC en de pin, zodat deze de werking van de pull-up-weerstand niet verstoort. Omgekeerd moet een extern relais dat is aangesloten op GPIO15 worden aangesloten tussen GND en de pin, zodat het de werking van de pull-down-weerstand niet verstoort.
Om het externe apparaat te activeren, moet GPIO0 of GPIO2 LOW (Actief LOW) worden aangestuurd, terwijl GPIO15 HIGH (Active HIGH) moet worden aangestuurd.
Het bovenstaande schema laat zien hoe GPIO0 en GPIO2 en GPIO15 als uitgangen kunnen worden gebruikt. Deze schakeling bevat ook de nodige pullup/pulldown-weerstanden. Let op: de 5V-relaismodule aangedreven door GPIO0 is opto-geïsoleerd en heeft een aparte gemeenschappelijke aansluiting voor de ingang. Het is belangrijk dat de 5V VCCA-spanning niet wordt toegepast op de ESP8266-pin.
Hoe te herprogrammeren bij gebruik van GPIO0 als uitgang
Opmerking: GPIO0 moet worden geaard om in de programmeermodus te komen. Als je schets het hoog maakt, kan het aarden je ESP8266-chip beschadigen. De veilige manier om de ESP8266 te herprogrammeren wanneer uw code de GPIO0-uitgang aanstuurt, is om: - a) het bord uit te schakelen b) GPIO0 kort te zetten naar gnd c) het bord aan te zetten dat in de programmeermodus gaat vanwege de kortsluiting op GPIO0 d) verwijderen de kortsluiting van GPIO0 zodat u de uitgang niet kortsluit wanneer het programma wordt uitgevoerd e) herprogrammeer de kaart f) schakel de kaart indien nodig uit.
Stap 4: GPIO0, GPIO2 en GPIO15 gebruiken als invoer
Het gebruik van deze pinnen als invoer is een beetje lastig. Zoals hierboven vermeld, moeten deze pinnen bij het opstarten en tijdens het resetten omhoog of omlaag worden getrokken om de ESP8266-module in de normale bedrijfsmodus te laten opstarten. Dit betekent dat u in het algemeen niet zomaar een externe schakelaar op deze pinnen kunt aansluiten, omdat u bij het opstarten meestal niet kunt garanderen dat de schakelaar de ingang niet naar aarde trekt en zo de module niet correct start.
De truc is om de externe schakelaar niet rechtstreeks van de GPIO0 of GPIO2 op GND aan te sluiten, maar in plaats daarvan op een andere GPIO-pin die pas naar aarde wordt gestuurd (als een uitgang) nadat de ESP8266 is opgestart. Onthoud dat wanneer ze als uitgangen worden gebruikt, de GPIO-pinnen een verbinding met een zeer lage weerstand bieden met VCC of GND, afhankelijk van of ze HOOG of LAAG worden aangestuurd.
Hier komen alleen GPIO0 en GPIO2 in aanmerking. Met deze methode kunt u één (1) optellingsinvoer krijgen met behulp van deze twee (2) GPIO's.
Een vergelijkbare methode kan worden gebruikt voor GPIO15 door een andere GPIO-pin te gebruiken om de schakelaar op +VCC aan te sluiten, maar dit krijgt geen extra ingang, je kunt net zo goed de andere GPIO-pin direct als ingang gebruiken.
Het bovenstaande circuit gebruikt de ESP8266-01-module als voorbeeld. Zonder deze truc te gebruiken, heeft de ESP8266-01 geen vrije pinnen om als invoer te gebruiken als je al pinnen RX/TX gebruikt voor een UART-verbinding.
Aangezien de setup()-methode van de sketch alleen wordt uitgevoerd nadat de ESP8266-module is opgestart, is het veilig om de GPIO0-uitgang dan LAAG te maken en zo een aarde te voorzien voor S1 die is aangesloten op GPIO2. U kunt dan digitalRead(2) elders in uw schets gebruiken om de schakelaarinstelling te lezen.
Conclusie
Deze korte notitie laat zien hoe je GPIO0, GPIO2 en GPIO15 als uitgangen gebruikt en hoe je een extra ingang krijgt door GPIO0 en GPIO2 samen te gebruiken.
Aanbevolen:
Hoe ESP8266 als webserver te gebruiken: 5 stappen
Hoe ESP8266 als webserver te gebruiken: Hallo, ik gebruik momenteel Windows 10, NodeMCU 1.0 en hier is de lijst met software die ik heb gebruikt en installatiehandleidingen die ik heb gevolgd: Arduino IDE Extra boards voor esp8266 SpiffLibrary gebruikt: WebsocketIk gebruikte NodeMCU als een server om serveer een HTML-bestand Ik ben gek
ESP8266 NODEMCU BLYNK IOT-zelfstudie - Esp8266 IOT Blunk en Arduino IDE gebruiken - Led's bedienen via internet: 6 stappen
ESP8266 NODEMCU BLYNK IOT-zelfstudie | Esp8266 IOT Blunk en Arduino IDE gebruiken | LED's bedienen via internet: Hallo jongens, in deze instructables zullen we leren hoe we IOT kunnen gebruiken met onze ESP8266 of Nodemcu. We zullen daarvoor de blynk-app gebruiken. Dus we zullen onze esp8266/nodemcu gebruiken om de LED's via internet te bedienen. Dus de Blynk-app wordt verbonden met onze esp8266 of Nodemcu
Mac Terminal gebruiken en toetsfuncties gebruiken: 4 stappen
Mac Terminal gebruiken en toetsfuncties gebruiken: We laten u zien hoe u de MAC Terminal opent. We zullen u ook enkele functies binnen de Terminal laten zien, zoals ifconfig, mappen wijzigen, toegang tot bestanden en arp. Met Ifconfig kunt u uw IP-adres en uw MAC-advertentie controleren
Orange Pi gebruiken zonder monitor door SSH en VNC-server te gebruiken - Ajarnpa
Gebruik Orange Pi zonder monitor door SSH en VNC-server te gebruiken: Orange Pi is als een minicomputer. Het heeft alle basispoorten die een normale computer heeft.Zoals HDMIUSBEthernetIT heeft een aantal speciale speciale poorten ZoalsUSB OTGGPIO-headersSD-kaartsleufParallelle camerapoortAls u orange pi wilt bedienen, moet u o
Hoe de Wiimote als computermuis te gebruiken Kaarsen als sensor gebruiken!! - Ajarnpa
De Wiimote als computermuis gebruiken Kaarsen als sensor gebruiken!!: Deze gids laat je zien hoe je je Wii-afstandsbediening (Wiimote) op je pc aansluit en als muis gebruikt