Indholdsfortegnelse:

ESP8266 ESP-01 LED Wire Switch: 6 trin
ESP8266 ESP-01 LED Wire Switch: 6 trin

Video: ESP8266 ESP-01 LED Wire Switch: 6 trin

Video: ESP8266 ESP-01 LED Wire Switch: 6 trin
Video: Как запрограммировать модуль реле Wi-Fi ESP8266 ESP-01 2024, November
Anonim
ESP8266 ESP-01 LED Wire Switch
ESP8266 ESP-01 LED Wire Switch

Dette projekt opstod, da min kæreste og jeg installerede flere LED -fe -lyskabler i rummet for en dejlig julefølelse. Hver gang vi gik i seng måtte vi løbe rundt i rummet og lukke hver eneste ledning af. Forleden måtte vi tænde dem alle sammen igen.

Da jeg havde nogle ESP8266 ESP-01 moduler liggende, besluttede jeg at samle og programmere en hurtig prototype.

Efter den vellykkede implementering af prototypen med en uønsket LED -ledning besluttede jeg at tage mit første PCB -design på plads og bestilte et par tavler.

Denne instruktive leder dig gennem skematikken, den første prototype og printkortet og giver dig koden til at programmere ESP -modulet med et par klik.

TL; DR: Dette er en nem måde at implementere en Wi-Fi-styret switch med ESP8266 ESP-01.

Tilbehør:

Hardware

  • ESP8266 ESP-01 modul
  • AMS-1117 3.3V regulator
  • IRLB8721 MOSFET (endelig PCB) eller 2N2222 transistor (første prototype)
  • Hovedstænger til mænd og kvinder

Software

Arduino IDE v1.6

Til programmering

ÅBEN SMART USB til ESP-01 adapter

Til test

  • LED
  • 220 Ohm modstand
  • Brødbræt
  • Jumper kabler

Til montering

  • Loddekolbe
  • Ledninger (kun prototype; ikke til printkort)
  • Perf board (kun prototype; ikke til printkort)

Trin 1: Skematisk

Skematisk
Skematisk

Ovenfor er skematikken lavet med EasyEDA. Det kan opdeles sådan:

Vi tager en indgangsspænding fra et USB -strømkabel med 5V og indfører det i VIN -benene på AMS1117 3.3V -modulet.

VOUT-benene på AMS1117 3.3V-modulet er forbundet til kollektorstiften på IRLB8721 MOSFET og VIN- og CH_PD-benene på ESP8266 ESP-01-modulet. CH_PD-stiften skal trækkes HØJ for ESP8266 ESP-01-modulet for at udføre koden.

D2-stiften på ESP8266 ESP-01-modulet er forbundet til GATE-stiften på IRLB8721 MOSFET. Dette styrer, om strømmen må strømme igennem den eller ej.

Emitterstiften på IRLB8721 MOSFET er forbundet til LED -ledningen.

Endelig er alle jordstifter forbundet med hinanden.

Hvis du vælger 2N2222 -transistoren, skal du erstatte alle forekomster af IRLB8721 med henholdsvis 2N2222 og huske, at benene har forskellige betydninger på begge komponenter.

Trin 2: Programmering

Inden vi opretter en prototype på et brødbræt, skal vi programmere ESP8266 ESP-01-modulet, så vi kan teste prototypen senere.

Kode

Min kode er stærkt baseret på Random Nerd Tutorials tutorial til den enkle HTTP -server. Jeg fjernede dog den anden knap, da vi kun behøver at styre en pin (D2). Ikke desto mindre kan du bare bruge deres kode som den er og erstatte dine WiFi -legitimationsoplysninger.

Flash ESP8266 ESP-01

Hvis du skaffer dig OPEN-SMART USB til ESP-01-adapteren, kan du tilslutte dit ESP8266 ESP-01-modul til det og indstille kontakten til PROG. Slut derefter det hele til en ledig USB -port på din computer, og fyr Arduino IDE op.

Kopier og indsæt koden fra Random Nerd Tutorials, udskift dine WiFi-legitimationsoplysninger og upload den til ESP8266 ESP-01-modulet.

Fjern derefter ESP8266 ESP-01-modulet fra OPEN-SMART-adapteren, sæt kontakten til UART, og sæt den i igen.

Test koden

Åbn seriekonsollen i Arduino IDE, og vent, indtil modulet er forbundet til WiFi.

Åbn derefter din browser og naviger til den IP -adresse, der vises i Serial Console. Bemærk: Du skal være i det samme netværk aka WiFi. Ellers har du ikke adgang til ESP8266 ESP-01!

Hvis alt fungerer, ser du et websted med to knapper. Tilslut en LED med en 220 Ohm modstand til D2-stiften på ESP8266 ESP-01-modulet, og den skal lyse og slukke, når du klikker på den rigtige knap på webstedet.

Hvis du oplever problemer, skal du følge den fulde og detaljerede vejledning, der er linket ovenfor.

Trin 3: Prototyping

Prototyper
Prototyper
Prototyper
Prototyper

Opsæt et brødbræt med alle nødvendige komponenter og ledninger som vist i skematikken ovenfor, og test det med det programmerede ESP8266 ESP-01-modul.

Hvis alt fungerer, har du to muligheder.

Mulighed A: Lod det til et perfekt bord

Mulighed B: Lav et printkort

Jeg valgte først valgmulighed A og besluttede bagefter at gøre mine hænder beskidte med mit første PCB -projekt.

På billederne ser du min selvlodde prototype. Som altid er forbindelserne et rod, og jeg brugte nogle krympeslanger for at forhindre, at de overlappende forbindelser blev kortsluttet. Jeg brugte også 2N2222 -transistoren i stedet for IRLB8721 MOSFET, fordi jeg havde masser af dem liggende, og jeg vidste, at det ikke var meningen at blive.

Lodningen tog mig cirka en time, og det var slet ikke sjovt. Hvis du er en loddemester, kan du måske lide processen, men for mig vil jeg have noget enklere.

Trin 4: PCB

PCB
PCB
PCB
PCB

Jeg har været bange for PCB'er, fordi jeg troede, at jeg var nødt til at designe dem med SMD -komponenterne, og jeg kunne ikke finde let fremstillede ESP- eller Arduino -udviklingsmoduler til at indsætte i skematikken eller PCB -layoutet.

Til dette projekt besluttede jeg simpelthen at betragte ESP8266-01 og AMS1117 3.3. V modulerne som den slags ting, jeg skulle lodde på tavlen for at bruge dem: som kvindelige headerstifter.

Dette gjorde mit liv meget lettere, og PCB -layoutet blev udført på cirka to timer. Du kan se de to versioner på billederne.

Version 1 har nogle mindre forbehold:

1. Hovedstifterne er for smalle. Jeg tog ikke højde for, at de skulle være 2,54 mm fra hinanden og bare tog de første stifter fra biblioteket. Jeg rodede etiketten op til VIN: VCC og GND etiketter byttes. AMS1117 3.3V -modulet er bredere end jeg troede og spænder over kanten af printkortet.

Selvfølgelig lagde jeg mærke til disse forbehold efter at have bestilt og testet dem i det virkelige liv. De er ikke en game breaker, men jeg skabte en ny version, hvor jeg forbedrede de ovennævnte punkter. Jeg placerede også ESP8266 ESP-01-modulet på en måde, så det ikke overlappede AMS1117 3.3V-modulet.

Du kan finde EasyEDA-projektet her:

Trin 5: Fremskridt

Så her er vi med et let at samle PCB. Hvad er det næste?

Kabinet

Det ville være fantastisk at have en 3D -trykt sag, der skjuler elektronikken og gør bygningen mere robust. Ideelt set ville den have en integreret kølelegeme til IRLB8721 (selvom den under min test med en 10m lang LED -ledning aldrig blev varmere end stuetemperatur).

Stik

Jeg vil også tilføje et USB -stik til VIN aka USB -kablet og et JST -stik til VOUT aka LED -ledningen. I øjeblikket brugte jeg hanhoveder på tavlen og kvindelige overskrifter loddet til LED -ledningen og (afskåret) USB -kabel til at forbinde det. Men dette er ikke en fremtidssikret forbindelse og ser ikke ud og føles meget professionel.

I forbindelse med en sag ville dette øge bygningens æstetik og også den generelle brugsoplevelse (hvilket er afgørende, hvis du prøver at implementere et smart hjem i et fælles miljø og ikke kun i dit eget værelse eller laboratorium).

Smart Home integration

I øjeblikket er hver ESP8266 ESP-01 en HTTP-server med et websted, der kontrollerer dets tilstand. Jeg vil gerne tage mine første skridt i retning af Smart Home og bruge NodeRED og MQTT til at integrere dem i et centraliseret hjemmeautomatiseringssystem, så jeg kan styre alle mine switches fra et UI.

Selvfølgelig kunne jeg simpelthen bygge en webserver, der sender anmodninger til de forskellige ESP8266 ESP-01-moduler, men igen, det er ikke en elegant, standardiseret eller udvidelig løsning.

Trin 6: Kritik

Hvis du nåede frem til her, mange tak fordi du læste!

Dette er min første artikel her, og jeg håber, at du kunne tage noget væk. Jeg dykkede ikke ned i de forskellige emner, der blev nævnt, fordi jeg følte, at der allerede er mange gode selvstudier om de forskellige emner. Hvis du har brug for flere referencer eller vil have mig til at beskrive nogle af trinene mere detaljeret, kan du efterlade en kommentar.

Hvis du kan lide det, du læser, kan du også efterlade en kommentar og måske lide artiklen. Det ville betyde meget:)

Anbefalede: