Innholdsfortegnelse:

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

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

Video: ESP8266 ESP-01 LED Wire Switch: 6 trinn
Video: Подключение и настройка nRF24L01 к Arduino (модуль беспроводной связи) 2024, Juli
Anonim
ESP8266 ESP-01 LED Wire Switch
ESP8266 ESP-01 LED Wire Switch

Dette prosjektet oppsto da kjæresten min og jeg installerte flere LED -fe -lysledninger i rommet for en fin julefølelse. Hver gang vi la oss måtte vi løpe rundt i rommet og stenge hver ledning av. Her om dagen måtte vi slå dem på igjen.

Siden jeg hadde noen ESP8266 ESP-01-moduler liggende, bestemte jeg meg for å sette sammen og programmere en rask prototype.

Etter den vellykkede implementeringen av prototypen med en useriøs LED -ledning, bestemte jeg meg for å ta på meg min første PCB -design og bestilte noen få brett.

Denne instruksjonsboken leder deg gjennom skjematisk, den første prototypen og kretskortet, og gir deg koden for å programmere ESP -modulen med noen få klikk.

TL; DR: Dette er en enkel måte å implementere en Wi-Fi-kontrollert bryter med ESP8266 ESP-01.

Rekvisita:

Maskinvare

  • ESP8266 ESP-01-modul
  • AMS-1117 3.3V regulator
  • IRLB8721 MOSFET (endelig PCB) eller 2N2222 transistor (første prototype)
  • Hodestenger for menn og kvinner

Programvare

Arduino IDE v1.6

For programmering

OPEN SMART USB til ESP-01-adapter

For testing

  • LED
  • 220 Ohm motstand
  • Brødbrett
  • Hoppekabler

For montering

  • Loddejern
  • Ledninger (kun prototype; ikke for PCB)
  • Perf -bord (kun prototype; ikke for PCB)

Trinn 1: Skjematisk

Skjematisk
Skjematisk

Ovenfor er skjemaet laget med EasyEDA. Det kan brytes ned slik:

Vi tar en inngangsspenning fra en USB -strømkabel med 5V og mater den inn i VIN -pinnene på AMS1117 3.3V -modulen.

VOUT-pinnene på AMS1117 3.3V-modulen er koblet til kollektorpinnen til IRLB8721 MOSFET og VIN- og CH_PD-pinnene på ESP8266 ESP-01-modulen. CH_PD-pinnen må trekkes HIGH for ESP8266 ESP-01-modulen for å utføre koden.

D2-pinnen til ESP8266 ESP-01-modulen er koblet til GATE-pinnen til IRLB8721 MOSFET. Dette styrer om strømmen kan strømme gjennom den eller ikke.

Emitterpinnen til IRLB8721 MOSFET er koblet til LED -ledningen.

Til slutt er alle bakkepinner koblet sammen.

Hvis du valgte 2N2222 -transistoren, må du erstatte alle forekomster av IRLB8721 med henholdsvis 2N2222 og huske at beina har forskjellige betydninger på begge komponentene.

Trinn 2: Programmering

Før vi setter opp en prototype på et brødbrett, bør vi programmere ESP8266 ESP-01-modulen, slik at vi kan teste prototypen senere.

Kode

Koden min er sterkt basert på Random Nerd Tutorials opplæring for den enkle HTTP -serveren. Jeg fjernet den andre knappen, siden vi bare trenger å kontrollere én pinne (D2). Ikke desto mindre kan du bare bruke koden deres som den er og erstatte WiFi -legitimasjonen din.

Flash ESP8266 ESP-01

Hvis du kjøpte OPEN-SMART USB til ESP-01-adapteren, kan du koble ESP8266 ESP-01-modulen til den og sette bryteren til PROG. Deretter kobler du det hele til en ledig USB -port på datamaskinen og starter Arduino IDE.

Kopier og lim inn koden fra Random Nerd Tutorials, bytt ut WiFi-legitimasjonen og last den opp til ESP8266 ESP-01-modulen.

Fjern deretter ESP8266 ESP-01-modulen fra OPEN-SMART-adapteren, sett bryteren til UART og sett den inn igjen.

Test koden

Åpne seriekonsollen i Arduino IDE og vent til modulen er koblet til WiFi.

Deretter åpner du nettleseren din og navigerer til IP -adressen som vises i seriekonsollen. Merk: Du må være i samme nettverk, også kjent som WiFi. Ellers får du ikke tilgang til ESP8266 ESP-01!

Hvis alt fungerer, ser du et nettsted med to knapper. Koble en LED med en 220 Ohm motstand til D2-pinnen på ESP8266 ESP-01-modulen, så skal den lyse og slå seg av når du klikker på riktig knapp på nettstedet.

Hvis du opplever problemer, kan du følge den fullstendige og detaljerte opplæringen som er lenket ovenfor.

Trinn 3: Prototyping

Prototyping
Prototyping
Prototyping
Prototyping

Sett opp et brødbrett med alle nødvendige komponenter og ledninger som vist i skjemaet ovenfor, og test det med den programmerte ESP8266 ESP-01-modulen.

Hvis alt fungerer, har du to alternativer.

Alternativ A: Lodd det til et perfbrett

Alternativ B: Lag en PCB

Jeg valgte alternativ A først og bestemte meg deretter for å skitne hendene med mitt første PCB -prosjekt.

På bildene ser du min selvlodde prototype. Som alltid er tilkoblingene et rot, og jeg brukte noen krympeslanger for å forhindre at overlappende tilkoblinger kortsluttes. Jeg brukte også 2N2222 -transistoren i stedet for IRLB8721 MOSFET, fordi jeg hadde mange av dem liggende og jeg visste at det ikke var meningen å bli.

Loddetiden tok meg omtrent en time, og det var ikke morsomt i det hele tatt. Hvis du er en pro loddemaskin, liker du kanskje prosessen, men for meg vil jeg ha noe enklere.

Trinn 4: PCB

PCB
PCB
PCB
PCB

Jeg har vært redd for PCB fordi jeg trodde jeg måtte designe dem med SMD -komponentene, og jeg fant ikke lettlagde ESP- eller Arduino -utviklingsmoduler for å sette inn i skjematisk eller PCB -layout.

For dette prosjektet bestemte jeg meg for å bare vurdere ESP8266-01 og AMS1117 3.3. V-modulene som den typen ting jeg ville trenge å lodde på brettet for å bruke dem: som kvinnelige toppstifter.

Dette gjorde livet mitt mye enklere, og PCB -oppsettet ble gjort på omtrent to timer. Du kan se de to versjonene på bildene.

Versjon 1 har noen mindre forbehold:

1. Toppstiften er for smale. Jeg tok ikke hensyn til at de måtte være 2,54 mm fra hverandre og bare tok de første pinnene fra biblioteket. Jeg rotet opp etiketten for VIN: VCC og GND etiketter byttes ut. AMS1117 3.3V -modulen er bredere enn jeg trodde og strekker seg over kanten på kretskortet.

Selvfølgelig la jeg merke til disse forbeholdene etter å ha bestilt og testet dem i det virkelige liv. De er ikke en spillbryter, men jeg opprettet en ny versjon der jeg forbedret de ovennevnte punktene. Jeg plasserte også ESP8266 ESP-01-modulen på en måte som ikke ville overlappe AMS1117 3.3V-modulen.

Du finner EasyEDA-prosjektet her:

Trinn 5: Avansering

Så her er vi med en enkel å montere PCB. Hva blir det neste?

Hylster

Det ville være flott å ha et 3D -trykt etui som skjuler elektronikken og gjør bygningen mer robust. Ideelt sett ville den ha en integrert kjøleribbe for IRLB8721 (selv om den aldri ble varmere enn romtemperatur under testen min med en 10 m lang LED -ledning).

Koblinger

Jeg vil også legge til en USB -kontakt for VIN aka USB -kabelen og en JST -kontakt for VOUT aka LED -ledningen. For tiden brukte jeg mannlige overskrifter på brettet og kvinnelige overskrifter loddet til LED -ledningen og (avskåret) USB -kabel for å koble den. Men dette er ikke en fremtidssikker forbindelse og ser ikke ut og føles veldig profesjonell.

I forbindelse med en sak vil dette øke estetikken til bygget enormt og også den generelle bruksopplevelsen (noe som er avgjørende hvis du prøver å implementere et smart hjem i et delt miljø og ikke bare i ditt eget rom eller laboratorium).

Smart Home -integrasjon

For øyeblikket er hver ESP8266 ESP-01 en HTTP-server med et nettsted som kontrollerer tilstanden. Jeg vil ta mine første skritt mot Smart Home og bruke NodeRED og MQTT til å integrere dem i et sentralisert hjemmeautomatiseringssystem, slik at jeg kan kontrollere alle bryterne mine fra ett brukergrensesnitt.

Selvfølgelig kunne jeg ganske enkelt bygge en webserver som sender forespørsler til de forskjellige ESP8266 ESP-01-modulene, men igjen, det er ikke en elegant, standardisert eller utvidbar løsning.

Trinn 6: Kritikk

Hvis du klarte det til her, tusen takk for at du leser!

Dette er min første artikkel her, og jeg håper du kan ta bort noe. Jeg dykket ikke ned i de forskjellige emnene nevnt, fordi jeg følte at det allerede er mange gode opplæringsprogrammer om de forskjellige emnene. Hvis du trenger flere referanser eller vil at jeg skal beskrive noen av trinnene mer detaljert, kan du legge igjen en kommentar.

Hvis du liker det du leser, kan du legge igjen en kommentar også, og kanskje like artikkelen. Det ville bety mye:)

Anbefalt: