Spisu treści:

Światła nastrojowe MQTT z ESP32: 4 kroki (ze zdjęciami)
Światła nastrojowe MQTT z ESP32: 4 kroki (ze zdjęciami)

Wideo: Światła nastrojowe MQTT z ESP32: 4 kroki (ze zdjęciami)

Wideo: Światła nastrojowe MQTT z ESP32: 4 kroki (ze zdjęciami)
Wideo: Templates and Custom Sensors in Home Assistant - How To TUTORIAL 2024, Lipiec
Anonim
Światła nastrojowe MQTT z ESP32
Światła nastrojowe MQTT z ESP32

Od dłuższego czasu kusiło mnie, aby wskoczyć na modę LED, więc wybiegłem i wziąłem pasek LED do zabawy. Skończyło się na zrobieniu tych nastrojowych świateł. Można nimi sterować za pomocą MQTT, co umożliwia dodawanie wszelkiego rodzaju inteligentnych elementów.

To dobry projekt na weekend, jeśli nic więcej się nie dzieje i chcesz pobrudzić sobie ręce robiąc coś.

Zauważ, że celem tego Instructable jest dokumentowanie mojego projektu i dzielenie się pomysłami z innymi, a niekoniecznie dostarczanie solidnych instrukcji i metod. Powiedziawszy to, czytaj dalej!

Kieszonkowe dzieci

Elektronika:

  • 1x płytka rozwojowa ESP32;
  • 1x 0.96 "wyświetlacz I2C OLED
  • 1x brzęczyk
  • 1x Podnośnik do beczek
  • 1x zasilacz 12V (prąd zależny od długości Twojej listwy)
  • 1x konwerter złotówki LM2596
  • 1x taśma LED RGB ze wspólną anodą
  • 3x tranzystory MOSFET IRFZ44N
  • 3x tranzystory BC547
  • Rezystory 3x 10kΩ
  • Rezystory 4x 100Ω
  • 1x płytka do prototypowania
  • 4x zaciski śrubowe
  • Nagłówki męskie i żeńskie
  • Drut (użyłem jednożyłowego)

Inny sprzęt i narzędzia:

  • Pożądany materiał na obudowę (użyłem MDF)
  • Płaski, przewodzący materiał na styki dotykowe (użyłem cienkiej blachy aluminiowej)
  • Piły, wiertarki, papier ścierny itp.
  • Lutownica i przyjaciele
  • Gorący klej

Zdecydowanie odradzałbym wybieranie ESP32 z wbudowanym wyświetlaczem OLED, ponieważ bardzo trudno jest zrobić dla niego dobrze wyrównane wycięcie w obudowie.

Krok 1: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika

Załączony schemat przedstawia wszystkie wymagane połączenia, z wyjątkiem wejść dotykowych. Istnieje również stosunkowo niejasny schemat płytki prototypowej pokazujący, jak podłączyć jeden MOSFET, na wypadek, gdyby schemat był niewystarczający.

Moc

Konwerter buck LM2596 obniża napięcie 12 V z zasilania do 5 V dla VIN ESP. Upewnij się, że twój zasilacz jest odpowiednio przystosowany do długości używanej taśmy LED. Mój 2-metrowy pasek pobiera trochę więcej niż 2 ampery.

Piny i urządzenia peryferyjne

Cztery piny dotykowe służą do wprowadzania danych dotykowych. Moja płyta ESP32 była dostarczana z dołączonym wyświetlaczem OLED, którego piny I2C były okablowane na stałe. Wykorzystuje to cztery piny PWM, po jednym dla każdego składnika koloru (czerwony, zielony i niebieski) i jeden dla brzęczyka.

zamieszanie MOSFET

MOSFETy zostały wybrane do obsługi krótkich czasów przełączania dla PWM i stosunkowo wysokiego prądu. Dla każdego składnika koloru jest jeden MOSFET. Użyłem oddzielnych tranzystorów NPN BJT (BC547) wraz z rezystorem podciągającym do napędzania IRFZ44N, ponieważ sygnały cyfrowe 3,3 V z ESP32 mogły nie wystarczyć, aby tranzystory MOSFET przewodziły tyle prądu, ile potrzeba. MOSFET-y na poziomie logicznym, takie jak IRLZ44N, istnieją, ale dowiedziałem się o nich dopiero po zakończeniu lutowania wszystkiego. Tak czy inaczej, mój pasek, który pobiera ~2A, działa dobrze.

Lutowanie

Zaciski śrubowe służą do podłączenia paska LED, a gniazda żeńskie do wpięcia ESP32, na wypadek gdybym chciał wymienić którykolwiek z nich bez wylutowywania rzeczy. Lutowanie trwało około dwóch godzin i było bardzo proste. Dałem też mojej taśmie LED trochę dłuższych przewodów.

Dlaczego wybrałem ESP32

Ma na pokładzie Wi-Fi i Bluetooth (choć w tej chwili korzystałem tylko z Wi-Fi), a ja miałem jeden leżący wokół, którego chciałem użyć. Wejścia dotykowe przydały się również w przypadku interfejsu na kontrolerze, ponieważ wymagają tylko jednego przewodu prowadzącego do styku. Gdybyś jednak chciał, ESP32 można by łatwo zastąpić mikrokontrolerem takim jak ESP8266.

Krok 2: Kod

Użyłem zestawu narzędzi Arduino (właściwie rozszerzenie Arduino dla VS Code:)) do zaprogramowania tego. Istnieją świetne samouczki, takie jak ten, jak zacząć korzystać z ESP32 i Arduino IDE, jeśli jeszcze tego nie zrobiłeś.

Istnieją cztery różne tryby obsługi: kolor statyczny, kolor losowy, alarm czerwony i alarm niebieski. Dostępne są cztery wejścia dotykowe dla górnego, dolnego, następnego i czerwonego alertu. Dotyk używa przerwań.

Dodałem też do prac MQTT, aby móc nim sterować przez WiFi. Próbuję wyczuć wielką trójkę aplikacji internetowych (HTML, CSS, JS), więc zaprojektowałem stronę o tematyce Star Trek (ale raczej brzydką), która komunikuje się z brokerem MQTT w celu kontrolowania świateł nastrojowych.

Cały mój kod można znaleźć w załączniku wraz z arkuszem szybkiego odniesienia, którego nazwę pliku możesz zmienić, aby uczynić go przeceną. Przenieś wszystkie pliki do folderu o nazwie „ESP32MQTTMoodLighting” przed otwarciem za pomocą Arduino.

Zauważ, że mój kod działa, ale prawdopodobnie nie jest najlepszy. Ale to nie powinno mieć znaczenia, bo i tak napiszesz swój własny, prawda?:)

Krok 3: Obudowa i montaż

Obudowa i montaż
Obudowa i montaż
Obudowa i montaż
Obudowa i montaż
Obudowa i montaż
Obudowa i montaż
Obudowa i montaż
Obudowa i montaż

Podczas blokady jedynym materiałem, jaki udało mi się zdobyć, był arkusz MDF o grubości 5 mm. Wykonałem duże cięcia zwykłą piłą do metalu i dałem wszystko porządny piasek. Podwójna warstwa farby emaliowej zakończyła główne przygotowanie.

Panel tylny

Chciałem, aby moje pudełko było łatwe do otwarcia, więc zamontowałem całą moją elektronikę na tylnym panelu za pomocą czterech wsporników PCB M2. Moja płyta perforowana miała już wywiercone otwory M2. Moje wsporniki miały na dole małe gwintowane kołki, które zamierzałem przymocować do płyty MDF. Ale nie miałem wiertła M2. Tak więc, zaznaczając położenie każdego otworu, użyłem małego płaskiego śrubokręta do ręcznego wyżłobienia otworów. Surowy, ale skuteczny. Średnice otworów były nieco mniejsze niż w gwintowanej części wspornika. Kilka razy wkręcałem i wykręcałem występy w otworach, co je poszerzyło i prawie nawleczyło.

W końcu wsporniki mocno osadziły się w swoich otworach i utrzymywały płytę perforowaną na miejscu. Ponieważ moja płyta MDF była bardzo gruba, nic nie przebijało się na drugą stronę.

Wywierciłem otwór na gniazdo zasilania i zrobiłem szczelinę, przez którą przechodzą przewody taśmy LED, tuż poniżej miejsca, w którym znajdowały się moje zaciski śrubowe.

Przedni panel

Wycięcie wyświetlacza OLED

Zacząłem wycinać OLED od kilku początkowych otworów i spiłowałem je do rozmiaru. Skończyło się na bardzo chwiejnym i źle wyrównanym. Brak podwójnego sprawdzania pomiarów może odegrać w tym pewną rolę, ale oszczędź sobie kłopotów, nie używając płytki rozwojowej z wbudowanym OLED. O wiele łatwiej jest po prostu zamontować wyświetlacz w otworze.

Złącze

Zrobiłem złącze z kilku męskich i żeńskich nagłówków. Jeden koniec podłączony do przewodów podłączonych do styków dotykowych na panelu przednim, podczas gdy drugi koniec miał przewody biegnące do wejść dotykowych ESP. Stało się tak, aby w razie potrzeby przedni panel można było całkowicie zdjąć z tyłu, bez naruszania połączeń lutowanych. Jeśli zamontujesz cokolwiek innego na panelu przednim, możesz również zrobić złącze do tego.

Panele dotykowe

Styki dotykowe zostały wykonane z jakiejś blachy aluminiowej. Wyciąłem go, aby uzyskać potrzebne cztery podkładki i sprawdziłem, czy nie ma postrzępionych krawędzi. Następnie wywierciłem otwory w przednim panelu, wystarczająco duże, aby pomieścić przewód. Aby pozwolić lutowi przykleić się do padów, zdrapałem niewielką część jednej strony papierem ściernym, aby usunąć utlenioną warstwę, a następnie szybko wytarłem, aby usunąć wszelkie cząstki. Przeprowadzając każdy przewód przez odpowiedni otwór w panelu przednim, przylutowałem każdy do jego podkładki. Upewnij się, że lut nie tworzy zbyt dużego wybrzuszenia z tyłu, ponieważ nie pozwoli to na zrównanie się podkładki z panelem.

Na koniec dodaj trochę gorącego kleju z tyłu każdej podkładki i wciśnij je na przedni panel. Dodanie zbyt dużej ilości sprawi, że klocki będą uniesione z panelu. Usuń nadmiar kleju, który mógł zostać wypchnięty spod podkładek.

Reszta

Panele boczne są dość proste. Otwór szybkiego dostępu do zacisków śrubowych był bardziej kłopotliwy, niż był wart. Boczne panele przykleiłem na gorąco do przedniego panelu.

Rzep na dwóch krawędziach przytrzymuje przednią część do tylnego panelu. Szczeliny pozwalają na ucieczkę dźwięku brzęczyka. Jeśli robisz lepszą robotę ode mnie, nie powinieneś skończyć z czymś, co wygląda jak przedszkolne rzemiosło 5-latka:)

Moja taśma LED miała lepki tył (jestem pewien, że twoja też ma). Zamontowałem mój tak, aby światło rozpraszało się od ściany.

Krok 4: Podłącz go

Podłącz to!
Podłącz to!

Powinieneś teraz mieć pełną lampkę nastrojową kontrolowaną przez MQTT. Zamontowałem swoją na biurku, gdzie dodaje trochę koloru do czasami monotonnej pracy. Noc to idealny czas, aby zaimponować ludziom.

Mam nadzieję, że podobało Ci się czytanie tej instrukcji i masz kilka pomysłów na własne projekty. Jak wspomniałem wcześniej, jestem początkującym i to jest mój pierwszy Instruktaż. Będę wdzięczny za wszelkie wskazówki i komentarze.

Zalecana: