Het gebruik van de pinnen van de ESP8266-01 (4 / 4 stap)

Stap 4: Een andere truc – rijden een relais en het lezen van een drukknop met behulp van GPIO0 / GPIO2


Hier is een andere manier voor het configureren van de pinnen. Opmerking: Deze truc werkt alleen als u een Relais module met een geïsoleerde inbreng (N1 en N1-com). Vanwege deze beperking en de complexiteit van de ondersteunende code is het vorige voorbeeld, met behulp van RX als input, beter.

Met behulp van ESP8266 GPIO0/GPIO2/GPIO15 pinnen heeft reeds het gebruik van GPIO0/GPIO2 samen om een extra ingang. Hier is dat voorbeeld zal worden uitgebreid tot het GPIO0 als een stuurprogramma relaisuitgang en GPIO0/GPIO2 gebruiken als input.

Hier is het schema als een PDF-bestand.

Hier GPIO0 wordt gebruikt als een vermogen om te rijden het Relais en GPIO0/GPIO2 wordt gebruikt als input voor het lezen van de kortstondige drukknop die wordt gebruikt als een handbediende keuzehefboom om te schakelen de relais in- en uitschakelen, naast de afstandsbediening via de WiFi-verbinding. De kortstondige push-knop wordt ook gebruikt om de config-modus als het druk is, wanneer de macht wordt toegepast.

De truc hier is om dit alles terwijl nog GPIO0 en GPIO2 hoog wanneer de ESP8266 module wordt geïnitialiseerd.

De pull-up weerstanden, R1 en R3, de noodzakelijke hoge voorzien in deze twee pinnen, maar hebt om ervoor te zorgen dat elke extra circuits gekoppeld aan GPIO0 en GPIO2 niet niet pinnen laag overhalen. De optisch geïsoleerd estafette is aangesloten tussen + 3,3 v en GPIO0. Dit houdt GPIO0 hoog op opstarten maar GPIO0 naar een uitgang worden gemaakt na het opstarten, en de estafette input voor het bedienen van de estafette op de grond staat. Het niet van belang als de kortstondige drukknop wordt bediend terwijl de module wordt geïnitialiseerd, zoals dat enkel GPIO0 met GPIO2 verbindt en verbinden beide aan hun pullup weerstanden.

Opsporen van Config-modus

Met behulp van de ESP8266 als een tijdelijke toegangspunt kunt configureren via een web-pagina zoals hier beschreven. Onderdeel van dat proces is het gebruik van een drukknop of kortsluiting koppeling, op power-up om aan te geven de software dat u wilt invoeren config-modus.

Zodra de ESP8266 module is geïnitialiseerd, loopt de Setup -code. In deze code, detecteren dat als de kortstondige push-knop wordt gedrukt, je moet niet maken GPIO0 laag te voorzien van een GND tot drukknop en controleer vervolgens de GPIO2 ingang om te zien of het laag. De invloed van een kant van deze controle is dat het Relais altijd zal worden geëxploiteerd wanneer de eenheid in config-modus wordt gezet. Zodra u ziet het Relais werken kunt kunt u de drukknop, vrijgeven omdat haar inbreng zal zijn opgetreden tegen die tijd. Hier is een steekproefcode om dit te doen in de Setup

 boolean configMode = false; // not in config mode normally void setup() { pinMode(0, OUTPUT); digitalWrite(0, LOW); // make GPIO0 output low // check GPIO2 input to see if push button pressed connecting it to GPIO0 configMode = (digitalRead(2) == LOW); if (configMode) { // start AP and get ready to serve config web page // leave relay on to indicate in config mode //...... } else { // normal usage // make GPIO0 HIGH to turn off the relay digitalWrite(0, HIGH); //..... } // rest of setup() } 

Opsporen van de drukknop handbediende keuzehefboom

De vorige sectie gedekt detecteren wanneer de push-knop werd ingedrukt op de macht tot config-modus inschakelen. Wij willen ook dat push-knop gebruiken als een handbediende keuzehefboom voor het draaien van de estafette in- en uitschakelen naast zijnde kundig voor controle van de estafette via de WiFi-verbinding.

De WiFi controle van het Relais is hier niet onder, maar kan gemakkelijk worden gedaan met behulp van pfodApp. Zie OLIMEX Menu Generator voor het genereren van de code van de Arduino met pfodDesigner voor de ESP8266 modules.

In deze sectie zullen behandelen hoe te detecteren wanneer de drukknop is geduwd, die aangeeft dat de gebruiker wil de estafette in-/ uitschakelen, d.w.z. zwenking op vandoor is het op of zet hem op als het is uitgeschakeld. Het schema is hetzelfde als hierboven, alle trucs worden in de code. Er zijn twee case te overwegen:-

  1. Het Relais is OFF en de gebruiker wenst in te schakelen met de drukknop,
  2. Het Relais is ingeschakeld en de gebruiker wil uitschakelen met behulp van de drukknop.

Het Relais is OFF en de gebruiker wenst in te schakelen met de drukknop.

In dit geval is de output van de GPIO0 hoog. GPIO0 kan wel dat een bijdrage in dit geval als de pull up weerstand R1 de estafette zorgt wordt niet ingeschakeld. Dat is de truc. In this case maken GPIO0 een ingang en GPIO2 uitgang laag en dan wanneer de gebruiker duw op de knop drukt, zal er twee dingen gebeuren: - a) het Relais wordt ingeschakeld als gevolg van de grond geleverd door GPIO2 via de drukknop en b) de Input-GPIO0 laag zal gaan. De code controleert de status van de Input-GPIO0 en wanneer het gaat laag kent de code het gebruik de drukknop heeft ingedrukt en wil de estafette op. De code maakt GPIO0 dan een DIEPTEPUNT van de Output te houden van de estafette op wanneer de knop wordt losgelaten.

Het Relais is ingeschakeld en de gebruiker wil uitschakelen met behulp van de drukknop.

In dit geval is naar aanleiding van het bovenstaande geval, GPIO0 een Output-laag houden van de relay-ON. Nu voor dit geval maak GPIO2 een Input (trok door R3) en vervolgens wanneer de gebruiker op de knop de Input-GPIO2 wordt getrokken laag door de lage Output op GPIO0. Wanneer het gebruik releases de drukknop de code de lage tot hoge overgang detecteren en vervolgens maakt GPIO0 een Input, die met de estafette als gevolg van de aantrekkingskracht van weerstand, R1, releases en maakt GPIO2 een lage Output instellen voor het geval ik) hierboven.

Één meer truc. Case ii) hebben we nodig GPIO2 als een Input die detecteert een lage tot hoge overgang het Relais om uit te schakelen. Maar als we het maken van GPIO2 en input aan het einde van de zaak ik) dan zullen we een lage tot hoge overgang zodra de gebruiker de drukknop ze gewoon ingedrukt om te schakelen de relais worden vrijgegeven. Om te voorkomen dat het Relais dan weer direct uit te draaien, de eerste lage tot hoge overgang na het draaien van de estafette zullen genegeerd worden, omdat het alleen de gebruiker die het vrijgeven van de drukknop is ze ingedrukt om te schakelen de Relais.

Monster loop Code voor Relay handleiding overmatige rit

In deze code ben ik negeer schakelaar ontdendering voor eenvoud. De ingangen moeten worden debounced in een echte toepassing.

De voorbeeldcode is hier, ESP8266_01pinMagic_1.ino

Nogmaals dit laat de TX / RX beschikbaar voor seriële debuggen of gebruik als andere I/O pinnen

Conclusie

Deze pagina laat zien hoe je het meeste uit de beperkte pinnen beschikbaar op de ESP8266-01. Met behulp van GPIO0 / GPIO2 als een I2C-bus geeft de grootste uitbreiding, maar als u project geen I2C gebruikt, u kunt nog steeds rijden een relais en een drukknop invoeren met behulp van GPIO0 detecteren / GPIO2. In of geval TX / RX zijn ook beschikbaar voor het debuggen van de seriële of als u debug print verklaringen via de WiFi-verbinding verzendt, deze pinnen zijn beschikbaar voor algemene I/O evenals...

Gerelateerde Artikelen

Het gebruik van virtuele pinnen in Blynk

Het gebruik van virtuele pinnen in Blynk

Hallo iedereen. Ik was knutselen met de blynk app en wilde een manier vinden om het gebruik van de virtuele pinnen... Hier is wat ik kwam met tot nu toe...In wezen is dit project gebruikt en LDR verbonden met adc pin om over te schakelen op een virtu
3DOF bal over het gebruik van de plaat gesloten lus stappenmotoren

3DOF bal over het gebruik van de plaat gesloten lus stappenmotoren

De bal op plaat probleem bestaat uit een vlakke plaat waaraan een bal moet worden geplaatst. Bal positionering wordt alleen bereikt door unstable evenwicht waar elke kleine veranderingen in de hoek van de plaat in de continue versnelling van de bal r
Het gebruik van een Nokia kleur LCD!

Het gebruik van een Nokia kleur LCD!

Nokia produceert een breed scala aan mobiele telefoons en veel van hun goedkopere telefoons bevatten eenvoudige LCD's die kunnen worden gebruikt in de microcontroller projecten.  Er is één bepaalde LCD-model dat wordt gebruikt in een breed scala aan
Het gebruik van Inkscape voor Arduino labels en projecten

Het gebruik van Inkscape voor Arduino labels en projecten

Een jaar geleden kwam ik een artikel in noten en volt Magazine over het maken van professioneel uitziende panelen voor projecten. Het artikel wordt op lijn en verklaart het veel beter dan ik kan, met veel meer detail. Ik verzoek u om de uitstekende t
Het gebruik van IR-afstandsbedieningen met Arduino (huidige en bijgewerkte)

Het gebruik van IR-afstandsbedieningen met Arduino (huidige en bijgewerkte)

Ik ben moe van deze ingewikkelde tutorials over het gebruik van bepaalde dingen. Ik hou van eenvoudige, gemakkelijk te begrijpen, stap voor stap instructies. Mijn grootste probleem was met IR en POV. Ik heb eindelijk onder de knie hoe u kunt besturen
Het gebruik van de Adafruit Pro Trinket bestuur - Arduino tutorial Arduino Tutorial

Het gebruik van de Adafruit Pro Trinket bestuur - Arduino tutorial Arduino Tutorial

In deze tutorial leert u hoe u de Adafruit Pro Trinket bestuur en hoe kun je gemakkelijk programmeren met Codebender!Dit kleine bord gebruikt de ATmega328p microcontroller, het is als een Arduino Pro Mini, maar met meer pinnen en micro ingebouwde USB
Het gebruik van een fabrikant geleverde Model in LTspice

Het gebruik van een fabrikant geleverde Model in LTspice

LTspice komt met eigen bibliotheken van modellen. Het is vrij uitgebreid en is niet verwonderlijk dat het bevat een grote hoeveelheid onderdelen van de lineaire technologieën (zoals het is een of andere manier "gesponsord" door LT). Het idee is
Het gebruik van Potentiometer - Arduino tutorial Arduino Tutorial

Het gebruik van Potentiometer - Arduino tutorial Arduino Tutorial

Voor degene die beginnen te leren over Robotica, met name op het gebied van de bouw van circuits, kan je zijn gekomen over de vraag hoe om de helderheid van een LED, zonder te houden schakelen delen wijzigen. Heel eenvoudig, is de oplossing voor dit
Het gebruik van de IR-bibliotheek met een attiny

Het gebruik van de IR-bibliotheek met een attiny

Dit Instructable zal u vertellen hoe het gebruik van de IR (infrarood) bibliotheek op een Attiny. Ik zal met behulp van een Attiny85 met een Arduino Uno. Ik zal niet dekken hoe te uploaden schetsen naar de Attiny enkel het gebruik van de IR-bibliothe
Het gebruik van de spraakherkenning voor sprekende ES6928P, System_Stand-alleen/NO PC vereist

Het gebruik van de spraakherkenning voor sprekende ES6928P, System_Stand-alleen/NO PC vereist

Hallo iedereen!  Welkom bij mijn Instructable!Bedankt voor het feit dat een kijkje.  Ongeveer acht maanden geleden, heb ik besloten dat een van mijn nieuwe ventures zijn zou het creëren van een stem stelsel van de erkenning die kan worden opgeleid ma
Het gebruik van de Dragon Rider 500 met uw AVR Dragon

Het gebruik van de Dragon Rider 500 met uw AVR Dragon

dit instructable is een spoedcursus in het gebruik van enkele van de kenmerken van de Dragon Rider 500 van Ecros technologieën. Wees u ervan bewust dat er een zeer gedetailleerde handleiding beschikbaar op de website Ecros is.De Dragon Rider is een i
Het gebruik van een IC-DAC

Het gebruik van een IC-DAC

Hallo!Er zijn een aantal daar tutorials die uitleggen hoe het gebruik van een ladder van de weerstand R-2R als een digitaal naar analoog converter (DAC), zoals dit één, maar niet erg veel zijn daar waarin wordt uitgelegd hoe je een DAC thats een geïn
Het gebruik van de Raspberry Pi als een Server

Het gebruik van de Raspberry Pi als een Server

De belangrijkste reden achter de ongelooflijke populariteit van de Raspberry Pi is het nut ervan. De kleine computer kan worden gebruikt voor een aantal leuke projecten die niet alleen voorzien in bepaalde behoeften maar ook fantastische leermiddelen
Het gebruik van een Phantom USB Port #2

Het gebruik van een Phantom USB Port #2

als er pinnen op de moederbord ter ondersteuning van USB-aansluitingen zijn, krijg je meestal een kabel (of soortgelijke) om deze havens uit de voorkant of de achterkant van het doosje.MAAR wat u geacht worden te doen met 5 van de poort op een USB-ka