Spisu treści:

Lampa Wave - Pogoda i alerty: 7 kroków (ze zdjęciami)
Lampa Wave - Pogoda i alerty: 7 kroków (ze zdjęciami)

Wideo: Lampa Wave - Pogoda i alerty: 7 kroków (ze zdjęciami)

Wideo: Lampa Wave - Pogoda i alerty: 7 kroków (ze zdjęciami)
Wideo: Alberto - La Manga feat. Josef Bratan Prod. VEYSIGZ 2024, Lipiec
Anonim
Image
Image
Obraz
Obraz

Przeglądając świat, zobaczyłem tę absolutnie niesamowitą lampę Wave i MUSIAŁEM ją zbudować.

www.thingiverse.com/thing:774456

Lampa jest bardzo dobrze zaprojektowana i drukuje bez żadnych podpór (należy zadrukować z boku)

Istnieje również podstawa lampy, która przyjmuje paski LED

Obraz
Obraz

I oczywiście nie mogłam po prostu zostawić jej na lampkę nocną. Musiałem zrobić wifi i pokazać pogodę. Używam więc wszechobecnego modułu ESP8266 z diodami WS2812B do sterowania kolorem świateł w oparciu o dzisiejszą prognozę. Ponadto światło wyłącza się automatycznie o 22:00 i włącza się o 6:00.

Krok 1: Wymagania

Wymagania
Wymagania
Wymagania
Wymagania

Do stworzenia tej lampy fali potrzebne będą następujące przedmioty:

Narzędzia:

  1. Drukarka 3D - taka, która może drukować co najmniej 30-35cm
  2. Moduł USB-TTL do programowania ESP-12E
  3. Pistolet na gorący klej
  4. Lutownica

Materiały eksploatacyjne:

  1. PLA - biały dla lampy i inny kolor dla podstawy
  2. 30 adresowalnych diod LED RGB WS2812B
  3. ESP8266 - 12E
  4. 74HCT245N
  5. Zasilanie 5 V
  6. Konwerter zasilania 5 V-3,3 V
  7. Kilka pinów i rezystorów nagłówka
  8. Lutować

Krok 2: Druk 3D

Druk 3D
Druk 3D
Druk 3D
Druk 3D
Druk 3D
Druk 3D

Wydrukuj w 3D następujące elementy

Lampa

  1. Drukuj używając białego PLA obróconego z boku
  2. Podpory i tratwy nie są wymagane
  3. Chociaż użyłem 5 mm ronda, aby upewnić się, że przykleja się do łóżka podczas drukowania
  4. Użyłem następujących ustawień:

    • Dysza wulkaniczna 0,8 mm i wysokość warstwy 0,3 mm.
    • 2 obwody
    • 100% wypełnienia (nie ma to większego znaczenia, ponieważ kawałki są tak cienkie, że i tak się wypełniają)
  5. Ostrzegam - to OGROMNY wydruk i zajmuje dużo czasu. Tak więc, jeśli nie czujesz się komfortowo zostawiając drukarkę na noc (lub na kilka nocy), to nie jest dla Ciebie. Wydrukuj go za pomocą 3Dhubs. Kopalnia zajęła ~30 godzin

Stojak

  1. Podstawkę zmodyfikowałem za pomocą TinkerCAD, aby stworzyć w podstawie wnękę na elektronikę. Możesz go pobrać tutaj:
  2. Druk z kolorowego PLA (ja użyłam woodfill):

    • Dysza wulkaniczna 0,8 mm i wysokość warstwy 0,3 mm.
    • 2 obwody
    • 20% wypełnienia
  3. Uważaj jednak - utworzona przeze mnie wnęka nie ma żadnych podpór, a wnętrze jest trochę nieuporządkowane (szczególnie w przypadku wypełnienia z PLA, które nie jest dobrze mostkowane)

Szczyt

To jest element opcjonalny. Stworzyłem go w TinkerCAD, aby ukryć otwór na górze lampy. To nic wielkiego, ale działa.

  1. https://www.tinkercad.com/things/5aD6V4O0jpy
  2. Podpory i tratwy nie są wymagane
  3. Użyłem następujących ustawień:

    • Dysza wulkaniczna 0,8 mm i wysokość warstwy 0,3 mm.
    • 2 obwody
    • 30% wypełnienia

Krok 3: obwód elektroniczny

Obwód elektryczny
Obwód elektryczny
Obwód elektryczny
Obwód elektryczny
Obwód elektryczny
Obwód elektryczny

Obwód użyty w tej lampie jest niezwykle prosty i jeśli twoje WS2812B (niektóre działają, inne nie) działają przy sygnale 3,3 V, jest to jeszcze prostsze, ponieważ możesz wtedy uniknąć 74HCT245N.

Obwód główny (patrz schemat powyżej):

  1. ESP-12E (możesz pominąć te kroki, jeśli używasz jednego z gotowych modułów od Adafruit, Sparkfun itp.):

    • Podłącz piny 3 i 8 do 3,3 V
    • Podłącz piny 1, 11 i 12 do 3,3 V przez rezystor 10k
    • Podłącz piny 9 i 10 do GND
    • Połącz pin 12 z GND przez otwarte 2-pinowe złącze. Te piny można połączyć ze sobą, aby zaprogramować ESP-12E
    • Podłącz piny 15 i 16 do pinów nagłówka (są to piny RX i TX używane do programowania ESP-12E)
  2. 74HCT245N (zignoruj to, jeśli diody LED WS2812B działają bezpośrednio przy 3,3 V)

    • Podłącz piny 1 i 20 do +5V
    • Podłącz piny 10 i 19 do GND
    • Połącz pin 2 z pinem 13 ESP-12E
  3. WS2812B

    • Podłącz +5V i GND odpowiednio do pinów +5V i GND
    • Podłącz DIN do pinu 18 w 74HCT245N
    • Jeśli pomijasz 74HCT245N, podłącz DIN do styku 13 ESP-12E

Upewnij się, że wszystkie GND są ze sobą połączone. Upewnij się, że nie podłączasz +5 lub +3.3 do GND.

Miałem kilka desek leżących z wcześniejszego projektu i po prostu z nich korzystałem (zdjęcia powyżej)

github.com/dushyantahuja/ESP8266-RGB-W-LED…

Krok 4: Programowanie ESP-12E

Programowanie ESP-12E
Programowanie ESP-12E

Użyłem Arduino IDE do wgrania kodu do ESP-12E. Potrzebuje trochę konfiguracji, zanim będziesz mógł to zrobić.

Konfigurowanie Arduino IDE

Najnowsza wersja Arduino IDE ułatwiła programowanie tych płytek i nie trzeba już przechodzić przez wiele pętli, aby działała z płytami ESP8266.

Kroki są następujące:

  1. Pobierz najnowsze IDE z
  2. Otwórz IDE i przejdź do Narzędzia -> Tablice -> Menedżer tablic…
  3. Wyszukaj ESP8266 i kliknij zainstaluj (patrz obrazek powyżej)

Programowanie modułu

Ten moduł nie jest dostarczany z interfejsem USB, więc do obsługi komunikacji USB z komputerem należy użyć modułu USB-TTL / arduino. Możesz kupić dowolny z tanich modułów dostępnych na ebay (https://www.ebay.com/sch/i.html?_from=R40&_sacat=0&…) - wszystkie działają tak samo - jedynym zastrzeżeniem jest znalezienie odpowiednich sterowników, więc komputer wykrył moduł.

Połączenia są dość proste:

  1. Podłącz GND z USB-TTL do pinu oznaczonego GND na ESP-12E
  2. Podłącz 3,3 V z USB-TTL do pinu oznaczonego VCC na ESP-12E
  3. Podłącz TX z USB-TTL do pinu oznaczonego RX na ESP-12E
  4. Podłącz RX z USB-TTL do pinu oznaczonego TX na ESP-12E
  5. Skróć nagłówek programu, aby PIN 12 łączył się z GND

Moduł jest teraz gotowy do programowania.

Krok 5: Kodeks

Kod jest w dużym stopniu zależny od samouczka w Random Nerd Tutorials https://randomnerdtutorials.com/esp8266-weather-fo… - w rzeczywistości bity pogody są w całości kopiowane stamtąd.

  1. Zainstaluj następujące biblioteki:

    • FastLED (https://fastled.io)
    • ArduinoOTA (https://github.com/esp8266/Arduino/tree/master/libraries/ArduinoOTA)
    • ArduinboJSON (https://github.com/bblanchon/ArduinoJson)
  2. Uzyskaj interfejs API OpenWeatherMap (https://openweathermap.org/api)
  3. Pobierz kod z github:
  4. Wprowadź następujące zmiany:

    • Wifi i hasło na liniach 56 i 57
    • Klucz miasta i API na liniach 23 i 24
  5. Prześlij do ESP-12E

Jeśli wszystko poszło dobrze kod jest wgrany, twój moduł łączy się z routerem wifi i pokazuje pogodę. Obecnie ustawiłem tak, że:

  1. Jeśli będzie pochmurno / deszcz - niebieski
  2. Jeśli będzie padał śnieg / burze - czerwono-niebieski
  3. Jeśli to jasne - zielone
  4. Else Rainbow - aby uwzględnić specjalne warunki/błędy

Możesz dokonać zmian w wierszach 365-377, aby je zmienić. Używane palety są na liniach 70-82

Krok 6: Montaż

Image
Image
Konkurs Arduino 2017
Konkurs Arduino 2017

Złóż następujące elementy:

  1. Owiń taśmę LED do stojaka LED i przyklej gorącym klejem
  2. Włóż moduł obwodu na dole i przyklej gorącym klejem
  3. Przesuń lampę falową na górę stojaka LED
  4. Umieść blat na górze

Podłącz do zasilacza 5 V i ciesz się!

Krok 7: Plany na przyszłość

Na razie działa, jednak planuję dodać następujące funkcje:

  1. Włącz MQTT, aby można go było połączyć z OpenHAB
  2. Może stworzyć jakąś funkcję powiadamiania o nieodebranych połączeniach / wiadomościach
  3. Obudź się światło

Sugestie mile widziane. A jeśli je utworzysz, opublikuj tutaj zdjęcie.

Zalecana: