Innehållsförteckning:

MQTT humörljus med ESP32: 4 steg (med bilder)
MQTT humörljus med ESP32: 4 steg (med bilder)

Video: MQTT humörljus med ESP32: 4 steg (med bilder)

Video: MQTT humörljus med ESP32: 4 steg (med bilder)
Video: MQTT (Mosquitto) Протокол | Теория 2024, December
Anonim
MQTT humörljus med ESP32
MQTT humörljus med ESP32

Jag hade frestats ganska länge att hoppa in på LED -vagnen, så jag sprang ut och plockade upp en LED -remsa att leka med. Jag slutade göra dessa stämningsbelysning. De kan styras med MQTT, vilket gör det möjligt att lägga till alla möjliga smarts.

Detta är ett bra helgprojekt om du inte har något annat på gång och vill få händerna smutsiga att göra något.

Observera att syftet med denna instruktionsbok är att dokumentera mitt projekt och dela idéer med andra, och inte nödvändigtvis att ge gedigna instruktioner och metoder. Med det sagt, läs vidare!

Tillbehör

Elektronik:

  • 1x ESP32 utvecklingskort
  • 1x 0,96 "I2C OLED -skärm
  • 1x summer
  • 1x fatuttag
  • 1x 12V strömförsörjning (ström beror på längden på din remsa)
  • 1x LM2596 buck -omvandlare
  • 1x Common-anod RGB LED-remsa
  • 3x IRFZ44N MOSFET
  • 3x BC547 -transistorer
  • 3x 10kΩ motstånd
  • 4x 100Ω motstånd
  • 1x prototyper
  • 4x skruvplintar
  • Manliga och kvinnliga rubriker
  • Wire (jag använde enkelsträngad)

Annan hårdvara och verktyg:

  • Ditt önskade material för ett hölje (jag använde MDF)
  • Platt, ledande material för beröringskontakter (jag använde en tunn aluminiumplåt)
  • Sågar, borrar, sandpapper etc.
  • Lödkolv och vänner
  • Varmt lim

Jag rekommenderar starkt att du inte går för en ESP32 med en inbyggd OLED-skärm, eftersom det blir väldigt svårt att göra en välinriktad avstängning i ditt hölje för det.

Steg 1: Elektronik

Elektronik
Elektronik
Elektronik
Elektronik

Den bifogade schemat visar alla nödvändiga anslutningar, förutom pekingångarna. Det finns också ett relativt vagt skivbräda som visar hur man kopplar upp en MOSFET, om schemat är otillräckligt.

Kraft

En LM2596 buck -omvandlare stiger 12V från strömförsörjningen till 5V för ESP: s VIN. Se till att din strömförsörjning är korrekt märkt för längden på LED -remsan du använder. Min 2 meter lång remsa drar lite mer än 2 ampere.

Stift och kringutrustning

Fyra pekpinnar används för, väl, pekingångar. Mitt ESP32 -kort levererades med en OLED -skärm, vars I2C -stift var fastkopplade. Detta använder fyra PWM -stift, en för varje färgkomponent (röd, grön och blå) och en för summern.

MOSFET muddles

MOSFET valdes för att hantera de snabba omkopplingstiderna för PWM och relativt hög ström. Det finns en MOSFET för varje färgkomponent. Jag använde separata NPN BJTs (BC547) tillsammans med ett uppdragningsmotstånd för att driva IRFZ44N, eftersom de 3,3V digitala signalerna från ESP32 kanske inte har varit tillräckligt för att MOSFET: er kan leda så mycket ström som behövs. Logiska nivå MOSFETs som IRLZ44N finns, men jag fick reda på dem först efter att jag hade lödt klart allt. Hur som helst fungerar min remsa som ritar ~ 2A bra.

Lödning

Skruvplintar används för att ansluta till LED -remsan och kvinnliga rubriker för att ansluta ESP32 till, om jag vill byta ut någon av dem utan att avlödda saker. Lödning tog ungefär två timmar och var mycket enkelt. Jag gav också min LED -remsa några längre ledningar.

Varför valde jag ESP32

Den har WiFi och Bluetooth ombord (även om jag bara har använt WiFi just nu), och jag hade en liggande som jag kliade efter att använda. Pekingångarna kom också till nytta för gränssnittet på styrenheten, eftersom de bara behöver en ledning till en kontakt. Om du ville kunde ESP32 dock enkelt ersättas av en mikrokontroller som ESP8266.

Steg 2: Kod

Jag använde Arduino -verktygssatsen (faktiskt Arduino -tillägget för VS Code:)) för att programmera detta. Det finns bra handledning som den här om hur du kommer igång med ESP32 och Arduino IDE, om du inte redan har gjort det.

Det finns fyra olika lägen att hantera: statisk färg, slumpmässig färg, röd varning och blå varning. Det finns fyra pekingångar för upp, ner, nästa och röd varning. Touch använder avbrott.

Jag lade också till MQTT till verken, så att jag kunde styra det över WiFi. Jag försöker få en känsla för webbappens stora tre (HTML, CSS, JS), så jag designade en Star Trek-tema (men ganska ful) webbsida som kommunicerar med en MQTT-mäklare för att styra humörljusen.

All min kod kan hittas bifogad, tillsammans med ett snabbt referensblad, vars filnamn du kanske vill ändra för att göra det till en markdown. Flytta alla filer till en mapp med namnet "ESP32MQTTMoodLighting" innan du öppnar med Arduino.

Observera att min kod fungerar, men förmodligen inte är den största. Men det borde inte spela någon roll, för du kommer att skriva ditt eget ändå, eller hur?:)

Steg 3: Kapsling och montering

Kapsling och montering
Kapsling och montering
Kapsling och montering
Kapsling och montering
Kapsling och montering
Kapsling och montering
Kapsling och montering
Kapsling och montering

Under lockdown var det enda materialet jag kunde få tag på ett ark med 5 mm MDF. Jag gjorde de stora snitten med en vanlig bågfil och gav allt en bra sand. Ett dubbelskikt emaljfärg avslutade huvudberedningen.

Bakpanelen

Jag ville att min låda skulle vara lätt att öppna, så jag monterade all min elektronik på bakpanelen med fyra M2 PCB -avstånd. Min perfboard hade redan borrat M2 -hål i den. Mina avstånd hade små gängade stubbar längst ner, som jag tänkte fixa till MDF. Men jag hade ingen M2 borr. Så, för att markera positionen för varje hål, använde jag en liten platt skruvmejsel för att manuellt sticka ut hålen. Grovt men effektivt. Diametrarna på hålen var bara lite mindre än de på den gängade delen av distansen. Jag vridde distanserna in och ut ur hålen några gånger, vilket vidgades och nästan trådade dem.

Så småningom satt standoffs fast i sina hål och höll perfboard på plats. Eftersom min MDF var väldigt tjock visade ingenting sig till andra sidan.

Jag borrade hålet för strömuttaget och gjorde en plats för LED -remsans ledningar att passera genom, precis nedanför där mina skruvterminaler var belägna.

Frontpanel

OLED Display Cutout

Jag började min utskärning för OLED med några starthål och lade in dem i storlek. Det slutade med att bli väldigt knasigt och feljusterat. Inte dubbelkontrollerade mätningar kan ha spelat en roll i det, men spara dig lite problem genom att inte använda ett utvecklingsbord med en inbyggd OLED. Det är mycket lättare att bara montera displayen i ditt hål.

Anslutning

Jag skapade en kontakt av några manliga och kvinnliga rubriker. Ena änden fäst vid trådarna som är anslutna till beröringskontakterna på frontpanelen, medan den andra sidan hade ledningar som gick till ESP: s pekingångar. Detta var så att frontpanelen kunde tas bort helt från baksidan vid behov, utan att störa lödfogarna. Om du monterar något annat på din frontpanel kanske du också vill göra en kontakt för det.

Pekplattor

Touchkontakterna var gjorda av en aluminiumplåt. Jag klippte den för att få de fyra kuddar som behövs och verifierade att det inte fanns några ojämna kanter. Jag borrade sedan hål i frontpanelen, lagom stor för en tråd. För att låta lödet fastna på kuddarna skrapade jag upp en liten del av ena sidan med sandpapper för att ta bort det oxiderade lagret och drog det sedan snabbt för att ta bort eventuella partiklar. Genom att köra varje tråd genom motsvarande hål i frontpanelen, lodde jag var och en till dess kudde. Se till att din lödning inte skapar en för stor utbuktning på baksidan, eftersom detta inte tillåter dynan att ligga jämnt med panelen.

Slutligen, tillsätt lite varmt lim på baksidan av varje kudde och skjut dem på frontpanelen. Om du lägger till för mycket får du kuddarna att lyfta från panelen. Rensa bort allt överflödigt lim som kan ha skjutits ut under dynorna.

Resten

Sidopanelerna är ganska enkla. Ett snabbt åtkomsthål till skruvterminalerna var mer besvär än det var värt. Jag varmlimmade sidopanelerna på frontpanelen.

Kardborreband på två kanter håller den främre delen vid bakpanelen. Mellanrummet gör att summerns ljud kan fly. Om du gör ett bättre jobb än jag, ska du inte sluta med något som ser ut som en 5-åring förskolepyssel:)

Min LED -remsa hade en klibbig rygg (det är jag säker på att din också gör). Jag monterade mitt så att ljuset sprider sig från väggen.

Steg 4: Anslut den

Koppla in den!
Koppla in den!

Du bör nu ha ett komplett MQTT-kontrollerat humörljus. Jag har monterat mitt på mitt skrivbord, där det ger en färgstänk till ibland monotont arbete. Natten är den perfekta tiden att imponera på folk med den.

Jag hoppas att du tyckte om att läsa denna Instructable och fick några idéer för dina egna projekt. Som jag nämnde tidigare är jag nybörjare, och detta är min första instruerbara. Jag skulle uppskatta alla tips och kommentarer.

Rekommenderad: