Satura rādītājs:

MQTT garastāvokļa gaismas ar ESP32: 4 soļi (ar attēliem)
MQTT garastāvokļa gaismas ar ESP32: 4 soļi (ar attēliem)

Video: MQTT garastāvokļa gaismas ar ESP32: 4 soļi (ar attēliem)

Video: MQTT garastāvokļa gaismas ar ESP32: 4 soļi (ar attēliem)
Video: Как использовать ESP32 WiFi и Bluetooth с Arduino IDE, полная информация с примерами и кодом. 2024, Jūlijs
Anonim
MQTT garastāvokļa gaismas ar ESP32
MQTT garastāvokļa gaismas ar ESP32

Man jau ilgu laiku bija kārdinājums pāriet uz LED ratiņiem, tāpēc es izskrēju un paņēmu LED sloksni, ar kuru rotaļāties. Es beidzot gatavoju šīs garastāvokļa gaismas. Tos var kontrolēt, izmantojot MQTT, ļaujot pievienot visu veidu gudrības.

Šis ir labs nedēļas nogales projekts, ja nekas cits nenotiek un vēlaties sasmērēt rokas, gatavojot kaut ko.

Ņemiet vērā, ka šīs pamācības mērķis ir dokumentēt manu projektu un dalīties idejās ar citiem, nevis obligāti sniegt pamatotas instrukcijas un metodes. To sakot, lasiet tālāk!

Piegādes

Elektronika:

  • 1x ESP32 izstrādes dēlis
  • 1x 0,96 collu I2C OLED displejs
  • 1x skaņas signāls
  • 1x mucas ligzda
  • 1x 12V barošanas avots (strāva ir atkarīga no sloksnes garuma)
  • 1x LM2596 dolāra pārveidotājs
  • 1x kopējā anoda RGB LED sloksne
  • 3x IRFZ44N MOSFET
  • 3x BC547 tranzistori
  • 3x 10kΩ rezistori
  • 4x 100Ω rezistori
  • 1x prototipēšanas dēlis
  • 4x skrūvju spailes
  • Vīriešu un sieviešu galvenes
  • Vads (es izmantoju vienpavedienu)

Cita aparatūra un rīki:

  • Jūsu vēlamais materiāls korpusam (es izmantoju MDF)
  • Plakans, vadošs materiāls pieskārienu kontaktiem (es izmantoju plānu alumīnija loksni)
  • Zāģi, urbji, smilšpapīrs utt.
  • Lodāmurs un draugi
  • Karstā līme

Es ļoti ieteiktu neizmantot ESP32 ar iebūvētu OLED displeju, jo ir ļoti grūti tam izveidot labi izlīdzinātu izgriezumu.

1. darbība: elektronika

Elektronika
Elektronika
Elektronika
Elektronika

Pievienotajā shematiskajā attēlā parādīti visi nepieciešamie savienojumi, izņemot skārienievadus. Ir arī salīdzinoši neskaidra maizes dēļa diagramma, kurā parādīts, kā pieslēgt vienu MOSFET, ja shēma ir nepietiekama.

Jauda

LM2596 buck pārveidotājs samazina 12V no barošanas avota līdz 5V ESP VIN. Pārliecinieties, vai jūsu barošanas avots ir pareizi novērtēts jūsu izmantotās LED sloksnes garumam. Mana 2 metrus garā sloksne ievelk nedaudz vairāk par 2 ampēriem.

Tapas un perifērijas ierīces

Skārienievadiem tiek izmantotas četras skārientapiņas. Manai ESP32 plāksnei bija pievienots OLED displejs, kura I2C tapas bija savienotas ar vadu. Tam tiek izmantotas četras PWM tapas, viena katrai krāsu sastāvdaļai (sarkana, zaļa un zila) un viena signālam.

MOSFET dubļi

MOSFET tika izvēlēti, lai apstrādātu ātro PWM pārslēgšanās laiku un salīdzinoši augstu strāvu. Katrai krāsu sastāvdaļai ir viens MOSFET. Lai vadītu IRFZ44N, es izmantoju atsevišķus NPN BJT (BC547) kopā ar pievilkšanas rezistoru, jo, iespējams, nepietiek ar ESP32 3.3V digitālajiem signāliem, lai MOSFET varētu vadīt tik daudz strāvas, cik nepieciešams. Loģikas līmeņa MOSFET, piemēram, IRLZ44N, pastāv, bet es par tiem uzzināju tikai pēc tam, kad biju pabeidzis visu lodēt. Jebkurā gadījumā mana sloksne, kas zīmē ~ 2A, darbojas labi.

Lodēšana

Skrūvju spailes tiek izmantotas, lai izveidotu savienojumu ar LED sloksni, un sieviešu galvenes, lai pievienotu ESP32, ja es gribētu nomainīt kādu no tiem, neatkausējot lietas. Lodēšana aizņēma apmēram divas stundas un bija ļoti vienkārša. Es arī iedevu savai LED sloksnei dažus garākus vadus.

Kāpēc es izvēlējos ESP32

Tajā ir WiFi un Bluetooth (lai gan šobrīd esmu izmantojis tikai WiFi), un man bija viens, kas gulēja apkārt un kuru man niezēja lietot. Skārienievadi noderēja arī kontroliera saskarnei, jo tiem nepieciešams tikai viens vads, kas nonāk kontaktā. Tomēr, ja vēlaties, ESP32 var viegli nomainīt ar tādu mikrokontrolleri kā ESP8266.

2. darbība: kods

Lai to programmētu, es izmantoju Arduino rīku komplektu (faktiski Arduino paplašinājumu VS kodam:)). Ir lieliskas apmācības, piemēram, šī, kā sākt darbu ar ESP32 un Arduino IDE, ja vēl neesat to izdarījis.

Ir četri dažādi režīmi: statiskā krāsa, nejaušā krāsa, sarkanais brīdinājums un zilais brīdinājums. Ir četras pieskāriena ievades augšup, lejup, nākamais un sarkanais brīdinājums. Pieskaršanās izmanto pārtraukumus.

Darbiem pievienoju arī MQTT, lai varētu to kontrolēt, izmantojot WiFi. Es cenšos izjust tīmekļa lietotņu lielo trijnieku (HTML, CSS, JS), tāpēc es izveidoju Star Trek tēmu (bet diezgan neglītu) tīmekļa lapu, kas sazinās ar MQTT brokeri, lai kontrolētu garastāvokļa gaismas.

Viss mans kods ir atrodams pievienots kopā ar ātrās uzziņas lapu, kuras faila nosaukumu, iespējams, vēlēsities mainīt, lai tas kļūtu par atzīmi. Pirms atvēršanas ar Arduino pārvietojiet visus failus uz mapi ar nosaukumu "ESP32MQTTMoodLighting".

Ņemiet vērā, ka mans kods darbojas, bet, iespējams, nav lielākais. Bet tam nevajadzētu būt nozīmei, jo jūs tik un tā rakstīsit savu, vai ne?:)

3. darbība: korpuss un montāža

Korpuss un montāža
Korpuss un montāža
Korpuss un montāža
Korpuss un montāža
Korpuss un montāža
Korpuss un montāža
Korpuss un montāža
Korpuss un montāža

Bloķēšanas laikā vienīgais materiāls, ko varēju dabūt rokās, bija 5 mm MDF loksne. Es izdarīju lielos griezumus ar parasto zāģi un iedevu visam labas smiltis. Divkāršs emaljas krāsas slānis pabeidza galveno sagatavošanu.

Aizmugurējais panelis

Es gribēju, lai mana kaste būtu viegli atverama, tāpēc es uzstādīju visu savu elektroniku aizmugurējā panelī ar četriem M2 PCB atvienojumiem. Manā perforatorā jau bija urbti M2 caurumi. Maniem pārtraukumiem apakšā bija nelieli vītņoti stuburi, kurus es biju iecerējis nostiprināt MDF. Bet man nebija M2 urbja. Tātad, atzīmējot katra cauruma stāvokli, es izmantoju nelielu plakanu skrūvgriezi, lai manuāli izgrieztu caurumus. Neapstrādāts, bet efektīvs. Caurumu diametri bija tikai nedaudz mazāki nekā atdalīšanas vītņotajai daļai. Es pāris reizes pagriezu atrāvumus caurumiem un no tiem, kas tos paplašināja un gandrīz vītņoja.

Visbeidzot, pārtraukumi stingri sēdēja savos caurumos un turēja perforatoru vietā. Tā kā mans MDF bija ļoti biezs, nekas neparādījās uz otru pusi.

Es izurbju caurumu strāvas ligzdai un izveidoju spraugu, lai LED sloksnes vadi varētu iziet cauri, tieši zem manas skrūves spailēm.

Priekšējais panelis

OLED displeja izgriezums

Es sāku savu OLED izgriezumu ar dažiem startera caurumiem un sakārtoju tos pēc izmēra. Galu galā tas bija ļoti satriecošs un nepareizi sakārtots. Iespējams, ka to veicināja nevis dubultas pārbaudes mērījumi, bet ietaupiet sev dažas problēmas, neizmantojot izstrādes paneli ar iebūvētu OLED. Ir daudz vieglāk vienkārši uzstādīt displeju savā caurumā.

Savienotājs

Es izveidoju savienotāju no dažām vīriešu un sieviešu galvenēm. Viens gals ir piestiprināts pie vadiem, kas savienoti ar skārienkontaktiem priekšējā panelī, bet otrā pusē vadi ved uz ESP skārienievadiem. Tas tika darīts, lai priekšējo paneli vajadzības gadījumā varētu pilnībā noņemt no aizmugures, netraucējot lodēšanas savienojumus. Ja priekšējam panelim pievienojat kaut ko citu, iespējams, vēlēsities tam izveidot arī savienotāju.

Skārienpaliktņi

Skārienkontakti tika izgatavoti no kādas alumīnija loksnes. Es to sagriezu, lai iegūtu četrus nepieciešamos spilventiņus, un pārliecinājos, ka nav nevienmērīgu malu. Pēc tam es urbju priekšējā panelī caurumus, kas bija pietiekami lieli vadam. Lai ļautu lodētam pielīmēt spilventiņus, es noberzu nelielu daļu no vienas puses ar smilšpapīru, lai noņemtu oksidēto slāni, un pēc tam ātri noslaucīju, lai noņemtu visas daļiņas. Izlaižot katru vadu caur atbilstošo caurumu priekšējā panelī, es pielodēju katru pie tā spilventiņa. Pārliecinieties, ka lodmetāls aizmugurē neveido pārāk lielu izliekumu, jo tas neļaus spilventiņam atrasties vienā līmenī ar paneli.

Visbeidzot, pievienojiet karstu līmi katra spilventiņa aizmugurē un nospiediet to uz priekšējā paneļa. Pievienojot pārāk daudz, spilventiņi sēdēs pacelti no paneļa. Notīriet lieko līmi, kas varētu būt izspiesta no spilventiņiem.

Pārējie

Sānu paneļi ir diezgan vienkārši. Ātri pieejams caurums skrūvju spailēm radīja vairāk problēmu, nekā bija vērts. Es karsti pielīmēju sānu paneļus pie priekšējā paneļa.

Velcro uz divām malām tur priekšējo daļu pie aizmugurējā paneļa. Spraugas ļauj izplūst skaņas signāla skaņai. Ja jūs darāt labāku darbu nekā es, jums nevajadzētu beigties ar kaut ko tādu, kas izskatās pēc 5 gadus vecā pirmsskolas amata:)

Manai LED sloksnei bija lipīga aizmugure (es esmu pārliecināts, ka arī jūsu). Es uzstādīju savu tā, lai gaisma izkliedētos no sienas.

4. solis: pievienojiet to

Pievienojiet to!
Pievienojiet to!

Tagad jums vajadzētu būt pilnīgai MQTT kontrolētai garastāvokļa gaismai. Es esmu uzstādījis raktuves pie sava galda, kur tas dažkārt monotonajam darbam pievieno krāsu. Nakts ir ideāls laiks, lai ar to pārsteigtu cilvēkus.

Es ceru, ka jums patika lasīt šo pamācību un ieguvāt dažas idejas saviem projektiem. Kā jau minēju iepriekš, esmu iesācējs, un šī ir mana pirmā pamācība. Es būtu pateicīgs par visiem padomiem un komentāriem.

Ieteicams: