- Vereiste hardware:
- Schematische toelichting:
- TIPS OM ESP8266 GPIO-PINS TE GEBRUIKEN:
- door CircuitDigest
- Uitgang:
Domotica is voor de meesten van ons altijd al inspirerende projecten geweest. Het omschakelen van een AC-belasting vanuit het comfort van onze stoelen of bed van elke kamer zonder naar de schakelaar in een andere kamer te grijpen, klinkt cool, nietwaar !!, Dankzij de ESP8266-modules kan dit idee eenvoudig worden geïmplementeerd met subtiele kennis van elektronica.
Laten we in dit project leren hoe we een aansluitdoos kunnen maken waarvan de schakelaars op afstand kunnen worden geschakeld met behulp van uw telefoon of computer met actieve internetverbinding. Dit project is in staat om twee wisselstroombelastingen te schakelen waarvan de stroomsterkte niet meer is dan 5A of ~ 800Watt. Zodra u het concept begrijpt, kunt u het aantal AC-belastingen uitbreiden door geavanceerde ESP-modules te gebruiken en ook het vermogen van de belastingen verhogen door relais met een hoge rating te gebruiken.
In deze tutorial wordt ervan uitgegaan dat je ervaring hebt met het gebruik van ESP8266-modules met Arduino IDE. Zo niet, ga dan naar Aan de slag met ESP8266 WiFi-transceiver (deel 1) en Aan de slag met ESP8266 (deel 3): ESP8266 programmeren met Arduino IDE en de zelfstudies over het geheugen flashen voordat u verder gaat.
Vereiste hardware:
De hardware die nodig is voor dit project wordt hieronder vermeld:
- ESP8266
- FTDI-module (voor programmeren)
- 3V 5A elektromagnetisch relais (2Nos)
- AC-DC-omvormermodule (5V / 700mA of hoger)
- BC547 (2Nos)
- LM317-regelaar
- 220ohm en 360ohm weerstand
- 0.1 en 10uf condensator
- IN007 diode (2Nos)
- Aansluitdoos
- Draden voor verbinding
Schematische toelichting:
Het volledige schema van dit project wordt hieronder weergegeven:
De Schema's bestaan uit een AC naar DC converter module waarvan de output 5V en 700mA zal zijn. Omdat onze ESP8266-modules werken op 3.3V, moeten we de 5V converteren naar 3.3V. Daarom wordt een LM317 Variabele spanningsregelaar-IC gebruikt om 3.3V voor de ESP-modules te regelen. Om de wisselstroombelastingen om te schakelen, hebben we een elektromagnetisch relais gebruikt, dit relais heeft 3V nodig om te bekrachtigen en kan tot 5A weerstaan die door de gemeenschappelijke (C) en de normaal open (NO) pin van het relais stroomt. Om de relais aan te sturen hebben we een BC547 NPN-transistor gebruikt die wordt geschakeld door de GPIO-pinnen van de ESP-modules.
Omdat de ESP8266-modules worden geleverd met ingebouwde GPIO-pinnen, is het project vrij eenvoudig geworden. Maar voorzichtigheid is geboden bij het gebruik van de GPIO-pinnen van een ESP-module, deze worden hieronder besproken.
TIPS OM ESP8266 GPIO-PINS TE GEBRUIKEN:
- De ESP8266-01-module heeft twee GPIO-pinnen die respectievelijk de GPIO0- en GPIO2-pinnen zijn.
- De maximale bronstroom van de GPIO-pinnen is 12mA.
- De maximale zinkstroom van de GPIO-pinnen is 20mA.
- Vanwege deze lage stroom kunnen we geen fatsoenlijke belastingen zoals een relais rechtstreeks vanaf de pinnen aansturen, een stuurcircuit is verplicht.
- Er mag geen belasting zijn aangesloten op de GPIO-pinnen wanneer de ESP-module is ingeschakeld. Anders komt de module vast te zitten in een reset-lus.
- Als u meer stroom zakt dan de aanbevolen stroom, worden de GPIO-pinnen van uw ESP8266-module gefrituurd, dus wees voorzichtig.
Om de bovenstaande tekortkomingen van de ESP8266-module te verhelpen, hebben we een BC547 gebruikt om de relais aan te sturen en een schakelaar tussen de zender en de aarde van de BC547-transistors gebruikt. Deze verbinding moet open zijn als de ESP-module is ingeschakeld, dan kan deze worden gesloten en als zodanig worden gelaten.
Hardware:
Zodra u het schema begrijpt, soldeert u het circuit gewoon op een stuk Perf Board. Maar zorg ervoor dat je board ook in de Junction box past.
De AC-DC-omzetter die in dit project wordt gebruikt, levert 5V met 700mA continue en 800mA piekstroom. U kunt er gemakkelijk een vergelijkbaar online kopen, omdat ze gemakkelijk verkrijgbaar zijn. Het ontwerpen van onze eigen converter of het gebruik van een batterij zal minder efficiënt zijn voor ons project. Zodra je deze module hebt gekocht, soldeer je gewoon een draad aan de ingangsklem en ben je klaar voor de rest van het circuit.
Als alles is gesoldeerd, zou het er ongeveer zo uit moeten zien.
Zoals je ziet heb ik drie 2-polige klemmenkasten gebruikt. Waarvan de ene wordt gebruikt om de + V van de AC-DC-omvormermodule in te voeren en de andere twee worden gebruikt om de AC-belastingen op het relais aan te sluiten.
Laten we nu de terminals op de aansluitdoos verbinden met ons Perf-bord.
Je merkt dat mijn aansluitdoos drie klemmen (steekpunten) heeft. Waarvan de ene (de meest rechtse) wordt gebruikt om onze AC-Dc-convertormodule van stroom te voorzien, de andere twee worden gebruikt om de AC-belastingen aan te sluiten. Zoals u kunt zien, is de neutrale draad (zwarte draad) verbonden met alle drie de stekkerpunten. Maar de fasedraad is (gele draad) is vrij gelaten. De fase-uiteinden van de twee stekkerpunten (twee rode draden) worden ook vrijgelaten. Al deze drie vrije draden moeten worden aangesloten op de relaisklemmen die we aan ons Perf-bord hebben toegevoegd, zoals hieronder weergegeven
Mijn Perf board past perfect in de Junction Box, zorg dat die van jou ook past. Zodra de verbindingen zijn gemaakt, uploadt u het programma naar de ESP-module, monteert u het op het Perf-bord en schroeft u de aansluitdoos vast.
ESP8266-programma:
Onze ESP8266-module is geprogrammeerd met behulp van de Arduino IDE. Zoals eerder gezegd, als je wilt weten hoe je je ESP programmeert met Arduino IDE, bezoek dan de tutorial in de link. Aan het einde van deze tutorial wordt het volledige programma gegeven. Het concept van het programma spreekt voor zich, maar hieronder worden enkele belangrijke regels besproken.
const char * ssid = "BPAS home"; // Voer hier je Wifi SSID in const char * password = "cracksun"; // Voer hier uw wachtwoord in
De ESP-module zal fungeren als station en toegangspunt in ons project. Het moet dus verbinding maken met onze router als het als station fungeert. De bovenstaande regels code worden gebruikt om de SSID en het wachtwoord van onze router in te voeren. Verander het volgens uw router.
mainPage + = "
Slimme aansluitdoos
door CircuitDigest
Schakelaar 1
"; mainPage + ="Schakelaar 2
"; feedback ="Zowel schakelaar 1 als schakelaar 2 zijn UIT
";Wanneer we verbinding maken met het IP-adres van de module, wordt een webpagina weergegeven die op HTML draait. Deze HTML-code moet worden gedefinieerd in ons Arduino-programma zoals hierboven weergegeven. Dit vereist niet dat u HTML van tevoren kent, lees gewoon de HTML-tags en vergelijk ze met de uitvoer, u zult begrijpen wat elke tag vertegenwoordigt.
U kunt deze HTML-code ook kopiëren en in een txt-bestand plakken en het uitvoeren als HTML-bestand voor foutopsporing.
while (WiFi.status ()! = WL_CONNECTED) {vertraging (500); Serial.print ("."); } Serial.println (""); Serial.print ("Verbonden met"); Serial.println (ssid); Serial.print ("IP-adres:"); Serial.println (WiFi.localIP ());
We gebruiken ook de optie Seriële monitor voor het debuggen van de ESP-module en weten welke status het programma momenteel heeft. De seriële monitor zal "." Totdat de ESP verbinding heeft gemaakt met de router. Zodra de verbinding tot stand is gebracht, krijgt u het IP-adres van de webserver, de code hiervoor wordt hierboven weergegeven.
server.on ("/ switch1On", () {feedback = "
Schakelaar 1 ingeschakeld
"; currentPage = mainPage + feedback; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_0, HIGH); delay (1000);});Zodra we het IP-adres kennen, hebben we toegang tot de HTML-code met dat IP-adres in onze browser. Wanneer nu op elke knop wordt gedrukt, wordt een verzoek als client naar de ESP-module gestuurd. Op basis van dit klantverzoek zal de module reageren. Als de klant bijvoorbeeld om "/ switchOn" heeft gevraagd, zal de module de HTML-code bijwerken en naar de klant sturen en ook de GPIO-pin HOOG draaien. De code voor hetzelfde wordt hierboven weergegeven. Op dezelfde manier wordt voor elke actie een server.on () gedefinieerd.
Uitgang:
Zodra u klaar bent met de hardware en het programma, uploadt u het programma naar onze ESP8266-module zoals weergegeven in deze tutorial. Klik vervolgens op seriële monitor van de Arduino IDE, je zou zoiets als dit moeten zien als de SSID en het wachtwoord overeenkomen
Noteer het IP-adres dat wordt weergegeven in de seriële monitor. In mijn geval is het IP-adres ”http://192.168.2.103”. We moeten dit IP-adres in onze browser gebruiken om toegang te krijgen tot de ESP-webpagina.
Plaats nu de ESP-module in ons relaisbord, sluit de aansluitdoos en schakel deze in, en sluit vervolgens de GPIO-pinnen kort op de belasting. Als alles naar behoren heeft gewerkt wanneer u het IP-adres in uw browser invoert, zou u het volgende scherm moeten zien
Zet nu gewoon de schakelaar die u wilt AAN / UIT en het zou moeten worden weerspiegeld op de daadwerkelijke hardware. Dat zijn het niet, jullie kunnen je favoriete AC-belasting wisselen door ze eenvoudigweg op het stopcontact aan te sluiten. Ik hoop dat je het project leuk vond en het liet werken, als je het commentaargedeelte niet gebruikt, help ik je graag verder.
De volledige werking van dit doe-het-zelf-slimme aansluitdoosproject wordt getoond in de onderstaande video.