Kazalo:

Luči razpoloženja MQTT z ESP32: 4 koraki (s slikami)
Luči razpoloženja MQTT z ESP32: 4 koraki (s slikami)

Video: Luči razpoloženja MQTT z ESP32: 4 koraki (s slikami)

Video: Luči razpoloženja MQTT z ESP32: 4 koraki (s slikami)
Video: Система мониторинга солнечных панелей Home Assistant 2024, November
Anonim
Luči razpoloženja MQTT z ESP32
Luči razpoloženja MQTT z ESP32

Že kar nekaj časa me je mikalo, da bi skočila na LED pas, zato sem stekla ven in vzela LED trak, s katerim bi se igrala. Na koncu sem naredil te luči razpoloženja. Nadzorujemo jih z MQTT, kar omogoča dodajanje vseh vrst pametnosti.

To je dober vikend projekt, če nimate ničesar drugega in si želite umazati roke, če želite kaj narediti.

Upoštevajte, da je namen tega navodila za dokumentiranje mojega projekta in izmenjavo idej z drugimi, ne pa nujno, da nudi trdna navodila in metode. S tem rečeno, berite naprej!

Zaloge

Elektronika:

  • 1x razvojna plošča ESP32
  • 1x 0,96 "I2C OLED zaslon
  • 1x zvočni signal
  • 1x cevni priključek
  • 1x 12V napajanje (tok je odvisen od dolžine traku)
  • 1x pretvornik dolarjev LM2596
  • 1x RGB LED trak s skupno anodo
  • 3x IRFZ44N MOSFET
  • 3x tranzistorji BC547
  • 3x 10 kΩ upori
  • 4x 100Ω upori
  • 1x prototipna plošča
  • 4x vijačne sponke
  • Moške in ženske glave
  • Žica (uporabil sem enoverižni)

Druga strojna oprema in orodja:

  • Želeni material za ohišje (uporabil sem MDF)
  • Raven prevodni material za stike na dotik (uporabil sem tanko aluminijasto pločevino)
  • Žage, vrtalniki, brusni papir itd.
  • Spajkalnik in prijatelji
  • Vroče lepilo

Močno priporočam, da se ne odločite za ESP32 z vgrajenim zaslonom OLED, ker postane zelo težko zanj dobro okrasiti izrez.

1. korak: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika

Priložena shema prikazuje vse potrebne povezave, razen vhodov na dotik. Obstaja tudi relativno nejasen diagram, ki prikazuje, kako priključiti en MOSFET, če shema ni ustrezna.

Moč

Pretvornik dolarjev LM2596 zniža 12V od napajanja na 5V za VIN ESP. Prepričajte se, da je napajalnik pravilno ocenjen glede na dolžino LED traku, ki ga uporabljate. Moj 2 metra dolg trak porabi nekaj več kot 2 ampera.

Zatiči in zunanje naprave

Za vhode na dotik se uporabljajo štirje zatiči na dotik. Moja plošča ESP32 je bila opremljena z zaslonom OLED, katerega zatiči I2C so bili pritrjeni. Ta uporablja štiri zatiče PWM, enega za vsako barvno komponento (rdečo, zeleno in modro) in enega za zvočni signal.

MOSFET zmede

MOSFET -i so bili izbrani za obvladovanje hitrih časov preklopa za PWM in relativno visokega toka. Za vsako barvno komponento obstaja en MOSFET. Za pogon IRFZ44N sem uporabil ločene NPN BJT (BC547) skupaj z vlečnim uporom, saj 3,3 V digitalni signali iz ESP32 morda niso bili dovolj, da bi MOSFET-i vodili toliko toka, kot je potrebno. MOS-tranzistorji na logični ravni, kot je IRLZ44N, obstajajo, vendar sem za njih izvedel šele, ko sem vse spajkal. Kakorkoli, moj trak, ki črpa ~ 2A, deluje dobro.

Spajkanje

Vijačni priključki se uporabljajo za povezavo z LED trakom, ženski priključki pa za priključitev ESP32, če bi želel zamenjati katerega od njih, ne da bi pri tem odpahnil stvari. Spajkanje je trajalo približno dve uri in je bilo zelo preprosto. LED traku sem dal tudi nekaj daljših žic.

Zakaj sem se odločil za ESP32

Ima vgrajen WiFi in Bluetooth (čeprav sem trenutno uporabljal samo WiFi), jaz pa sem ležal okoli, kar me je srbelo uporabljati. Vhodi na dotik so prišli prav tudi za vmesnik na krmilniku, saj potrebujejo le eno žico, ki gre do kontakta. Če bi želeli, pa bi ESP32 zlahka zamenjali z mikrokrmilnikom, kot je ESP8266.

2. korak: Koda

Za to sem uporabil nabor orodij Arduino (pravzaprav razširitev Arduino za VS Code:)). Obstajajo odlične vaje, kot je ta, kako začeti z ESP32 in Arduino IDE, če tega še niste storili.

Na voljo so štirje različni načini: statična barva, naključna barva, rdeče opozorilo in modro opozorilo. Obstajajo štirje vhodi na dotik za gor, dol, naslednji in rdeče opozorilo. Dotik uporablja prekinitve.

Delom sem dodal tudi MQTT, da sem ga lahko nadzoroval prek WiFi. Poskušam dobiti občutek za velike tri spletne aplikacije (HTML, CSS, JS), zato sem oblikoval (a precej grdo) spletno stran na temo Star Trek, ki komunicira s posrednikom MQTT za nadzor luči razpoloženja.

Vso mojo kodo lahko najdete priloženo skupaj s kratkim referenčnim listom, katerega ime datoteke boste morda želeli spremeniti, da bo oznaka. Preden odprete z Arduinom, premaknite vse datoteke v mapo z imenom "ESP32MQTTMoodLighting".

Upoštevajte, da moja koda deluje, vendar verjetno ni največja. Ampak to ne bi smelo biti pomembno, saj boste vseeno napisali svojega, kajne?:)

3. korak: Ohišje in montaža

Ohišje in montaža
Ohišje in montaža
Ohišje in montaža
Ohišje in montaža
Ohišje in montaža
Ohišje in montaža
Ohišje in montaža
Ohišje in montaža

Med zapiranjem je bil edini material, ki sem ga lahko dobil, list 5 mm MDF. Velike reze sem naredil z običajno nožno žago, vse pa dobro obrusil. Dvojni sloj emajlirane barve je zaključil glavno pripravo.

Zadnja plošča

Želel sem, da se moja škatla zlahka odpre, zato sem vso svojo elektroniko pritrdil na zadnjo ploščo s štirimi stojnicami M2 PCB. Moj perfboard je že imel izvrtane luknje M2. Moja nasprotja so imela na dnu majhne navojne škrbine, ki sem jih nameraval pritrditi v MDF. Nisem pa imel svedra M2. Torej, ko sem označil položaj vsake luknje, sem z majhnim ploskim izvijačem ročno izkopal luknje. Surovo, a učinkovito. Premeri lukenj so bili le nekoliko manjši od premerov navojnega dela stojala. Nekajkrat sem zasukal odprtine in iz njih, kar jih je razširilo in skoraj navojilo.

Sčasoma so nasprotniki trdno sedeli v svojih luknjah in držali ploščo na mestu. Ker je bil moj MDF zelo debel, se na drugo stran ni nič pokazalo.

Izvrtal sem luknjo za vtičnico in naredil režo za prehod žic LED traku, tik pod mestom, kjer so bile moje vijačne sponke.

Sprednja plošča

Izrez zaslona OLED

Izrez za OLED sem začel z nekaj začetnimi luknjami in jih vložil v velikost. Na koncu je bilo zelo zmedeno in neusklajeno. Morda so pri tem igrale tudi meritve, ki niso bile preverjene, vendar si prihranite nekaj težav, če ne uporabljate razvojne plošče z vgrajenim OLED-om. Zaslon je veliko lažje namestiti na luknjo.

Priključek

Iz nekaterih moških in ženskih glav sem naredil konektor. En konec je pritrjen na žice, povezane s kontakti na dotik na sprednji plošči, na drugi strani pa so bile žice speljane do vhodov na dotik ESP. Tako je bilo mogoče sprednjo ploščo po potrebi popolnoma odstraniti s hrbtne strani, ne da bi pri tem motili spajkalne spoje. Če na sprednjo ploščo pritrdite še kaj drugega, boste morda želeli narediti tudi priključek za to.

Ploščice na dotik

Stiki na dotik so bili izdelani iz aluminijaste pločevine. Prerezal sem ga, da sem dobil štiri potrebne blazinice, in preveril, da ni nazobčanih robov. Nato sem v sprednjo ploščo izvrtal luknje, dovolj velike za žico. Za puščanje spajkanja na blazinicah sem manjši del ene strani pobrusil z brusnim papirjem, da sem odstranil oksidirano plast, in ga nato hitro obrisal, da sem odstranil vse delce. Vsako žico sem speljala skozi ustrezno luknjo na sprednji plošči, vsako sem spajkala na blazinico. Pazite, da vaša spajka ne ustvari prevelike izbokline na hrbtni strani, saj to ne bo omogočilo, da se blazinica poravna s ploščo.

Na koncu dodajte nekaj vročega lepila na zadnjo stran vsake blazinice in jih potisnite na sprednjo ploščo. Če dodate preveč, bodo blazinice dvignjene od plošče. Očistite vse odvečno lepilo, ki je bilo morda potisnjeno izpod blazinic.

Ostalo

Stranske plošče so precej preproste. Hitro dostopna luknja do vijačnih sponk je bila več težav, kot je bilo vredno. Stransko steno sem vroče zlepil na sprednjo ploščo.

Velcro na dveh robovih drži sprednji del na zadnji plošči. Vrzeli omogočajo uhajanje zvoka. Če delaš bolje od mene, ne bi smel končati z nečim, kar je videti kot predšolska obrt 5-letnika:)

Moj LED trak je imel lepljiv hrbet (prepričan sem, da tudi vaš). Svojega sem namestil tako, da se svetloba razprši s stene.

4. korak: Priključite ga

Priključite ga!
Priključite ga!

Zdaj bi morali imeti popolno luč razpoloženja, nadzorovano z MQTT. Svojega sem namestil na mizo, kjer včasih doda monotono delo. Noč je idealen čas, da z njo navdušite ljudi.

Upam, da ste uživali v branju tega Instructable -a in ste dobili nekaj idej za svoje projekte. Kot sem že omenil, sem začetnik in to je moj prvi Instructable. Vesela bom vsakega nasveta in komentarja.

Priporočena: