Sisukord:

MQTT meeleolu tuled ESP32 abil: 4 sammu (piltidega)
MQTT meeleolu tuled ESP32 abil: 4 sammu (piltidega)

Video: MQTT meeleolu tuled ESP32 abil: 4 sammu (piltidega)

Video: MQTT meeleolu tuled ESP32 abil: 4 sammu (piltidega)
Video: How to Publish DHT11 Sensor Data from NodeMCU to Mosquitto MQTT Broker over LAN | NodeMCU | MQTT | 2024, November
Anonim
MQTT meeleolu tuled koos ESP32 -ga
MQTT meeleolu tuled koos ESP32 -ga

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

Elektroonika
Elektroonika
Elektroonika
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

Korpus ja kokkupanek
Korpus ja kokkupanek
Korpus ja kokkupanek
Korpus ja kokkupanek
Korpus ja kokkupanek
Korpus ja kokkupanek
Korpus ja kokkupanek
Korpus 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

Pista see sisse!
Pista see sisse!

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: