Stap 4: Gebruik van GPIO0, GPIO2 en GPIO15 als input.
Het gebruik van deze pinnen als ingangen is een beetje lastig. Zoals hierboven vermeld op de macht omhoog en tijdens reset, moeten deze pinnen worden getrokken omhoog of omlaag als nodig is om de ESP8266 module opstarten in normale Loopmodus. Dit betekent dat, in het algemeen, u kan niet alleen een externe schakelaar hechten aan deze pinnen omdat op kracht omhoog u gewoonlijk niet kan garanderen de schakeloptie zullen niet trekken de ingang om te aarden en zo te voorkomen dat de module juist wordt gestart.
De truc is om geen verbinding te maken met de externe schakelaar rechtstreeks vanuit de GPIO0 of GPIO2 met GND maar aan te sluiten in plaats daarvan aan een ander GPIO pin die wordt gedreven aan de grond (als uitgang) pas na de ESP8266 opgestart. Vergeet niet, wanneer gebruikt als uitgang, de GPIO pinnen geven een zeer lage weerstand verbinding VCC of GND afhankelijk van of ze gedreven hoog of laag zijn.
Hier wordt alleen de GPIO0 en de GPIO2 beschouwd. Met behulp van deze methode kunt u één (1) invoeren met behulp van deze twee (2) GPIO van toevoeging.
Een soortgelijke methode kan worden gebruikt voor GPIO15 met behulp van een andere GPIO pin om verbinding te maken met de overstap naar + VCC, maar dit is niet een extra ingang, u misschien net zo goed de andere GPIO pin direct gebruiken als een input.
Het bovenstaande circuit gebruikt de ESP8266-01 module als voorbeeld. Zonder gebruik te maken van deze truc, hoeft de ESP8266-01 niet gratis pinnen te gebruiken als een input als u pinnen RX/TX al voor een verbinding van de UART gebruikt.
Aangezien van de schets Setup methode wordt alleen uitgevoerd nadat de ESP8266 module is opgestart, is het veilig om te maken GPIO0 output van lage vervolgens en bieden zo een grond voor S1 verbonden met GPIO2. Vervolgens kunt u digitalRead(2) elders in uw schets te lezen de schakelaarinstelling.
Conclusie
Deze korte nota toont hoe gebruikte GPIO0, GPIO2 en GPIO15 als uitgang en hoe te gebruiken krijgen een extra ingang met behulp van GPIO0 en GPIO2 samen.