Obsah:

Náladové svetlá MQTT s ESP32: 4 kroky (s obrázkami)
Náladové svetlá MQTT s ESP32: 4 kroky (s obrázkami)

Video: Náladové svetlá MQTT s ESP32: 4 kroky (s obrázkami)

Video: Náladové svetlá MQTT s ESP32: 4 kroky (s obrázkami)
Video: ESP8STP-02 Степпер с ESP8266 D1 Mini NodeMCU через WiFi под любым углом 2024, Júl
Anonim
Náladové svetlá MQTT s ESP32
Náladové svetlá MQTT s ESP32

Už nejaký čas ma lákalo naskočiť do LED diódy, a tak som vybehol von a zobral som si LED pásik, s ktorým sa budem hrať. Nakoniec som vyrobil tieto náladové svetlá. Dajú sa ovládať pomocou MQTT, čo umožňuje pridať všetky druhy inteligentných prvkov.

Je to dobrý víkendový projekt, ak sa už nič iné nedeje a chcete si zašpiniť ruky tým, že niečo urobíte.

Všimnite si toho, že účelom tohto Instructable je dokumentovať môj projekt a zdieľať nápady s ostatnými, a nie nevyhnutne poskytnúť spoľahlivé pokyny a metódy. S tým povedané, čítajte ďalej!

Zásoby

Elektronika:

  • 1x vývojová doska ESP32
  • 1x 0,96 "I2C OLED displej
  • 1x bzučiak
  • 1x Hlavný zdvihák
  • 1x napájací zdroj 12V (prúd závisí od dĺžky vášho pásu)
  • 1x prevodník buck LM2596
  • 1x RGB LED pás so spoločnou anódou
  • 3x MOSFETY IRFZ44N
  • 3x tranzistory BC547
  • 3x 10kΩ odpory
  • 4x 100Ω odpory
  • 1x prototypová doska
  • 4x skrutkové svorky
  • Mužské a ženské hlavičky
  • Drôt (použil som jednovláknový)

Ďalší hardvér a nástroje:

  • Váš požadovaný materiál pre skriňu (použil som MDF)
  • Plochý vodivý materiál na dotykové kontakty (použil som tenký hliníkový plech)
  • Píly, vŕtačky, brúsny papier atď.
  • Spájkovačka a priatelia
  • Horúce lepidlo

Dôrazne odporúčam nepokračovať v ESP32 so vstavaným OLED displejom, pretože je veľmi ťažké vytvoriť preň dobre zarovnaný výrez vo vašom kryte.

Krok 1: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika

Priložená schéma ukazuje všetky požadované pripojenia, okrem dotykových vstupov. K dispozícii je tiež relatívne vágny nepájivý diagram, ktorý ukazuje, ako zapojiť jeden MOSFET v prípade, že je schéma neadekvátna.

Moc

Prevodník LB2596 na zníženie napätia 12V z napájacieho zdroja na 5V pre VIN ESP. Uistite sa, že váš napájací zdroj je správne dimenzovaný na dĺžku použitého LED pásu. Môj 2 metre dlhý pás čerpá o niečo viac ako 2 ampéry.

Piny a periférne zariadenia

Na dotykové vstupy sa používajú štyri dotykové piny. Moja doska ESP32 bola vybavená pripojeným OLED displejom, ktorého piny I2C boli napevno zapojené. Používa štyri piny PWM, jeden pre každú farebnú zložku (červenú, zelenú a modrú) a jeden pre bzučiak.

MOSFET mudly

MOSFETy boli zvolené tak, aby zvládli rýchle spínacie časy pre PWM a relatívne vysoký prúd. Pre každú farebnú zložku existuje jeden MOSFET. Na pohon IRFZ44N som použil samostatné NPN BJT (BC547) spolu s výsuvným odporom, pretože 3,3 V digitálne signály z ESP32 možno nestačili na to, aby MOSFETy viedli toľko prúdu, koľko bolo potrebné. MOSFETy na logickej úrovni, ako napríklad IRLZ44N, existujú, ale dozvedel som sa o nich až potom, čo som všetko spájkoval. Tak či onak, môj pásik, ktorý čerpá ~ 2A, funguje dobre.

Spájkovanie

Skrutkové svorky sa používajú na pripojenie k pásiku LED a zásuvkové zásuvky na zapojenie ESP32, v prípade, že by som chcel vymeniť jeden z nich bez odpájania vecí. Spájkovanie trvalo asi dve hodiny a bolo veľmi jednoduché. Tiež som dal svojmu LED pásu niekoľko dlhších vodičov.

Prečo som si vybral ESP32

Má integrované WiFi a Bluetooth (aj keď som zatiaľ používal iba WiFi) a ležal som tam okolo, ktorý sa mi zdráha používať. Dotykové vstupy prišli vhod aj pre rozhranie na ovládači, pretože ku kontaktu potrebuje iba jeden vodič. Ak by ste však chceli, ESP32 by mohol byť ľahko nahradený mikrokontrolérom, akým je ESP8266.

Krok 2: Kód

Na programovanie som použil sadu nástrojov Arduino (vlastne rozšírenie Arduino pre VS Code:)). Existujú skvelé návody, ako je tento, ako začať s ESP32 a Arduino IDE, ak ste to ešte neurobili.

K dispozícii sú štyri rôzne režimy: statická farba, náhodná farba, červené upozornenie a modré upozornenie. K dispozícii sú štyri dotykové vstupy pre up, down, next a Red Alert. Dotyk používa prerušenia.

K dielam som pridal aj MQTT, aby som ho mohol ovládať cez WiFi. Snažím sa získať prehľad o veľkej trojke webových aplikácií (HTML, CSS, JS), a preto som navrhol (ale dosť škaredú) webovú stránku s motívom Star Treku, ktorá komunikuje s maklérom MQTT na ovládanie náladových svetiel.

Celý môj kód nájdete v prílohe spolu s rýchlym referenčným listom, ktorého názov súboru možno budete chcieť zmeniť, aby sa stal markdown. Pred otvorením pomocou Arduina presuňte všetky súbory do priečinka s názvom „ESP32MQTTMoodLighting“.

Všimnite si toho, že môj kód funguje, ale pravdepodobne nie je najväčší. Ale to by nemalo byť dôležité, pretože aj tak si budete písať svoje vlastné, nie?:)

Krok 3: Kryt a montáž

Príloha a montáž
Príloha a montáž
Príloha a montáž
Príloha a montáž
Príloha a montáž
Príloha a montáž
Príloha a montáž
Príloha a montáž

Počas uzamknutia bol jediným materiálom, ktorý sa mi dostal do rúk, list 5 mm MDF. Veľké rezy som robil pravidelnou pílou a všetkému som dal dobrý piesok. Hlavnú prípravu dokončil dvojitý náter smaltovanou farbou.

Zadný panel

Chcel som, aby bol môj box ľahko otvárateľný, a tak som všetku svoju elektroniku namontoval na zadný panel pomocou štyroch dištančných podložiek M2. Moja perfboardová doska už mala vyvŕtané otvory M2. Moje pätky mali v spodnej časti malé závitové čapy, ktoré som zamýšľal upevniť do MDF. Vrták M2 som však nemal. Takže na označenie polohy každého otvoru som použil malý plochý skrutkovač na ručné vydlabanie otvorov. Hrubé, ale účinné. Priemer otvorov bol o niečo menší ako priemer závitovej časti stojky. Stojky som niekoľkokrát skrútil dovnútra a von z otvorov, čím sa rozšírili a takmer prevliekli.

Nakoniec stojky pevne sedeli vo svojich dierach a držali perfboard na svojom mieste. Pretože môj MDF bol veľmi hrubý, nič neprenikalo na druhú stranu.

Vyvrtal som otvor pre napájací konektor a urobil som otvor, cez ktorý prešli drôty pásika LED, priamo pod miestom, kde boli umiestnené moje skrutkové svorky.

Predný panel

Výrez OLED displeja

Začal som svoj výrez pre OLED niekoľkými štartovacími otvormi a rozložil ich na veľkosť. Nakoniec to bolo veľmi nervózne a nesprávne zarovnané. Nie je možné, že v tom zohralo úlohu dvojité overenie, ale ušetríte si problémy tým, že nebudete používať vývojovú dosku so vstavaným OLED. Je oveľa jednoduchšie namontovať displej do otvoru.

Konektor

Vytvoril som konektor z niektorých mužských a ženských hlavičiek. Jeden koniec je pripevnený k vodičom pripojeným k dotykovým kontaktom na prednom paneli, zatiaľ čo na druhej strane boli vodiče vedené k dotykovým vstupom ESP. Dôvodom bolo, že predný panel bolo možné v prípade potreby úplne odstrániť zo zadných strán bez rušivých spájkovacích spojov. Ak na predný panel namontujete čokoľvek iné, možno budete chcieť vytvoriť aj konektor.

Dotknite sa Padov

Dotykové kontakty boli vyrobené z nejakého hliníkového plechu. Odrezal som to, aby som získal štyri potrebné podložky, a overil som, že tam nie sú zubaté hrany. Potom som do predného panelu vyvŕtal otvory, dostatočne veľké na drôt. Aby sa spájka mohla držať na doštičkách, ošúchal som malú časť jednej strany brúsnym papierom, aby som odstránil oxidovanú vrstvu, a potom som ju rýchlo zotrel, aby som odstránil všetky častice. Každý vodič som previedol zodpovedajúcim otvorom v prednom paneli a každý z nich som spájkoval s jeho podložkou. Uistite sa, že vaša spájka nevytvorí na zadnej strane príliš veľkú vydutinu, pretože to neumožní podložke sedieť v jednej rovine s panelom.

Nakoniec pridajte horúce lepidlo na zadnú stranu každej podložky a zatlačte ich na predný panel. Ak pridáte príliš veľa, podložky budú sedieť zdvihnuté z panelu. Vyčistite prebytočné lepidlo, ktoré mohlo byť vytlačené spod podložiek.

Zvyšok

Bočné panely sú celkom jednoduché. Rýchlo prístupný otvor k skrutkovým svorkám bol väčším problémom, ako stál za to. Bočné panely som za tepla prilepil k prednému panelu.

Suchý zips na dvoch okrajoch drží prednú časť k zadnému panelu. Medzery umožňujú únik zvuku bzučiaka. Ak robíte lepšiu prácu ako ja, nemali by ste skončiť pri niečom, čo vyzerá ako 5-ročné predškolské remeslo:)

Môj LED pásik mal lepkavý chrbát (som si istý, že aj váš). Namontoval som svoje tak, aby svetlo difundovalo zo steny.

Krok 4: Pripojte ho

Zapoj to!
Zapoj to!

Teraz by ste mali mať kompletné náladové svetlo ovládané MQTT. Ten svoj som namontoval na svoj stôl, kde dodá občasnej monotónnej práci šmrnc. Noc je ideálnym časom, ako ňou zapôsobiť na ľudí.

Dúfam, že sa vám páčil tento návod a že ste získali niekoľko nápadov pre vaše vlastné projekty. Ako som už spomenul, som začiatočník a toto je môj prvý návod. Ocenil by som akékoľvek tipy a pripomienky.

Odporúča: