Elektroda.pl
Elektroda.pl
X
PCBway
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik

crbjsfso 04 Sie 2019 13:34 2808 6
  • 1. Wprowadzenie

    Pewnego dnia zapragnąłem stać się właścicielem lampki nocnej RGB, którą mógłbym sterować smartfonem, czy w niedalekiej przyszłości asystentem takim jak Google Home, czy Alexa Amazon. Nie potrzebuje dużej mocy, aby na przykład móc czytać przy jej świetle literaturę piękną, a raczej preferuję podejście proekologiczne w zużyciu energii. Lampka ma pełnić funkcję głównie dekoracyjną tworząc przyjemny nastrój w pomieszczeniu. Przeglądając ofertę dostępnych na rynku rozwiązań doszedłem do wniosku, że ceny tego typu urządzeń są rozczarowująco wysokie, więc postanowiłem zbudować lampkę własnoręcznie. Moją uwagę przykuł jeden z modeli marki Xiaomi, a mianowicie Mi Bedside Lamp (cena około 250 pln). Na tym projekcie będę bazował podczas budowy. Całość planuję wykonać z materiałów ekologicznych, oczywiście w miarę moich skromnych możliwości.

    Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik
    1.1. Lampka nocna Mi Bedside Lamp Silver.

    Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik
    1.2. Lampka nocna Mi Bedside Lamp Silver – schemat budowy wewnętrznej.

    Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik
    1.3. Lampka nocna Mi Bedside Lamp Silver – prezentacja wyglądu podświetlenia w różnych kolorach.

    2. WS2812

    Według producenta WS2812 jest on inteligentnym sterownikiem LED z wbudowanym źródłem światła. Bliższe rzeczywistości jest jednak stwierdzenie, że układ ten składa się z diody RGB 5050 z wbudowanym w nią sterownikiem WS2811.

    Ogromną zaletą takiego rozwiązania w przeciwieństwie do konwencjonalnych diod RGB jest możliwość szeregowego łączenia i sterowania niemalże dowolną liczbą diod za pomocą pojedynczego przewodu sygnałowego z cyfrowego pinu mikrokontrolera. przy użyciu magistrali 1-Wire.

    Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik
    2.1. Schemat szeregowego połączenia WS2812.

    Na rynku dostępne są dwie wersję WS2812 i WS2812B, standardowa wersja WS2812 posiada sześć nóżek, natomiast wersja z dopiskiem B tylko cztery. Największą różnicą między modelami jest zabezpieczenie przed odwrotnym podłączeniem zasilania diody dla wersji B, gdzie w przypadku standardowej wersji kończyło się to zniszczeniem elementu elementu.

    Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik
    2.2. WS2812.

    Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik
    2.3. WS2812B.

    Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik
    2.4. Schemat szeregowego łączenia WS2812B.

    Podczas pracy, czy zabawy z WS2812 i WS2812B należy pamiętać, aby:

    - Nie przekraczać napięcia zasilania powyżej 5V, ponieważ uszkodzimy układ.
    - Dodać kondensator elektrolityczny o pojemności od 100µF do 1000µF (na 6.3V lub wyższy) przy zasilaniu pierwszej diody.
    - Dodać rezystor o wartości od 300Ω do 1kΩ pomiędzy mikrokontrolerem, a pierwszym pinem DIN i aby umieść go jak najbliżej diody.
    - W miarę możliwości jak najbardziej skrócić odległość pomiędzy mikrokontrolerem, a pierwszą diodą.
    - Nie podłączać diod przy włączonym zasilaniu. Jeśli nie mamy innego wyboru, to należy zachować kolejność: masa, zasilanie, linia sterująca, a odłączamy w odwrotnej kolejności.
    - Jeżeli diody zasilane są z oddzielnego źródła zasilania, to najpierw należy doprowadzić zasilanie do diod, a następnie do mikrokontrolera.

    3. Projekt i narzędzia

    Główną część lampy stanowi szklany słoik, wewnątrz są warstwy rozpraszające światło w postaci kalki technicznej i białego papieru. Całość została osadzona w kartonowej podstawie. Całość będzie składała się z:

    - Szklany słoik, najlepiej wypiaskowany aby dobrze rozpraszał światło. Ja użyłem słoika Ikea Dropper, ale nada się każdy inny podobny. Ten, którego użyłem nie jest idealny, ponieważ nie jest w całości wypiaskowany.
    - Kalka techniczna do rozpraszania światła. Pomaga uzyskać lepsze rozproszenie, zwłaszcza gdy piaskowanie nie jest całkowite.
    - Kartka białego papieru A4. Również pomocna przy rozpraszaniu, warto wąski pasek umieścić przy tuż przy diodach.
    - Karton, tektura. Do do budowy podstawy, jeśli nie umiemy sobie takiej podstawy wyrzeźbić na przykład z drewna lub nie mamy drukarki 3D.
    - Klej biurowy, przeźroczysta taśma klejąca.
    - Ładowarka z wyjściem USB 5V 1A+. Taka, jakiej używa się się do ładowania większości smartfonów.
    - Kabel USB – micro USB o długości dostosowanej do własnych potrzeb. W projekcie zastosowałem taki o długość 100 cm.
    - Kondensator elektrolityczny w przedziale od 100µF do 1000µF na 6.3V. W projekcie został użyty 1000µF 6.3V.
    - Rezystor o wartości od 300Ω do 1kΩ. W projekcie został użyty 470Ω ¼W.
    - Gniazdo wejściowe microUSB do zasilania układu. Z racji braku gniazda użyłem moduły TP4056, co daje dodatkową możliwość zastosowania w przyszłości zasilania bateryjnego z ogniw 18650.
    - Koło diod WS2812B + moduł ESP8266 (ESP-01 / ESP-01S) + łącznik ESP-01S/ESP-01 RGB LED. W tym konkretnym projekcie zostało użyte koło z 16 diodami. Cały taki zestaw można kupić w pewnym chińskim markecie online za kilka dolarów. Linka nie podam, ale wystarczy wpisać: „WS2812B ESP8266” w wyszukiwarce marketu.
    - Lutownica lub stacja lutownicza, stop lutowniczy i topnik.
    - Przewody, kilka cm.
    - Cążki do metalu.
    - Śrubokręt, nożyczki, czy inne narzędzia potrzebne do obróbki wybranego materiału.

    Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik
    3.1. Zestaw składający się z WS2812B, ESP-01 i łącznika.

    Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik
    3.2. Zestaw składający się z WS2812B, ESP-01 i łącznika.

    Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik
    3.3. Zestaw składający się z ESP-01 i łącznika.

    Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik
    3.4. Zestaw składający się z ESP-01 i łącznika.

    4. Schemat połączeń

    Jeśli korzystamy z gotowego zestawu, to schemat połączeń jest bardzo prosty.

    Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik
    4.1. Schemat połączeń wszystkich podzespołów.

    5. Kod i programowanie
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Sposób programowania ESP8266 ESP-01/ESP-01S został zaprezentowany w tym artykule (punkt 5. Arduino IDE):
    Code:
    https://www.elektroda.pl/rtvforum/topic3590037.html

    6. Efekt końcowy

    Efekt końcowy prezentuje się tak, jak to widać na poniższych zdjęciach. Należy zaznaczyć, że w rzeczywistości podświetlenie jest bardziej jednolite, niż widać to na zdjęciach. Prawdopodobnie ekspozycja podczas robienia zdjęcia byłą zbyt długa, ale ciężko zrobić w inny sposób zdjęcia w nocy bez dobrego sprzętu. Obsługa lampki odbywa się przez interfejs sieciowy pod adresem 192.168.0.100.

    Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik Prosta lampka nocna RGB WiFi w stylu Xiaomi - WS2812B + ESP8266 ESP-01S + słoik

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    crbjsfso
    Poziom 4  
    Offline 
  • PCBway
  • #2
    cefaloid
    Poziom 31  
    Efekt końcowy fajny. Aparat zawsze potęguje nierównomierności oświetlenie niewidoczne okiem. W lampce Xiaomi też okiem jest ok a aparatem jest nierównomiernie.

    Na plus w stosunku do xiaomi:

    Przynajmniej masz normalny sposób sterowania. W Xiaomi trzeba założyć jakieś idiotyczne konto i wpisac rozmiar buta oraz członka, zaakceptować milion warunków...i wtedy sterować może jedna osoba... Druga się nie połączy tak długo, jak długo pierwsza trzyma połączenie bluetooth.

    Mam ochotę zostawić z niej tylko obudowę i wsadzić Twój projekt.
  • PCBway
  • #4
    Krzysztof Kamienski
    Poziom 43  
    Zaraz ktoś zarzuci, że lampka składa się z gotowych KITow. A ja zapytam - to po co są KITy ? I plus za staranność i pomyślunek - prostą droga do celu :idea: :arrow: :D
  • #5
    o_Tadeusz
    Poziom 14  
    Mnie zastanawia w kodzie sens
    Kod: c
    Zaloguj się, aby zobaczyć kod

    a jeszcze bardziej
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Dodano po 3 [minuty]:

    crbjsfso napisał:
    sterowania niemalże dowolną liczbą diod za pomocą pojedynczego pinu cyfrowego mikrokontrolera przy użyciu magistrali 1-Wire.

    1-Wire to standard Dallasa (teraz Maxim-Dallas) a WS2812 na pewno nie komunikują się w tym standardzie.
  • #6
    khoam
    Poziom 33  
    o_Tadeusz napisał:
    a jeszcze bardziej
    Kod: c Rozwiń Zaznacz wszystko

     while (!client.available())
        {
          delay(10);
        }

    Po prostu czeka, aż będą dane do odczytu z klienta WiFi i sprawdza to, nie częściej niż 10ms. Nie ma się co czepiać.

    Poza tym prosty i fajny projekt. Plusik ode mnie.

    Dodano po 1 [godziny] 51 [minuty]:

    crbjsfso napisał:
    Obsługa lampki odbywa się przez interfejs sieciowy pod adresem 192.168.0.100.

    Jak jest z zasięgiem WiFi z ESP-01?
  • #7
    crbjsfso
    Poziom 4  
    o_Tadeusz napisał:
    Mnie zastanawia w kodzie sens
    Kod: c
    Zaloguj się, aby zobaczyć kod

    a jeszcze bardziej
    Kod: c
    Zaloguj się, aby zobaczyć kod



    Wzmianki o dodaniu opóźnienia pojawiały się w różnych poradnikach i komentarzach, które przeglądałem podczas realizacji projektu. Podobno zmniejsza to częstotliwość zawieszania się układu i konieczność resetowania go.

    o_Tadeusz napisał:

    crbjsfso napisał:
    sterowania niemalże dowolną liczbą diod za pomocą pojedynczego pinu cyfrowego mikrokontrolera przy użyciu magistrali 1-Wire.


    1-Wire to standard Dallasa (teraz Maxim-Dallas) a WS2812 na pewno nie komunikują się w tym standardzie.


    Dziękuję za zwrócenie uwagi, wprowadziłem poprawki.

    khoam napisał:

    crbjsfso napisał:
    Obsługa lampki odbywa się przez interfejs sieciowy pod adresem 192.168.0.100.


    Jak jest z zasięgiem WiFi z ESP-01?


    Router WiFi znajduje się około 8m od lampki, po drodze jest jedna ściana z żelbetonu, 2x drzwi i szafa z płyty chyba wiórowej. Przy tej odległości nie mam problemu z sygnałem, lampka od razu łączy się z siecią.