Innehållsförteckning:

ESP8266 ESP-01 LED-trådbrytare: 6 steg
ESP8266 ESP-01 LED-trådbrytare: 6 steg

Video: ESP8266 ESP-01 LED-trådbrytare: 6 steg

Video: ESP8266 ESP-01 LED-trådbrytare: 6 steg
Video: Wi-Fi модуль ESP8266 ESP-01: Обзор и подключение к компу с помощью Arduino 2024, December
Anonim
ESP8266 ESP-01 LED-trådbrytare
ESP8266 ESP-01 LED-trådbrytare

Detta projekt uppstod när min flickvän och jag installerade flera LED -lampor i rummet för en trevlig julkänsla. Varje gång vi gick och lade oss fick vi springa runt i rummet och stänga av varje tråd. Häromdagen fick vi slå på dem alla igen.

Eftersom jag hade några ESP8266 ESP-01-moduler liggande bestämde jag mig för att montera och programmera en snabb prototyp.

Efter ett framgångsrikt genomförande av prototypen med en skräp -LED -tråd bestämde jag mig för att ta på mig min första PCB -design och beställde några kort.

Detta instruerbara leder dig genom schemat, den första prototypen och kretskortet och ger dig koden för att programmera ESP -modulen med några klick.

TL; DR: Detta är ett enkelt sätt att implementera en Wi-Fi-kontrollerad switch med ESP8266 ESP-01.

Tillbehör:

Hårdvara

  • ESP8266 ESP-01-modul
  • AMS-1117 3.3V regulator
  • IRLB8721 MOSFET (slutlig kretskort) eller 2N2222 transistor (initial prototyp)
  • Manliga och kvinnliga huvudstänger

programvara

Arduino IDE v1.6

För programmering

ÖPPEN SMART USB till ESP-01-adapter

För provning

  • LED
  • 220 Ohm motstånd
  • Bakbord
  • Startkablar

För montering

  • Lödkolv
  • Ledningar (endast prototyp; inte för kretskort)
  • Perf board (endast prototyp; inte för PCB)

Steg 1: Schematisk

Schematisk
Schematisk

Ovan visas schemat med EasyEDA. Det kan delas upp så här:

Vi tar en ingångsspänning från en USB -strömkabel med 5V och matar den in i VIN -stiften på AMS1117 3.3V -modulen.

VOUT-stiften på AMS1117 3.3V-modulen är anslutna till kollektorstiftet på IRLB8721 MOSFET och VIN- och CH_PD-stiften på ESP8266 ESP-01-modulen. CH_PD-stiftet måste dras HÖG för att ESP8266 ESP-01-modulen ska kunna köra koden.

D2-stiftet på ESP8266 ESP-01-modulen är anslutet till GATE-stiftet på IRLB8721 MOSFET. Detta styr om strömmen kan flöda genom den eller inte.

Emitterstiftet på IRLB8721 MOSFET är anslutet till LED -kabeln.

Slutligen är alla jordstift anslutna ihop.

Om du valde 2N2222 -transistorn, ersätt alla förekomster av IRLB8721 med 2N2222 respektive och kom ihåg att benen har olika betydelser på båda komponenterna.

Steg 2: Programmering

Innan vi sätter upp en prototyp på en brödbräda bör vi programmera ESP8266 ESP-01-modulen, så att vi kan testa prototypen senare.

Koda

Min kod är starkt baserad på Random Nerd Tutorials handledning för den enkla HTTP -servern. Jag tog dock bort den andra knappen, eftersom vi bara behöver styra en stift (D2). Ändå kan du bara använda deras kod som den är och ersätta dina WiFi -uppgifter.

Flasha ESP8266 ESP-01

Om du har en OPEN-SMART USB till ESP-01-adapter kan du ansluta din ESP8266 ESP-01-modul till den och ställa omkopplaren på PROG. Anslut sedan det hela till en ledig USB -port i din dator och starta Arduino IDE.

Kopiera och klistra in koden från Random Nerd Tutorials, byt ut dina WiFi-uppgifter och ladda upp den till ESP8266 ESP-01-modulen.

Ta sedan bort ESP8266 ESP-01-modulen från OPEN-SMART-adaptern, ställ omkopplaren på UART och sätt tillbaka den.

Testa koden

Öppna seriekonsolen i Arduino IDE och vänta tills modulen är ansluten till WiFi.

Öppna sedan din webbläsare och navigera till IP -adressen som visas i seriekonsolen. Obs! Du måste vara i samma nätverk, även kallat WiFi. Annars kommer du inte att kunna komma åt ESP8266 ESP-01!

Om allt fungerar ser du en webbplats med två knappar. Anslut en lysdiod med ett 220 Ohm motstånd till D2-stiftet på ESP8266 ESP-01-modulen så ska den lysa och släckas när du klickar på rätt knapp på webbplatsen.

Om du upplever några problem, följ den fullständiga och detaljerade självstudien som är länkad ovan.

Steg 3: Prototypning

Prototyper
Prototyper
Prototyper
Prototyper

Sätt upp en brödbräda med alla komponenter och kablar som behövs enligt schemat ovan och testa den med den programmerade ESP8266 ESP-01-modulen.

Om allt fungerar har du två alternativ.

Alternativ A: Lödda det till en perfbräda

Alternativ B: Gör ett kretskort

Jag valde alternativ A först och bestämde mig sedan för att smutsiga händerna med mitt första PCB -projekt.

På bilderna ser du min självlödda prototyp. Som alltid är anslutningarna en röra och jag använde några krympslangar för att förhindra att överlappande anslutningar blir kortslutna. Jag använde också 2N2222 -transistorn istället för IRLB8721 MOSFET, eftersom jag hade många av dem liggande och jag visste att det inte var meningen att stanna.

Lödningen tog mig ungefär en timme och det var inte alls kul. Om du är en pro lödare kanske du gillar processen, men för mig vill jag ha något enklare.

Steg 4: PCB

PCB
PCB
PCB
PCB

Jag har varit rädd för PCB eftersom jag trodde att jag var tvungen att designa dem med SMD -komponenterna och jag kunde inte hitta lätt skapade ESP- eller Arduino -utvecklingsmoduler att infoga i schemat eller PCB -layouten.

För detta projekt bestämde jag mig för att helt enkelt betrakta ESP8266-01 och AMS1117 3.3. V-modulerna som den typ av saker jag skulle behöva lödda på brädet för att kunna använda dem: som kvinnliga huvudstiften.

Detta gjorde mitt liv mycket enklare och PCB -layouten gjordes på cirka två timmar. Du kan se de två versionerna på bilderna.

Version 1 har några mindre varningar:

1. Huvudstiften är för smala. Jag tog inte hänsyn till att de måste vara 2,54 mm från varandra och tog bara de första stiften från biblioteket. Jag förstörde etiketten för VIN: VCC och GND -etiketter byts ut.3. AMS1117 3.3V -modulen är bredare än jag trodde och sträcker sig över kanten på kretskortet.

Naturligtvis märkte jag dessa varningar efter att ha beställt och testat dem i verkliga livet. De är inte en spelbrytare, men jag skapade en ny version där jag förbättrade ovan nämnda punkter. Jag placerade också ESP8266 ESP-01-modulen på ett sätt så att den inte överlappar AMS1117 3.3V-modulen.

Du hittar EasyEDA-projektet här:

Steg 5: Framsteg

Så här är vi med ett enkelt att montera kretskort. Vad kommer härnäst?

Hölje

Det skulle vara bra att ha ett 3D -tryckt fodral som döljer elektroniken och gör byggnaden mer robust. Helst skulle den ha en integrerad kylfläns för IRLB8721 (även om den under mitt test med en 10 m lång LED -kabel aldrig blev varmare än rumstemperatur).

Anslutningar

Jag vill också lägga till en USB -kontakt för VIN aka USB -kabeln och en JST -kontakt för VOUT aka LED -kabeln. För närvarande använde jag manliga rubriker på brädet och kvinnliga rubriker lödda på LED -kabeln och (avskuren) USB -kabel för att ansluta den. Men det här är inte en framtidssäker anslutning och ser inte ut och känns inte särskilt professionell.

I samband med ett fall skulle detta öka byggnadens estetik och även den övergripande användningsupplevelsen (vilket är avgörande om du försöker implementera ett smart hem i en delad miljö och inte bara i ditt eget rum eller labb).

Smart Home -integration

För närvarande är varje ESP8266 ESP-01 en HTTP-server med en webbplats som styr dess tillstånd. Jag skulle vilja ta mina första steg mot Smart Home och använda NodeRED och MQTT för att integrera dem i ett centraliserat Home Automation -system så att jag kan styra alla mina switchar från ett UI.

Naturligtvis kan jag helt enkelt bygga en webbserver som skickar förfrågningar till de olika ESP8266 ESP-01-modulerna men igen, det är inte en elegant, standardiserad eller utökbar lösning.

Steg 6: Kritik

Om du lyckades fram till här, tack så mycket för att du läste!

Detta är min första artikel här och jag hoppas att du kan ta bort något. Jag dök inte in i de olika ämnena som nämns, eftersom jag kände att det redan finns många bra handledning om de olika ämnena. Om du behöver fler referenser eller vill att jag ska beskriva några av stegen mer detaljerat, vänligen lämna en kommentar.

Om du gillar det du läser, lämna gärna en kommentar också och kanske gillar artikeln. Det skulle betyda mycket:)

Rekommenderad: