Turinys:

MQTT nuotaikos žibintai su ESP32: 4 žingsniai (su nuotraukomis)
MQTT nuotaikos žibintai su ESP32: 4 žingsniai (su nuotraukomis)

Video: MQTT nuotaikos žibintai su ESP32: 4 žingsniai (su nuotraukomis)

Video: MQTT nuotaikos žibintai su ESP32: 4 žingsniai (su nuotraukomis)
Video: Aqara E1 zigbee - умный выключатель для круглого подрозетника, интеграция в Home Assistant 2024, Liepa
Anonim
MQTT nuotaikos žibintai su ESP32
MQTT nuotaikos žibintai su ESP32

Jau kurį laiką buvau linkusi šokti į LED juostą, todėl išbėgau ir pasiėmiau LED juostelę, su kuria žaisdavau. Aš baigiau gaminti šias nuotaikos lemputes. Juos galima valdyti naudojant MQTT, todėl galima pridėti visų rūšių išmaniųjų.

Tai geras savaitgalio projektas, jei nieko daugiau nenutiksite ir norite susitepti rankas kažką gamindami.

Atminkite, kad šios instrukcijos tikslas yra dokumentuoti mano projektą ir dalytis idėjomis su kitais, o ne būtinai pateikti patikimas instrukcijas ir metodus. Tai pasakius, skaitykite toliau!

Prekės

Elektronika:

  • 1x ESP32 kūrimo plokštė
  • 1x 0,96 colio I2C OLED ekranas
  • 1x garsinis signalas
  • 1x statinės lizdas
  • 1x 12V maitinimo šaltinis (srovė priklauso nuo jūsų juostos ilgio)
  • 1x LM2596 kainų keitiklis
  • 1x bendrojo anodo RGB LED juostelė
  • 3x IRFZ44N MOSFET
  • 3x BC547 tranzistoriai
  • 3x 10kΩ rezistoriai
  • 4x 100Ω rezistoriai
  • 1x prototipų lenta
  • 4x varžtai
  • Vyrų ir moterų antraštės
  • Viela (naudojau vienos grandinės)

Kita įranga ir įrankiai:

  • Jūsų norima korpuso medžiaga (aš naudojau MDF)
  • Plokščia, laidi medžiaga liečiant kontaktus (naudojau ploną aliuminio lakštą)
  • Pjūklai, grąžtai, švitrinis popierius ir kt.
  • Lituoklis ir draugai
  • Karšti klijai

Aš primygtinai rekomenduočiau nesirinkti ESP32 su įmontuotu OLED ekranu, nes pasidaryti labai sunku savo korpusui padaryti gerai išlygintą išpjovą.

1 žingsnis: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika

Pridedama schema rodo visas reikalingas jungtis, išskyrus jutiklinius įėjimus. Taip pat yra gana neaiški duonos lentos schema, kurioje parodyta, kaip prijungti vieną MOSFET, jei schema yra netinkama.

Galia

„LM2596 Buck“keitiklis sumažina 12 V maitinimo šaltinį iki 5 V ESP VIN. Įsitikinkite, kad jūsų maitinimo šaltinis yra tinkamai įvertintas pagal naudojamo LED juostos ilgį. Mano 2 metrų ilgio juostelė pritraukia šiek tiek daugiau nei 2 amperus.

Smeigtukai ir išoriniai įrenginiai

Keturi jutikliniai kaiščiai naudojami jutikliniams įvestims. Prie mano ESP32 plokštės buvo prijungtas OLED ekranas, kurio I2C kaiščiai buvo prijungti. Tam naudojami keturi PWM kaiščiai, po vieną kiekvienam spalvų komponentui (raudona, žalia ir mėlyna) ir vienas garsui.

MOSFET purvas

MOSFET buvo pasirinkti norint valdyti greitą PWM perjungimo laiką ir palyginti didelę srovę. Kiekvienam spalvų komponentui yra vienas MOSFET. Aš naudojau atskirus NPN BJT (BC547) kartu su ištraukiamuoju rezistoriumi, kad galėčiau valdyti IRFZ44N, nes 3,3 V skaitmeninių signalų iš ESP32 gali nepakakti, kad MOSFET veiktų tiek srovės, kiek reikia. Loginio lygio MOSFET, tokie kaip IRLZ44N, egzistuoja, tačiau apie juos sužinojau tik baigęs viską lituoti. Bet kuriuo atveju, mano juostelė, kuri traukia ~ 2A, veikia gerai.

Litavimas

Sraigtiniai gnybtai naudojami prijungti prie šviesos diodų juostos, o moteriškos antgaliai - prijungti ESP32, jei norėčiau pakeisti bet kurį iš jų, neatitraukiant litavimo. Litavimas užtruko apie dvi valandas ir buvo labai paprastas. Aš taip pat daviau savo LED juostai ilgesnius laidus.

Kodėl pasirinkau ESP32

Jame yra „WiFi“ir „Bluetooth“(nors šiuo metu naudojau tik „WiFi“), o aš turėjau vieną, kurį norėjau naudoti. Jutikliniai įėjimai taip pat buvo naudingi valdiklio sąsajai, nes jiems reikia tik vieno laido, einančio į kontaktą. Tačiau jei norite, ESP32 gali būti lengvai pakeistas mikrovaldikliu, tokiu kaip ESP8266.

2 žingsnis: kodas

Tam programuoti naudojau „Arduino“įrankių rinkinį (iš tikrųjų „Arduino“plėtinį VS kodui:)). Yra puikių pamokų, kaip šis, kaip pradėti naudotis ESP32 ir „Arduino IDE“, jei to dar nepadarėte.

Yra keturi skirtingi režimai: statinė spalva, atsitiktinė spalva, raudonas įspėjimas ir mėlynas įspėjimas. Yra keturi jutikliniai įėjimai, skirti aukštyn, žemyn, kitam ir raudonam įspėjimui. „Touch“naudoja pertraukas.

Prie darbų taip pat pridėjau MQTT, kad galėčiau jį valdyti per „WiFi“. Bandau pajusti žiniatinklio programos trejetuką (HTML, CSS, JS), todėl sukūriau „Star Trek“tematikos (bet gana negražią) tinklalapį, kuris bendrauja su „MQTT“brokeriu, kad valdytų nuotaikos šviesas.

Visą mano kodą galima rasti pridedamą kartu su greitos nuorodos lapu, kurio failo pavadinimą galbūt norėsite pakeisti, kad jis būtų pažymėtas. Prieš atidarydami „Arduino“, perkelkite visus failus į aplanką pavadinimu „ESP32MQTTMoodLighting“.

Atminkite, kad mano kodas veikia, bet tikriausiai nėra pats didžiausias. Bet tai neturėtų reikšti, nes vis tiek rašysite savo, tiesa?:)

3 žingsnis: gaubtas ir surinkimas

Korpusas ir surinkimas
Korpusas ir surinkimas
Korpusas ir surinkimas
Korpusas ir surinkimas
Korpusas ir surinkimas
Korpusas ir surinkimas
Korpusas ir surinkimas
Korpusas ir surinkimas

Užrakinimo metu vienintelė medžiaga, kurią galėjau patekti į rankas, buvo 5 mm MDF lakštas. Didelius pjūvius padariau įprastu metalo pjūklu ir viskam padaviau gerą smėlį. Dvigubas emalio dažų sluoksnis užbaigė pagrindinį paruošimą.

Galinis skydelis

Norėjau, kad mano dėžutė būtų lengvai atidaroma, todėl visą savo elektroniką pritvirtinau prie galinio skydelio su keturiais M2 PCB atjungimais. Mano perforatoriuje jau buvo išgręžtos M2 skylės. Mano atotrūkių apačioje buvo mažai sriegių, kuriuos ketinau pritvirtinti prie MDF. Tačiau aš neturėjau M2 grąžto. Taigi, pažymėdamas kiekvienos skylės padėtį, aš rankiniu būdu išgręžiau skylutes mažu plokščiu atsuktuvu. Žiaurus, bet efektyvus. Skylių skersmenys buvo tik šiek tiek mažesni nei sriegiuotos atramos dalies. Keletą kartų susukau atramas į skylutes ir iš jų, kurios išsiplėtė ir beveik įsriegė.

Galiausiai atsistojimai tvirtai sėdėjo savo skylėse ir laikė perforatorių vietoje. Kadangi mano MDF buvo labai storas, niekas nepasirodė kitoje pusėje.

Aš išgręžiau skylę maitinimo lizdui ir padariau angą, kad LED juostos laidai galėtų praeiti tiesiai žemiau, kur buvo mano varžtų gnybtai.

Priekinė panelė

OLED ekrano išjungimas

Aš pradėjau iškirpti OLED su keliomis starterio skylėmis ir padaviau jas pagal dydį. Galų gale tai buvo labai keista ir nesuderinta. Galbūt tai turėjo įtakos ne dvigubai tikrinami matavimai, tačiau sutaupykite šiek tiek problemų, nenaudodami kūrimo plokštės su įmontuotu OLED. Daug lengviau tiesiog pritvirtinti ekraną prie savo skylės.

Jungtis

Aš sukūriau jungtį iš kai kurių vyrų ir moterų antraščių. Vienas galas pritvirtintas prie laidų, prijungtų prie jutiklinių kontaktų priekiniame skydelyje, o kitoje pusėje - laidai, einantys į ESP jutiklinius įėjimus. Taip buvo padaryta, kad prireikus priekinį skydelį būtų galima visiškai nuimti nuo nugaros, netrikdant litavimo siūlių. Jei prie priekinio skydelio pritvirtinsite ką nors kita, galbūt norėsite sukurti ir jungtį.

Jutiklinės pagalvėlės

Jutikliniai kontaktai buvo pagaminti iš kai kurių aliuminio lakštų. Aš jį supjaustiau, kad gaučiau keturias reikalingas trinkeles, ir patikrinau, ar nėra nelygių kraštų. Tada aš išgręžiau skyles į priekinį skydelį, pakankamai didelį vielai. Norėdami, kad lydmetalis priliptų prie trinkelių, nedidelę vienos pusės dalį nubraukiau švitriniu popieriumi, kad pašalintumėte oksiduotą sluoksnį, ir tada greitai nuvalykite, kad pašalintumėte daleles. Vykdydamas kiekvieną laidą per atitinkamą skylę priekiniame skydelyje, aš lituodavau kiekvieną prie jo trinkelės. Įsitikinkite, kad jūsų lydmetalis nesukuria per didelio išsipūtimo ant nugaros, nes tai neleis trinkelėms prisiglausti prie plokštės.

Galiausiai į kiekvieną pagalvėlės galą įpilkite karštų klijų ir stumkite juos ant priekinio skydelio. Pridėjus per daug, pagalvėlės bus pakeltos nuo skydo. Nuvalykite klijų perteklių, kuris galėjo būti išstumtas iš po pagalvėlių.

Likusieji

Šoninės plokštės yra gana paprastos. Greitai pasiekiama skylė prie varžtų gnybtų sukėlė daugiau problemų nei buvo verta. Šonines plokštes karštai priklijavau prie priekinio skydelio.

Velcro ant dviejų kraštų laiko priekinę dalį prie galinio skydelio. Tarpai leidžia skambėti garsiakalbio garsui. Jei atliksite geresnį darbą nei aš, neturėtumėte baigti to, kas atrodo kaip 5 metų amžiaus ikimokyklinis amatas:)

Mano LED juostelė turėjo lipnią nugarą (esu tikra, kad ir jūsų). Aš sumontavau savo taip, kad šviesa išsisklaidytų nuo sienos.

4 žingsnis: prijunkite

Įjunkite!
Įjunkite!

Dabar turėtumėte turėti pilną MQTT valdomą nuotaikos lemputę. Aš pritvirtinau savo stalą prie savo stalo, kur jis kartais suteikia monotoniškam darbui spalvų purslų. Naktis yra idealus laikas sužavėti žmones.

Tikiuosi, kad jums patiko skaityti šią instrukciją ir gavote keletą idėjų savo projektams. Kaip jau minėjau anksčiau, esu pradedantysis, ir tai yra mano pirmasis „Instructable“. Būčiau dėkingas už bet kokius patarimus ir komentarus.

Rekomenduojamas: