Taula de continguts:

MQTT Mood Lights amb ESP32: 4 passos (amb imatges)
MQTT Mood Lights amb ESP32: 4 passos (amb imatges)

Vídeo: MQTT Mood Lights amb ESP32: 4 passos (amb imatges)

Vídeo: MQTT Mood Lights amb ESP32: 4 passos (amb imatges)
Vídeo: Enabling Multi-image Applications with AMP Support on ESP32 - Sylvio Alves, Espressif Systems 2024, De novembre
Anonim
MQTT Mood Lights amb ESP32
MQTT Mood Lights amb ESP32

Feia força temps que tenia la temptació de pujar al carro LED, així que vaig sortir corrent i vaig agafar una tira LED per jugar. Vaig acabar fent aquestes llums d’humor. Es poden controlar amb MQTT, cosa que permet afegir tot tipus d’intel·ligents.

Aquest és un bon projecte de cap de setmana si no teniu res més i voleu embrutar-vos les mans fent alguna cosa.

Tingueu en compte que el propòsit d’aquest instructiu és documentar el meu projecte i compartir idees amb altres persones, i no necessàriament proporcionar instruccions i mètodes sòlids. Dit això, segueix llegint!

Subministraments

Electrònica:

  • 1x placa de desenvolupament ESP32
  • 1x pantalla OLED I2C de 0,96"
  • 1x Buzzer
  • 1x presa de barril
  • 1 alimentació de 12 V (el corrent depèn de la longitud de la tira)
  • 1x convertidor de dòlars LM2596
  • 1 tira de LED RGB d'ànode comú
  • 3x MOSFET IRFZ44N
  • 3x transistors BC547
  • Resistències 3x 10kΩ
  • 4x resistències de 100Ω
  • 1x placa de prototipat
  • 4x terminals de cargol
  • Capçaleres masculines i femenines
  • Cable (he utilitzat un fil)

Altres eines i maquinari:

  • El material desitjat per a un recinte (he utilitzat MDF)
  • Material pla i conductor per a contactes tàctils (he utilitzat una làmina fina d’alumini)
  • Serres, broques, paper de vidre, etc.
  • Soldador i amics
  • Cola calenta

Recomanaria encaridament no optar per un ESP32 amb una pantalla OLED integrada, perquè es fa molt difícil fer un retall ben alineat al vostre recinte.

Pas 1: electrònica

Electrònica
Electrònica
Electrònica
Electrònica

L’esquema adjunt mostra totes les connexions necessàries, excepte les entrades tàctils. També hi ha un diagrama de taulers informatius relativament imprecís que mostra com connectar un MOSFET, en cas que l’esquema sigui inadequat.

Potència

Un convertidor dòlar LM2596 redueix els 12V de la font d'alimentació a 5V per al VIN de l'ESP. Assegureu-vos que la font d’alimentació estigui adequada per a la longitud de la tira LED que utilitzeu. La meva tira de 2 metres de llarg dibuix una mica més de 2 amperes.

Pins i perifèrics

S’utilitzen quatre pins tàctils per a les entrades tàctils. La meva placa ESP32 venia amb una pantalla OLED connectada, els pins I2C dels quals estaven connectats. S'utilitzen quatre pins PWM, un per a cada component de color (vermell, verd i blau) i un per al brunzidor.

MOSFET confon

Els MOSFET es van triar per gestionar els temps de commutació ràpids de PWM i el corrent relativament alt. Hi ha un MOSFET per a cada component de color. He utilitzat NPN BJT separats (BC547) juntament amb una resistència de tracció per conduir els IRFZ44N, ja que els senyals digitals de 3,3 V de l’ESP32 poden no haver estat suficients perquè els MOSFET condueixin tanta intensitat com sigui necessari. Existeixen MOSFET de nivell lògic com l’IRLZ44N, però només me’n vaig assabentar després d’haver acabat de soldar-ho tot. Sigui com sigui, la meva tira que dibuixa ~ 2A funciona bé.

Soldadura

Els terminals de cargol s’utilitzen per connectar-se a la tira de LED i les capçaleres femella per connectar l’ESP32, per si volia substituir-les sense desoldar les coses. La soldadura va trigar unes dues hores i va ser molt senzilla. També he donat a la meva tira LED uns cables més llargs.

Per què vaig triar l’ESP32

Té WiFi i Bluetooth a bord (tot i que ara només he utilitzat WiFi), i en tenia un que estava a punt d’utilitzar. Les entrades tàctils també eren útils per a la interfície del controlador, ja que només necessiten un cable per a un contacte. Si volíeu, però, l’ESP32 es podria substituir fàcilment per un microcontrolador com l’ESP8266.

Pas 2: Codi

He utilitzat el conjunt d’eines Arduino (en realitat l’extensió Arduino per a VS Code:)) per programar-ho. Hi ha excel·lents tutorials com aquest sobre com començar a utilitzar ESP32 i Arduino IDE, si encara no ho heu fet.

Hi ha quatre modes diferents de manejar: color estàtic, color aleatori, Alerta vermella i Alerta blava. Hi ha quatre entrades tàctils per amunt, avall, següent i alerta vermella. El tacte utilitza interrupcions.

També vaig afegir MQTT a les obres, de manera que pogués controlar-lo per WiFi. Intento tenir una idea de les tres grans aplicacions web (HTML, CSS, JS), de manera que vaig dissenyar una pàgina web amb temàtica Star Trek (però bastant lletja) que es comunica amb un corredor MQTT per controlar els llums d’ànim.

Es pot trobar tot el meu codi adjunt, juntament amb un full de referència ràpida, el nom del fitxer del qual podeu canviar per convertir-lo en una reducció. Mou tots els fitxers a una carpeta amb el nom "ESP32MQTTMoodLighting" abans d'obrir-los amb Arduino.

Tingueu en compte que el meu codi funciona, però probablement no sigui el millor. Però això no hauria d’importar, perquè escriuràs el teu de totes maneres, oi?:)

Pas 3: Tancament i muntatge

Tancament i muntatge
Tancament i muntatge
Tancament i muntatge
Tancament i muntatge
Tancament i muntatge
Tancament i muntatge
Tancament i muntatge
Tancament i muntatge

Durant el bloqueig, l’únic material que podia aconseguir era un full de MDF de 5 mm. Vaig fer els grans talls amb una serra mecànica normal i vaig donar una bona sorra a tot. Una doble capa de pintura esmaltada va acabar la preparació principal.

Tauler posterior

Volia que la meva caixa fos fàcilment oberta, de manera que vaig muntar tota la meva electrònica al tauler posterior amb quatre separadors de PCB M2. El meu perfboard ja tenia forats M2. Els meus separadors tenien uns petits filaments a la part inferior, que pretenia fixar al MDF. Però no tenia una broca M2. Per tant, marcant la posició de cada forat, he utilitzat un petit tornavís de cap pla per treure manualment els forats. Cru però eficaç. Els diàmetres dels forats eren una mica més petits que els de la part roscada de la separació. Vaig girar els separadors dins i fora dels forats unes quantes vegades, cosa que els va eixamplar i gairebé enfilar.

Finalment, els enfrontaments es van asseure fermament als seus forats i van mantenir el perfboard al seu lloc. Com que el meu MDF era molt espès, no hi havia res que passés a l’altra banda.

Vaig foradar el forat de la presa de corrent i vaig crear una ranura perquè passessin els cables de la tira LED, just a sota d’on estaven situats els terminals de cargol.

Panell frontal

Retall de pantalla OLED

Vaig començar el meu retall per a l’OLED amb alguns forats d’arrencada i els vaig arxivar a mida. Va acabar sent molt molest i desalineat. És possible que no es faci una doble comprovació de les mesures, però us estalvieu alguns problemes si no utilitzeu una placa de desenvolupament amb un OLED integrat. És molt més fàcil muntar la pantalla al forat.

Connector

Vaig crear un connector d'algunes capçaleres masculines i femenines. Un extrem connectat als cables connectats als contactes tàctils del tauler frontal, mentre que l’altre costat tenia cables connectats a les entrades tàctils de l’ESP. Això va fer que el tauler frontal es pogués treure completament de la part posterior si fos necessari, sense molestar les juntes de soldadura. Si munteu qualsevol altra cosa al tauler frontal, és possible que vulgueu fer-ne un connector també.

Coixinets tàctils

Els contactes tàctils estaven fets d'alguna xapa d'alumini. El vaig tallar per obtenir els quatre coixinets necessaris i vaig comprovar que no hi havia vores dentades. Després he forat al panell frontal, prou gran per a un cable. Per deixar que la soldadura s’enganxés als coixinets, vaig fregar una petita porció d’un costat amb paper de vidre per eliminar la capa oxidada i després li vaig fer un netejat ràpid per eliminar qualsevol partícula. Fent passar cada cable pel seu forat corresponent al tauler frontal, vaig soldar cadascun al seu coixinet. Assegureu-vos que la soldadura no creï una protuberància massa gran a la part posterior, ja que això no permetrà que el coixinet quedi al mateix nivell que el tauler.

Finalment, afegiu una mica de cola calenta a la part posterior de cada coixinet i empenyeu-les al tauler frontal. Si afegiu massa, els coixinets se situaran aixecats del tauler. Netegeu l'excés de cola que hagi estat expulsat de sota dels coixinets.

La resta

Els panells laterals són força senzills. Un forat d'accés ràpid als terminals de cargol era més difícil del que valia la pena. Vaig enganxar en calent els panells laterals al panell frontal.

El velcro en dues vores manté la porció frontal al tauler posterior. Els buits permeten escapar el so del brunzidor. Si feu una feina millor que jo, no hauríeu d’acabar amb alguna cosa que sembli l’ofici d’educació infantil d’un nen de 5 anys:)

La meva tira LED tenia una part posterior enganxosa (segur que també la vostra). Vaig muntar la meva de manera que la llum es difongui de la paret.

Pas 4: connecteu-lo

Endolleu-lo!
Endolleu-lo!

Ara hauríeu de tenir una llum d’ànim completa controlada per MQTT. He muntat el meu al meu escriptori, on afegeix un toc de color a la feina de vegades monòtona. La nit és el moment ideal per impressionar la gent amb ella.

Espero que us hagi agradat llegir aquest instructiu i tingueu algunes idees per als vostres propis projectes. Com he esmentat abans, sóc principiant i aquest és el meu primer instructable. Agrairia qualsevol consell i comentari.

Recomanat: