- Nødvendig hardware:
- Skematisk forklaring:
- TIPS TIL BRUG ESP8266 GPIO PIN-KODER:
- af CircuitDigest
- Produktion:
Hjemmeautomation har altid været inspirerende projekter for de fleste af os. At skifte en AC-belastning fra komforten af vores stole eller seng i ethvert rum uden at nå ud til kontakten i et andet rum lyder ikke cool !!, Takket være ESP8266-modulerne kan denne idé let implementeres med subtil viden om elektronik.
Lad os i dette projekt lære at lave en Junction Box, hvis switche kan skiftes eksternt ved hjælp af din telefon eller computer med aktiv internetforbindelse. Dette projekt er i stand til at skifte mellem to vekselstrømsbelastninger, hvis aktuelle vurdering ikke er mere end 5A eller ~ 800Watt. Når du først har forstået konceptet, kan du udvide antallet eller vekselstrømsbelastningen ved hjælp af avancerede ESP-moduler og også øge belastningens effekt ved hjælp af relæer med høj klassificering.
Denne tutorial antager, at du har erfaring med at bruge ESP8266-moduler med Arduino IDE. Hvis ikke besøg Kom godt i gang med ESP8266 WiFi Transceiver (del 1) og Kom godt i gang med ESP8266 (del 3): Programmering af ESP8266 med Arduino IDE og blinkning af hukommelsesvejledningerne, inden du fortsætter.
Nødvendig hardware:
Den nødvendige hardware til dette projekt er angivet nedenfor:
- ESP8266
- FTDI-modul (til programmering)
- 3V 5A elektromagnetisk relæ (2Nos)
- AC-DC omformermodul (5V / 700mA eller derover)
- BC547 (2Nos)
- LM317 Regulator
- 220 ohm og 360 ohm modstand
- 0,1 og 10uf kondensator
- IN007-diode (2Nos)
- Samledåse
- Ledninger til tilslutning
Skematisk forklaring:
Den komplette skema for dette projekt er vist nedenfor:
Skemaet består af et AC til DC-konvertermodul, hvis output vil være 5V og 700mA. Da vores ESP8266-moduler arbejder på 3.3V, skal vi konvertere 5V til 3.3V. Derfor bruges en LM317 variabel spændingsregulator IC til at regulere 3,3 V til ESP-modulerne. For at skifte vekselstrømsbelastningen har vi brugt et elektromagnetisk relæ, dette relæ kræver 3V for at få strøm og kan modstå op til 5A, der flyder gennem Common (C) og den normalt åbne (NO) pin på Relæet. For at køre relæerne har vi brugt en BC547 NPN-transistor, der skiftes af GPIO-benene på ESP-modulerne.
Da ESP8266-modulerne leveres med indbyggede GPIO-ben, er projektet kommet til at være ret simpelt. Men der skal udvises forsigtighed, når du bruger GPIO-benene på et ESP-modul, de diskuteres nedenfor.
TIPS TIL BRUG ESP8266 GPIO PIN-KODER:
- ESP8266-01-modulet har to GPIO-ben, som henholdsvis er GPIO0 og GPIO2-ben.
- Den maksimale kildestrøm for GPIO-benene er 12 mA.
- GPIO-stifternes maksimale vaskestrøm er 20mA.
- På grund af denne lave strøm kan vi ikke køre anstændige belastninger som et relæ direkte fra stifterne, et førerkredsløb er obligatorisk.
- Der bør ikke være nogen belastning forbundet med GPIO-benene, når ESP-modulet er tændt. Andet modul sidder fast i en reset-loop.
- Hvis du synker mere strøm end den anbefalede strøm, stek dit ESP8266-modulets GPIO-ben, så vær forsigtig.
For at overvinde ovenstående mangler ved ESP8266-modulet har vi brugt en BC547 til at drive relæerne og brugt en switch mellem emitteren og jorden på BC547-transistorer. Denne forbindelse skal være åben, når ESP-modulet er tændt, og derefter kan det lukkes og efterlades som sådan.
Hardware:
Når du først har forstået skemaerne, lodder du blot kredsløbet på et stykke Perf Board. Men sørg for, at dit bord også passer ind i krydsfeltet.
AC-DC-konverteren, der anvendes i dette projekt, udgange 5V med 700mA kontinuerlig og 800mA spidsstrøm. Du kan nemt købe en lignende online, da de er let tilgængelige. At designe vores egen konverter eller bruge et batteri vil være mindre effektivt for vores projekt. Når du har købt dette modul, skal du blot lodde en ledning til indgangsterminalen, og du skal være klar til at gå med resten af kredsløbet.
Når alt er loddet, skal det se sådan ud.
Som du kan bemærke, har jeg brugt tre 2-polede terminalbokse. Heraf bruges den ene til at tilføre + V fra AC-DC-konvertermodulet, og de to andre bruges til at forbinde AC-belastningerne til relæet.
Lad os nu forbinde terminalerne på forbindelsesboksen til vores Perf-kort.
Du kan bemærke, at min samledåse har tre terminaler (stikpunkter). Ud af hvilken den ene (den mest rigtige) bruges til at drive vores AC-Dc-konvertermodul, bruges de to andre til at forbinde AC-belastningerne. Som du kan se, er den neutrale ledning (sort ledning) forbundet til alle tre stikpunkter. Men fasetråden er (gul ledning) er fri. Faseenderne på de to stikpunkter (to røde ledninger) er også fri. Alle disse tre ledninger skal forbindes til relæterminalerne, som vi tilføjede til vores Perf-kort som vist nedenfor
Mit Perf-kort passer perfekt ind i samledåsen, sørg for at din gør det også. Når forbindelserne er oprettet, skal du uploade programmet til ESP-modulet, montere det på Perf-kortet og skrue Junction-boksen.
ESP8266 Program:
Vores ESP8266-modul er programmeret ved hjælp af Arduino IDE. Som sagt tidligere, hvis du vil vide, hvordan du programmerer din ESP ved hjælp af Arduino IDE, skal du besøge vejledningen i linket. Det komplette program gives i slutningen af denne vejledning. Programmets koncept er selvforklarende, men få vigtige linjer diskuteres nedenfor.
const char * ssid = "BPAS hjem"; // Indtast dit Wifi SSID her const char * password = "cracksun"; // Indtast din adgangskode her
ESP-modulet fungerer som Station og adgangspunkt i vores projekt. Så det skal oprette forbindelse til vores router, når det fungerer som station. Ovenstående kodelinjer bruges til at føje SSID og adgangskode til vores router. Skift det i henhold til din router.
mainPage + = "
Smart Junction Box
af CircuitDigest
Kontakt 1
"; mainPage + ="Kontakt 2
"; feedback ="Både switch 1 og switch 2 er OFF
";Når vi opretter forbindelse til modulets IP-adresse, vises en webside, der kører på HTML. Denne HTML-kode skal defineres i vores Arduino-program som vist ovenfor. Dette kræver ikke, at du kender HTML inden hånden, skal du bare læse HTML-tags og sammenligne dem med det output, du vil forstå, hvad hvert tag repræsenterer.
Du kan også kopiere denne HTML-kode og indsætte den i en txt-fil og køre den som en HTML-fil til fejlfindingsformål.
mens (WiFi.status ()! = WL_CONNECTED) {forsinkelse (500); Serial.print ("."); } Serial.println (""); Serial.print ("Forbundet til"); Serial.println (ssid); Serial.print ("IP-adresse:"); Serial.println (WiFi.localIP ());
Vi bruger også Serial monitor-indstillingen til fejlfinding af ESP-modulet og ved, hvilken status programmet i øjeblikket fungerer. Den serielle skærm udsender “.” Indtil ESP har oprettet forbindelse til routeren. Når forbindelsen er oprettet, giver den dig webserverens IP-adresse, koden for den samme er vist ovenfor.
server.on ("/ switch1On", () {feedback = "
Kontakt 1 tændt
"; currentPage = mainPage + feedback; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_0, HIGH); forsinkelse (1000);});Når vi kender IP-adressen, kan vi få adgang til HTML-koden ved hjælp af denne IP i vores browser. Nu når der trykkes på hver knap, sendes en anmodning til ESP-modulet som klient. Baseret på denne klientanmodning vil modulet svare. For eksempel, hvis klienten har anmodet om “/ switchOn” opdaterer modulet HTML-koden og sender den til klienten og vender også GPIO-pin HØJ. Koden for det samme er vist ovenfor. På samme måde defineres en server.on () for hver handling.
Produktion:
Når du er klar med hardware og programmet, skal du uploade programmet til vores ESP8266-modul som vist i denne vejledning. Klik derefter på seriel skærm på Arduino IDE, du skal se noget som dette, hvis SSID og adgangskode matcher
Noter den IP-adresse, der vises på den serielle skærm. I mit tilfælde er IP-adressen ”http://192.168.2.103” Vi er nødt til at bruge denne IP i vores browser for at få adgang til ESP-websiden.
Anbring nu ESP-modulet i vores relækort, luk samledåsen, og tænd den, og kortslut derefter GPIO-stifterne til belastningen. Hvis alt har fungeret korrekt, når du indtaster IP-adressen i din browser, skal du se følgende skærmbillede
Nu skal du blot tænde / slukke for den kontakt, du kan lide, og den skal afspejles på den aktuelle hardware. Det er det, fyre, ikke du kan skifte din foretrukne vekselstrøm ved blot at forbinde dem til stikkontakten. Håber du kunne lide projektet og fik det til at fungere, hvis ikke brug kommentarsektionen, vil jeg gerne hjælpe dig.
Den komplette bearbejdning af dette DIY smart junction box-projekt er vist i videoen nedenfor.