INHOUDSOPGAWE:

MQTT Mood Lights With ESP32: 4 Stappe (met foto's)
MQTT Mood Lights With ESP32: 4 Stappe (met foto's)

Video: MQTT Mood Lights With ESP32: 4 Stappe (met foto's)

Video: MQTT Mood Lights With ESP32: 4 Stappe (met foto's)
Video: How to Easily Control Addressable LEDs with an ESP32 or ESP8266 | WLED Project 2024, Julie
Anonim
MQTT bui ligte met ESP32
MQTT bui ligte met ESP32

Ek was al 'n geruime tyd in die versoeking om op die LED -wa te klim, so ek het weggehardloop en 'n LED -strook opgetel om mee te speel. Ek het uiteindelik hierdie gemoedelike ligte gemaak. Hulle kan met MQTT beheer word, wat dit moontlik maak om allerhande slimfone by te voeg.

Dit is 'n goeie naweekprojek as u niks anders aan die gang het nie, en u wil u hande vuil maak deur iets te maak.

Let daarop dat die doel van hierdie instruksies is om my projek te dokumenteer en idees met ander te deel, en nie noodwendig soliede instruksies en metodes te verskaf nie. Met dit gesê, lees verder!

Voorrade

Elektronika:

  • 1x ESP32 ontwikkelingsbord
  • 1x 0,96 "I2C OLED -skerm
  • 1x gonser
  • 1x vat -aansluiting
  • 1x 12V kragtoevoer (stroom hang af van die lengte van u strook)
  • 1x LM2596 bokomskakelaar
  • 1x Common-anode RGB LED-strook
  • 3x IRFZ44N MOSFET's
  • 3x BC547 transistors
  • 3x 10kΩ weerstande
  • 4x 100Ω weerstande
  • 1x prototipe bord
  • 4x skroefklemme
  • Manlike en vroulike opskrifte
  • Draad (ek het enkeldraad gebruik)

Ander hardeware en gereedskap:

  • U gewenste materiaal vir 'n omhulsel (ek het MDF gebruik)
  • Plat, geleidende materiaal vir aanrakingskontakte (ek het 'n dun aluminiumplaat gebruik)
  • Saag, bore, skuurpapier, ens.
  • Soldeerbout en vriende
  • Warm gom

Ek sou sterk aanbeveel om nie 'n ESP32 met 'n ingeboude OLED-skerm te kies nie, want dit word baie moeilik om 'n goed uitgelijnde uitsny in die omhulsel daarvoor te maak.

Stap 1: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika

Die aangehegde skema toon al die vereiste verbindings, behalwe die aanraakinvoer. Daar is ook 'n relatief vae broodborddiagram wat wys hoe u een MOSFET kan aansluit, as die skema onvoldoende is.

Krag

'N LM2596 -boksomskakelaar verlaag die 12V van die kragtoevoer na 5V vir die ESP se VIN. Maak seker dat u kragtoevoer korrek is vir die lengte van die LED -strook wat u gebruik. My 2 meter lange strook trek 'n bietjie meer as 2 ampère.

Spelde en randapparatuur

Vier raakpenne word gebruik vir, wel, raak -insette. Op my ESP32 -bord is 'n OLED -skerm aangebring, waarvan die I2C -penne vasgemaak is. Dit gebruik vier PWM -penne, een vir elke kleurkomponent (rooi, groen en blou) en een vir die zoemer.

MOSFET warboel

MOSFET's is gekies om die vinnige skakeltye vir PWM en relatief hoë stroom te hanteer. Daar is een MOSFET vir elke kleurkomponent. Ek het afsonderlike NPN BJT's (BC547) saam met 'n optrekweerstand gebruik om die IRFZ44N's aan te dryf, aangesien die 3.3V digitale seine van die ESP32 moontlik nie genoeg was vir die MOSFET's om soveel stroom as nodig te voer nie. MOSFET's op logiese vlak soos die IRLZ44N bestaan, maar ek het daarvan uitgevind nadat ek klaar was met soldeer. My strook wat ~ 2A teken, werk in elk geval goed.

Soldeer

Skroefaansluitings word gebruik om aan te sluit op die LED -strook, en vroulike kopstukke om die ESP32 in te sluit, ingeval ek een van hulle wou vervang sonder om dinge te los. Soldeer het ongeveer twee uur geneem en was baie eenvoudig. Ek het ook my LED -strook 'n paar langer drade gegee.

Waarom ek die ESP32 gekies het?

Dit het WiFi en Bluetooth aan boord (alhoewel ek nou net WiFi gebruik het), en ek het een gehad wat ek wou jeuk. Die raakinsette was ook handig vir die koppelvlak op die kontroleerder, aangesien dit slegs een draad nodig het om na 'n kontak te gaan. As u wil, kan die ESP32 egter maklik vervang word deur 'n mikrobeheerder soos die ESP8266.

Stap 2: Kode

Ek het die Arduino -gereedskapstel (eintlik die Arduino -uitbreiding vir VS -kode:)) gebruik om dit te programmeer. Daar is wonderlike tutoriale soos hierdie oor hoe u met die ESP32 en Arduino IDE kan begin, as u dit nog nie gedoen het nie.

Daar is vier verskillende maniere om te hanteer: statiese kleur, ewekansige kleur, rooi waarskuwing en blou waarskuwing. Daar is vier raakinvoer vir op, af, volgende en rooi waarskuwing. Touch gebruik onderbrekings.

Ek het ook MQTT by die werke gevoeg, sodat ek dit oor WiFi kon beheer. Ek probeer 'n idee kry van die groot drie web-app (HTML, CSS, JS), en daarom het ek 'n webblad met 'n Star Trek-tema (maar nogal lelik) ontwerp wat met 'n MQTT-makelaar kommunikeer om die bui te beheer.

Al my kode is aangeheg, tesame met 'n vinnige naslaanblad, wie se lêernaam u dalk wil verander om dit 'n markdown te maak. Beweeg al die lêers na 'n gids met die naam "ESP32MQTTMoodLighting" voordat u dit met Arduino oopmaak.

Let daarop dat my kode werk, maar waarskynlik nie die beste is nie. Maar dit behoort nie saak te maak nie, want jy gaan in elk geval jou eie skryf, nie waar nie?:)

Stap 3: Omhulsel en montering

Omhulsel en montering
Omhulsel en montering
Omhulsel en montering
Omhulsel en montering
Omhulsel en montering
Omhulsel en montering
Omhulsel en montering
Omhulsel en montering

Tydens die inperking was die enigste materiaal waarop ek my in die hande kon kry, 'n vel 5 mm MDF. Ek het die groot snitte met 'n gewone ystersaag gemaak en alles 'n goeie sand gegee. 'N Dubbele laag emaljeverf het die hoofvoorbereiding voltooi.

Agterpaneel

Ek wou hê dat my boks maklik oopgemaak kan word, en ek het al my elektronika op die agterpaneel gemonteer met vier M2 PCB -afstande. My perfboard het reeds M2 -gate daarin geboor. Aan my onderkant was daar klein draadjies aan die onderkant, wat ek in die MDF wou vasmaak. Maar ek het nie 'n M2 -boor gehad nie. Dus, met die posisie van elke gat, gebruik ek 'n klein platkopskroewedraaier om die gate met die hand uit te steek. Grof maar effektief. Die diameters van die gate was net 'n bietjie kleiner as dié van die skroefdraadgedeelte van die afstand. Ek het die standpunte 'n paar keer in en uit die gate gedraai, wat dit breër gemaak het en amper ingeryg het.

Uiteindelik sit die afwykings stewig in hul gate en hou die bord vas. Omdat my MDF baie dik was, het niks na die ander kant verskyn nie.

Ek het die gat vir die kragaansluiting geboor en 'n gleuf vir die LED -strookdrade gemaak, reg onder onder waar my skroefklemme geleë was.

Voorste paneel

OLED -skermuitknipsel

Ek het my uitsny vir die OLED begin met 'n paar begingate, en dit in grootte ingedien. Dit was uiteindelik baie wispelturig en verkeerd in lyn. Nie-kontrole van metings het moontlik 'n rol daarin gespeel, maar bespaar u probleme deur nie 'n ontwikkelbord met 'n ingeboude OLED te gebruik nie. Dit is baie makliker om die skerm net aan u gat te monteer.

Konnekteerder

Ek het 'n koppeling gemaak uit 'n paar manlike en vroulike opskrifte. Die een kant is vasgemaak aan die drade wat aan die aanrakingskontakte op die voorpaneel gekoppel is, terwyl die ander kant drade na die ESP se ingange het. Dit was sodat die voorpaneel heeltemal van die agterkant verwyder kon word indien nodig, sonder om soldeerverbindings te versteur. As u nog iets op u voorpaneel monteer, kan u ook 'n aansluiting daarvoor maak.

Raak Pads

Die aanrakingskontakte is gemaak van 'n aluminiumplaat. Ek het dit gesny om die vier pads te kry wat ek nodig gehad het, en ek het seker gemaak dat daar geen rande is nie. Ek boor toe gate in die voorpaneel, net groot genoeg vir 'n draad. Om die soldeersel aan die kussings te laat vasklou, het ek 'n klein gedeelte van die een kant met skuurpapier geskraap om die geoksideerde laag te verwyder en daarna vinnig afgevee om deeltjies te verwyder. Deur elke draad deur die ooreenstemmende gaatjie in die voorpaneel te trek, het ek elkeen aan sy kussing gesoldeer. Maak seker dat u soldeer nie 'n te groot bult op die rug skep nie, aangesien dit nie toelaat dat die kussing met die paneel inpas nie.

Voeg laastens 'n bietjie warm gom aan die agterkant van elke kussing en druk dit op die voorpaneel. As u te veel byvoeg, sal die pads van die paneel af lig. Maak die oortollige gom wat onder die pads uitgedruk is, skoon.

Die res

Die sypanele is redelik eenvoudig. 'N Gat wat vinnig by die skroefklemme kom, was meer moeite as wat dit die moeite werd was. Ek het die sypanele aan die voorpaneel vasgeplak.

Klittenband aan twee kante hou die voorste gedeelte aan die agterkant vas. Die gapings laat die geluid van die gonser ontsnap. As u 'n beter werk as ek verrig, moet u nie met iets lyk wat soos 'n 5-jarige se voorskoolse kunsvlyt lyk nie:)

My LED -strook het 'n taai agterkant (ek is seker die uwe ook). Ek het myne so gemonteer dat die lig van die muur af versprei.

Stap 4: Sluit dit aan

Sluit dit aan!
Sluit dit aan!

U behoort nou 'n volledige MQTT-beheerde bui te hê. Ek het myne op my lessenaar aangebring, waar dit 'n bietjie kleur byvoeg tot soms eentonige werk. Nag is die ideale tyd om mense daarmee te beïndruk.

Ek hoop dat u dit geniet het om hierdie Instructable te lees en dat u 'n paar idees vir u eie projekte gekry het. Soos ek voorheen genoem het, is ek 'n beginner, en dit is my eerste instruksies. Ek sal enige wenke en kommentaar waardeer.

Aanbeveel: