Obsah:
Video: Náladová světla MQTT s ESP32: 4 kroky (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:18
Už nějakou dobu jsem byl v pokušení naskočit na LED pás, takže jsem vyběhl a vzal si LED pásek, se kterým si pohrávám. Nakonec jsem vytvořil tato náladová světla. Lze je ovládat pomocí MQTT, což umožňuje přidávat nejrůznější chytrosti.
Je to dobrý víkendový projekt, pokud se neděje nic jiného a chcete si ušpinit ruce, když něco děláte.
Všimněte si, že účelem tohoto Instructable je dokumentovat můj projekt a sdílet nápady s ostatními, a ne nutně poskytnout spolehlivé pokyny a metody. S tím řečeno, čtěte dál!
Zásoby
Elektronika:
- 1x vývojová deska ESP32
- 1x 0,96 "I2C OLED displej
- 1x bzučák
- 1x Sudový konektor
- 1x napájecí zdroj 12V (proud závisí na délce vašeho pásku)
- 1x převodník buck LM2596
- 1x RGB LED pás se společnou anodou
- 3x MOSFETY IRFZ44N
- 3x tranzistory BC547
- 3x 10kΩ odpory
- 4x 100Ω odpory
- 1x prototypovací deska
- 4x šroubové svorky
- Záhlaví mužů a žen
- Drát (použil jsem jednovláknový)
Další hardware a nástroje:
- Váš požadovaný materiál pro skříň (použil jsem MDF)
- Plochý, vodivý materiál pro dotykové kontakty (použil jsem tenký hliníkový plech)
- Pily, vrtačky, brusný papír atd.
- Páječka a přátelé
- Horké lepidlo
Důrazně doporučuji nechodit na ESP32 s vestavěným OLED displejem, protože je velmi obtížné pro něj vytvořit dobře zarovnaný výřez ve vašem krytu.
Krok 1: Elektronika
Připojené schéma ukazuje všechna požadovaná připojení, kromě dotykových vstupů. K dispozici je také relativně vágní diagram na panelu, který ukazuje, jak zapojit jeden MOSFET v případě, že je schéma neadekvátní.
Napájení
Převodník buck LM2596 snižuje napětí 12 V z napájení na 5 V pro VIN ESP. Ujistěte se, že je váš napájecí zdroj správně dimenzován na délku použitého LED pásku. Můj 2 metry dlouhý proužek čerpá o něco více než 2 ampéry.
Piny a periferie
Pro dotykové vstupy se používají čtyři dotykové piny. Moje deska ESP32 přišla s připojeným OLED displejem, jehož I2C piny byly napevno zapojeny. To používá čtyři PWM piny, jeden pro každou barevnou složku (červená, zelená a modrá) a jeden pro bzučák.
MOSFET muddles
MOSFETy byly vybrány tak, aby zvládly rychlé spínací časy pro PWM a relativně vysoký proud. Pro každou barevnou složku existuje jeden MOSFET. K pohonu IRFZ44N jsem použil samostatné NPN BJT (BC547) spolu s výsuvným odporem, protože digitální signály 3,3 V z ESP32 možná nestačily na to, aby MOSFETy vedly tolik proudu, kolik je potřeba. MOSFETy na logické úrovni, jako je IRLZ44N, existují, ale dozvěděl jsem se o nich až poté, co jsem vše pájil. Ať tak či onak, můj proužek, který čerpá ~ 2A, funguje dobře.
Pájení
K připojení k LED pásku se používají šroubové svorky a zásuvkové konektory k připojení ESP32, v případě, že bych chtěl vyměnit jeden z nich bez odpájení věcí. Pájení trvalo asi dvě hodiny a bylo velmi jednoduché. Také jsem dal mému LED pásku delší dráty.
Proč jsem si vybral ESP32
Má WiFi a Bluetooth na palubě (i když jsem právě používal pouze WiFi) a já jsem ležel kolem, který jsem chtěl používat. Dotykové vstupy se také hodily pro rozhraní na ovladači, protože ke kontaktu potřebuje pouze jeden vodič. Pokud byste však chtěli, ESP32 by mohl být snadno nahrazen mikrokontrolérem, jako je ESP8266.
Krok 2: Kód
K programování jsem použil sadu nástrojů Arduino (vlastně rozšíření Arduino pro VS Code:)). Existují skvělé návody, jako je tento, jak začít s ESP32 a Arduino IDE, pokud jste tak ještě neučinili.
K dispozici jsou čtyři různé režimy: statická barva, náhodná barva, červené upozornění a modré upozornění. K dispozici jsou čtyři dotykové vstupy pro up, down, next a Red Alert. Dotek používá přerušení.
Přidal jsem do prací také MQTT, abych jej mohl ovládat přes WiFi. Snažím se získat pocit z velké trojky webových aplikací (HTML, CSS, JS), a proto jsem navrhl (ale spíše ošklivou) webovou stránku s motivem Star Treku, která komunikuje s brokerem MQTT a ovládá náladová světla.
Veškerý můj kód lze nalézt v příloze spolu s rychlým referenčním listem, jehož název souboru možná budete chtít změnit, aby se stal markdownem. Před otevřením pomocí Arduina přesuňte všechny soubory do složky s názvem „ESP32MQTTMoodLighting“.
Všimněte si, že můj kód funguje, ale pravděpodobně není největší. Ale to by nemělo vadit, protože si stejně napíšete vlastní, že?:)
Krok 3: Příloha a montáž
Během uzamčení byl jediným materiálem, který jsem mohl dostat do rukou, list 5 mm MDF. Velké řezy jsem provedl běžnou pilkou a dal jsem všemu pořádný písek. Hlavní přípravu dokončil dvojitý nátěr smaltované barvy.
Zadní panel
Chtěl jsem, aby byl můj box snadno otevíratelný, a tak jsem veškerou svou elektroniku namontoval na zadní panel se čtyřmi distančními podložkami M2. Moje perfboardová deska již měla vyvrtané otvory M2. Moje patky měly ve spodní části malé závitové pahýly, které jsem zamýšlel upevnit do MDF. Ale neměl jsem vrták M2. Při označování polohy každého otvoru jsem tedy pomocí malého plochého šroubováku otvory ručně vykopal. Hrubý, ale účinný. Průměr otvorů byl jen o málo menší než průměr závitové části patky. Několikrát jsem stočil patky dovnitř a ven z otvorů, což je rozšířilo a téměř provléklo.
Nakonec stojky pevně seděly ve svých otvorech a držely perfboard na svém místě. Protože moje MDF byla velmi tlustá, nic neprosvítalo na druhou stranu.
Vyvrtal jsem otvor pro napájecí konektor a vytvořil otvor pro průchod vodičů LED pásky přímo pod místem, kde byly umístěny moje šroubové svorky.
Přední panel
Výřez OLED displeje
Začal jsem svůj výřez pro OLED několika startovacími otvory a rozložil je na velikost. Nakonec to bylo velmi zvrácené a špatně zarovnané. Svůj podíl na tom může mít i nekontrolní měření, ale ušetří vám to potíže tím, že nepoužíváte vývojovou desku s vestavěným OLED. Je mnohem jednodušší namontovat displej do vaší díry.
Konektor
Vytvořil jsem konektor z několika mužských a ženských záhlaví. Jeden konec byl připojen k vodičům připojeným k dotykovým kontaktům na předním panelu, zatímco na druhé straně byly vodiče vedeny k dotykovým vstupům ESP. Důvodem bylo, aby přední panel mohl být v případě potřeby zcela odstraněn ze zad, aniž by došlo k rušení pájených spojů. Pokud na přední panel připojíte cokoli jiného, možná budete chtít také vytvořit konektor.
Stiskněte podložky
Dotykové kontakty byly vyrobeny z nějakého hliníkového plechu. Uřízl jsem to, abych získal čtyři potřebné podložky, a ověřil, že tam nejsou žádné zubaté hrany. Potom jsem do předního panelu vyvrtal otvory, dostatečně velké na drát. Aby se pájka mohla přilepit k polštářkům, poškrábal jsem malou část jedné strany smirkovým papírem, abych odstranil oxidovanou vrstvu, a poté jsem ji rychle otřel, abych odstranil všechny částice. Každý drát jsem protáhl odpovídajícím otvorem na předním panelu a každý jsem připájel k jeho podložce. Ujistěte se, že vaše pájka nevytváří na zadní straně příliš velkou bouli, protože to nedovolí podložce sedět v jedné rovině s panelem.
Nakonec na zadní stranu každé podložky přidejte horké lepidlo a zatlačte je na přední panel. Pokud přidáte příliš mnoho, podložky budou zvednuty z panelu. Vyčistěte přebytečné lepidlo, které mohlo být vytlačeno zpod podložek.
Zbytek
Boční panely jsou docela jednoduché. Rychle přístupný otvor ke šroubovým svorkám byl větší problém, než to stálo. Boční panely jsem za horka nalepil na přední panel.
Suchý zip na dvou okrajích drží přední část na zadním panelu. Mezery umožňují únik zvuku bzučáku. Pokud děláte lepší práci než já, neměli byste skončit s něčím, co vypadá jako 5leté předškolní řemeslo:)
Můj LED pás měl lepkavá záda (jsem si jistý, že i váš). Namontoval jsem svůj tak, aby světlo difundovalo ze zdi.
Krok 4: Připojte jej
Nyní byste měli mít kompletní náladové světlo ovládané MQTT. Namontoval jsem svůj na svůj stůl, kde dodá občasné monotónní práci barevný nádech. Noc je ideálním časem, jak na ni zapůsobit.
Doufám, že se vám čtení tohoto Instructable líbilo a že jste získali několik nápadů pro vaše vlastní projekty. Jak jsem již zmínil, jsem začátečník a toto je můj první Instructable. Budu rád za jakékoli tipy a komentáře.
Doporučuje:
RGB Icosahedronová náladová lampa: 9 kroků (s obrázky)
Náladová nálada RGB Icosahedron: Geometrické tvary vždy přitahovaly naši pozornost. Nedávno jeden takový fascinující tvar vzbudil naši zvědavost: Icosahedron. Icosahedron je mnohostěn s 20 tvářemi. Nepodobných tvarů icosahedry může být nekonečně mnoho, ale
(WiFi) Náladová lampa: 8 kroků (s obrázky)
(WiFi) Náladová lampa: V tomto Instructable vám ukážu, jak postavit velmi snadnou a levnou náladovou lampu. Lampu lze upgradovat pomocí RGB LED a mikrokontroléru kompatibilního s WiFi
Náladová lampa: 7 kroků (s obrázky)
Náladová lampa: V této instruktáži ukazuji, jak vytvořit jednoduchou barevnou náladovou lampu s různými efekty! Barvu a efekt můžete na požádání změnit pomocí Arduina. Pro tento projekt je zde seznam materiálů, které jsem použil Stará lampa, která má vnější rám
Jak ovládat světla/domácí světla pomocí Arduino a Amazon Alexa: 16 kroků (s obrázky)
Jak ovládat světla/domácí světla pomocí Arduino a Amazon Alexa: Vysvětlil jsem, jak ovládat světlo, které je připojeno k UNO a ovládáno Alexou
Plnobarevná náladová lampa na betonovém podkladu: 7 kroků (s obrázky)
Plnobarevná náladová lampa na betonovém podkladu: Nastavitelná plnobarevná náladová lampa s litou betonovou základnou. Organická forma lampy je vyrobena vložením velké lycrové ponožky přes 2 hliníkové tyče, které jsou ohnuty a drženy vloženými trubkami v základně. Převážná část tohoto pokynu je o