Sisukord:
Video: MQTT meeleolu tuled ESP32 abil: 4 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:45
Mul oli juba pikka aega kiusatus hüpata LED -vaguni peale, nii et jooksin välja ja võtsin mänguasja jaoks LED -riba. Lõpuks tegin need meeleolutuled. Neid saab juhtida MQTT abil, mis võimaldab lisada igasuguseid nutikaid.
See on hea nädalavahetuse projekt, kui teil pole midagi muud ja soovite oma käed midagi teha määrduda.
Pange tähele, et selle juhendi eesmärk on dokumenteerida minu projekt ja jagada ideid teistega, mitte tingimata kindlaid juhiseid ja meetodeid pakkuda. Seda öeldes lugege edasi!
Tarvikud
Elektroonika:
- 1x ESP32 arendusplaat
- 1x 0,96 "I2C OLED -ekraan
- 1x helisignaal
- 1x tünni pistik
- 1x 12V toide (vool sõltub riba pikkusest)
- 1x muundur LM2596
- 1x tavalise anoodiga RGB LED-riba
- 3x IRFZ44N MOSFET
- 3x BC547 transistorid
- 3x 10kΩ takistid
- 4x 100Ω takistid
- 1x prototüüpimisplaat
- 4x kruviklemmid
- Meeste ja naiste päised
- Traat (kasutasin üheahelalist)
Muu riistvara ja tööriistad:
- Teie soovitud materjal korpuse jaoks (ma kasutasin MDF -i)
- Lamedad juhtivad materjalid puutekontaktide jaoks (kasutasin õhukest alumiiniumlehte)
- Saed, puurid, liivapaber jne.
- Jootekolb ja sõbrad
- Kuum liim
Soovitan tungivalt mitte valida sisseehitatud OLED-ekraaniga ESP32, sest selle jaoks on väga raske oma korpuses hästi joondatud väljalõiget teha.
Samm: elektroonika
Lisatud skeem näitab kõiki vajalikke ühendusi, välja arvatud puutetundlikud sisendid. Samuti on suhteliselt ebamäärane leivaplaadi skeem, mis näitab, kuidas ühendada üks MOSFET, kui skeem on ebapiisav.
Võimsus
LM2596 buck -muundur vähendab ESP VIN -i jaoks toiteallikast 12 V pinget 5 V -ni. Veenduge, et teie toiteallikas on teie kasutatava LED -riba pikkuse järgi õigesti hinnatud. Minu 2 meetri pikkune riba tõmbab natuke rohkem kui 2 amprit.
Nööpnõelad ja välisseadmed
Puutetundlike sisendite jaoks kasutatakse nelja puutepistikut. Minu ESP32 plaadiga oli kaasas OLED -ekraan, mille I2C -tihvtid olid juhtmega ühendatud. See kasutab nelja PWM -tihvti, üks iga värvikomponendi jaoks (punane, roheline ja sinine) ja üks summeri jaoks.
MOSFETi mudrid
MOSFET -id valiti PWM -i ja suhteliselt suure voolu kiirete lülitusaegade haldamiseks. Iga värvikomponendi jaoks on üks MOSFET. Kasutasin IRFZ44N-ide juhtimiseks eraldi NPN BJT-sid (BC547) koos tõmbetakistiga, kuna ESP32-st pärinevad 3,3 V digitaalsignaalid ei pruugi olla piisavad, et MOSFET-id saaksid juhtida nii palju voolu kui vaja. Loogilise taseme MOSFETid nagu IRLZ44N on olemas, kuid sain neist teada alles pärast seda, kui olin kõik kokku jootnud. Mõlemal juhul töötab minu riba, mis tõmbab ~ 2A.
Jootmine
LED -ribaga ühendamiseks kasutatakse kruviklemmi ja ESP32 ühendamiseks naissoost päiseid, juhuks, kui soovin kumbki neist välja vahetada ilma asju jootmata. Jootmine kestis umbes kaks tundi ja oli väga lihtne. Andsin oma LED -ribale ka mõned pikemad juhtmed.
Miks valisin ESP32
Selle pardal on WiFi ja Bluetooth (kuigi ma olen praegu kasutanud ainult WiFi -d) ja mul oli üks, mis hakkas sügelema. Puutetundlikud sisendid tulid ka kontrolleri liidese jaoks kasuks, kuna need vajavad ainult ühte traati kontakti juurde. Kui soovite, võib ESP32 lihtsalt asendada mikrokontrolleriga nagu ESP8266.
2. samm: kood
Selle programmeerimiseks kasutasin Arduino tööriistakomplekti (tegelikult Arduino laiend VS -koodi jaoks:)). Selliseid suurepäraseid õpetusi selle kohta, kuidas ESP32 ja Arduino IDE -ga alustada, kui te pole seda juba teinud.
Käsitleda saab nelja erinevat režiimi: staatiline värv, juhuslik värv, punane hoiatus ja sinine hoiatus. Üles, alla, edasi ja punase hoiatuse jaoks on neli puutetundlikku sisendit. Puudutus kasutab katkestusi.
Lisasin töödesse ka MQTT, et saaksin seda WiFi kaudu juhtida. Proovin tunnetada veebirakenduse suurt kolme (HTML, CSS, JS), nii et kujundasin meeleolutulede juhtimiseks Star Trek-teemalise (kuid üsna koleda) veebilehe, mis suhtleb MQTT maakleriga.
Kõik minu koodid on lisatud koos kiirviidetelehega, mille failinime soovite märgistamiseks muuta. Enne Arduinoga avamist teisaldage kõik failid kausta nimega "ESP32MQTTMoodLighting".
Pange tähele, et minu kood töötab, kuid pole ilmselt kõige suurem. Aga see ei tohiks olla oluline, sest sa kirjutad niikuinii oma, eks?:)
3. samm: ümbris ja kokkupanek
Lukustuse ajal oli ainus materjal, mille kätte sain, 5 mm MDF -leht. Suured lõiked tegin tavalise rauasaega ja andsin kõigele korraliku liiva. Topeltkiht emailvärviga lõpetas peamise ettevalmistuse.
Tagapaneel
Ma tahtsin, et mu kast oleks kergesti avatav, nii et ma paigaldasin kogu oma elektroonika tagapaneelile nelja M2 PCB eraldusvõimega. Minu perfboardile oli juba puuritud M2 augud. Minu takistuste allosas olid väikesed keermestatud klambrid, mille kavatsesin MDF -i kinnitada. Kuid mul ei olnud M2 puurit. Niisiis, märgistades iga augu asukoha, kasutasin aukude käsitsi väljavõtmiseks väikest lameda peaga kruvikeerajat. Toor, kuid tõhus. Aukude läbimõõdud olid veidi väiksemad kui vaheseina keermestatud osa. Keerasin paar korda aukudest sisse ja välja, mis avardas ja peaaegu niitis.
Lõpuks istusid takistused kindlalt oma aukudesse ja hoidsid parfüümi paigal. Kuna minu MDF oli väga paks, ei paistnud midagi teisele poole.
Puurisin toitepistiku jaoks augu ja tegin pesa LED -riba juhtmete läbimiseks, otse minu kruviklemmide alla.
Esipaneel
OLED -ekraani väljalülitus
Alustasin OLED -i väljalõiget mõne algava auguga ja vormistasin need suuruse järgi. See oli lõpuks väga segane ja valesti joondatud. Mõõtmiste topeltkontrollil ei olnud selles oma osa, kuid säästke end mõnest probleemist, kui te ei kasuta sisseehitatud OLED-iga arendusplaati. Ekraani lihtsalt auku kinnitamine on palju lihtsam.
Pistik
Moodustasin pistiku mõnest mees- ja naispäisest. Üks ots on kinnitatud juhtmete külge, mis on ühendatud esipaneeli puutetundlike kontaktidega, samal ajal kui teisel küljel on juhtmed ESP puutesisendite juurde. See oli nii, et esipaneeli saaks vajadusel tagaküljelt täielikult eemaldada, ilma jootekohti häirimata. Kui paigaldate esipaneelile midagi muud, võiksite selle jaoks ka pistiku valmistada.
Puuteplaadid
Puutekontaktid olid valmistatud mõnest alumiiniumlehest. Lõikasin selle vajalike nelja padja saamiseks ja kontrollisin, et sakilisi servi poleks. Seejärel puurisin esipaneelile augud, mis olid traadi jaoks piisavalt suured. Et lasta jootmel padjakeste külge kleepida, hõõrusin oksüdeerunud kihi eemaldamiseks ühelt poolt väikese osa liivapaberiga üles ja seejärel pühkisin selle osakeste eemaldamiseks kiiresti. Iga juhtme läbi esipaneeli vastava augu jootsin igaüks selle padja külge. Veenduge, et teie joodis ei tekitaks tagaküljele liiga suurt kühmu, kuna see ei lase padjal paneeliga ühtlaselt istuda.
Lõpuks lisage iga padja tagaküljele kuuma liimi ja lükake need esipaneelile. Liiga palju lisades paneb padjad paneelilt üles tõstetud. Puhastage liigne liim, mis võis olla padjade alt välja lükatud.
Ülejäänud
Külgpaneelid on üsna lihtsad. Kruviklemmide kiire juurdepääsuga ava tekitas rohkem probleeme kui väärt. Külgpaneelid liimisin kuumalt esipaneeli külge.
Velcro kahel serval hoiab esiosa tagapaneeli külge. Vahed võimaldavad helisignaali põgeneda. Kui teete minust paremat tööd, ei tohiks te lõpetada millegi sellisega, mis näeb välja nagu 5-aastase eelkooliealine käsitöö:)
Minu LED -ribal oli kleepuv tagakülg (olen kindel, et ka teie oma). Ma paigaldasin oma nii, et valgus hajub seinast välja.
Samm: ühendage see
Nüüd peaks teil olema täielik MQTT-juhitav meeleolutuli. Olen paigaldanud oma lauale, kus see lisab kohati üksluisele tööle värvipilti. Öö on ideaalne aeg inimestele sellega muljet avaldada.
Loodan, et teile meeldis lugeda seda juhendit ja saite mõned ideed oma projektide jaoks. Nagu ma varem mainisin, olen algaja ja see on minu esimene juhendatav. Oleksin tänulik igasuguste nõuannete ja kommentaaride eest.
Soovitan:
Muusika reaktiivsed meeleolu tuled: 5 sammu (piltidega)
Muusika reaktiivsed meeleolu tuled: sissejuhatus ja taust. Tagasi esimesel kursusel (2019. aasta kevadel) tahtsin oma ühiselamu toa kaunistada. Mõtlesin ehitada oma meeleolutuled, mis reageeriks muusikale, mida kõrvaklappidest kuulasin. Ausalt öeldes polnud mul erilist inspiratsiooni
Animeeritud meeleolu- ja öövalgus: 6 sammu (piltidega)
Animeeritud meeleolu- ja öövalgus: olles vaimustuses, mis piirneb valguse kinnisideega, otsustasin luua valiku väikseid modulaarseid trükkplaate, mida saaks kasutada mis tahes suurusega RGB -valgusekraanide loomiseks. Pärast modulaarse trükkplaadi valmistamist komistasin ideele korraldada need
Nixie kella meeleolu baromeeter: 7 sammu (koos piltidega)
Nixie Clock Mood Barometer: Progressi märkamatu ohver on aneroidne kodubaromeeter. Nendel päevadel võite siiski leida näiteid üle 90-aastaste inimeste kodudest, kuid miljoneid inimesi on prügimäel või eBay-s. Tõsi, vana kooli baromeeter ei aidanud
Kaugjuhtimisega toite RGB LED -meeleolu valgus: 3 sammu (piltidega)
Kaugjuhtimisega Power RGB LED -meeleolu valgus: kontrollige võimsa LED -valgusvihu värvi kaugjuhtimispuldiga, salvestage värvid ja meenutage neid soovi korral. Selle asja abil saan ma reguleerida ereda valguse värvi paljudeks erinevateks värvideks kolm põhivärvi: punane roheline
Vilkuv LED -meeleolu valgustus: 6 sammu (piltidega)
Vilkuv LED -meeleolu valgustus: Noh, ma nägin veel ühte juhendit (Fuzzy Logic Mood light) ja olin väga inspireeritud ning otsustasin, et tahan selle idee võtta ja natuke kaugemale minna! See on lehtmetallist tükk, kuhu on paigaldatud 48 vilkuvat LED -i, kui see on asetatud sakile