Reklama

Kilka miesięcy temu $3000 grzmotów i błyskawic lampa nastrojowa stała się popularna w społeczności twórców. To było oszałamiająco piękne światło, ale cena nie pozwalała na to nikomu z nienaruszonym zdrowiem psychicznym. To, co stworzymy dzisiaj, nie jest dokładnie takie samo - tworzymy coś bardziej praktycznego, zamiast dzieła sztuki, ale będzie o wiele fajniejsze i bardziej konfigurowalne.

Zdecydowałem się pominąć głośniki, zakładając, że prawdopodobnie masz już w pokoju dobrą parę głośników, których wolisz, a szczerze mówiąc, umieszczenie głośnika w lampie jest trochę dziwne. Zamiast tego dodam mikrofon, który pozwoli błyskawicy automatycznie reagować na głośne dźwięki - albo z prawdziwej burzy, albo ze ścieżki dźwiękowej odtwarzanej z komputera lub stereo.

Zamierzamy również zastosować ciąg pełnych diod LED Neopixel RGB (WS2812B), abyśmy mogli reprodukować kolory inne niż biały i kontrolować każdy piksel.

Ostrzeżenie: zasilacz, którego użyłem w tym projekcie, ma zaciski śrubowe, które łączą się z przewodem prądu przemiennego pod napięciem. Jeśli nie czujesz się pewnie, podłączając wtyczkę, upewnij się, że kupiłeś całkowicie zamknięty zasilacz. Przynajmniej musisz umieścić zasilacz w bezpiecznym polu projektu.

instagram viewer

Krok 0: Wprowadzenie

Oto film demonstracyjny ukończonego projektu. Do tej pory wdrożyłem kilka różnych trybów, od standardowej błyskawicy po potrójną chmurę kwasową i kolorową lampę nastroju, którą można wybrać za pomocą pilota.

Pełny potrzebny kod i biblioteki są dostępne do pobrania z to repozytorium Github.

Krok 1: Będziesz potrzebować

Jak zbudować lampę chmurową z materiałów do lampy chmurowej Sound Reactive Lightning
  • Nić WS2812B, zwykle wyceniony na około 50 USD za 5 metrów. Nie martw się, jeśli masz inny typ nici Neopixel, jest prawie na pewno obsługiwany przez FastLED interfejs, ale okablowanie może być inne (może być wymagana linia synchronizacji oprócz sygnału, na przykład przykład).
  • Zasilanie 5 V, 10 A + - Kupiłem jakieś 15A jednostek za 11 USD każda. Pobierają one napięcie wejściowe 120–240 V prądu przemiennego i wytwarzają mocne napięcie wyjściowe 5 V, które wystarcza do zasilania wszystkich naszych pikseli przy pełnej jasności oraz Arduino.
  • Okablowanie elektryczne, wtyczka i przełącznik liniowy
  • Załącznik do projektu
  • Dwa Arduinos. Klony Funduino za 10 USD są w porządku. Drugi jest niezbędny do zdalnego sterowania, podczas gdy pierwszy steruje główną logiką i diodami LED.
  • Dwa rezystory o wartości 2,2 tys. (Lub więcej) - dokładna wartość nie ma tak dużego znaczenia, powinno działać od około 1,5 do 47 tys.
  • Breadboard
  • Odbiornik podczerwieni TSOP4838
  • Pilot na podczerwień - kupiłem hurtowo za około 2 USD każdy, ale każdy pilot powinien działać z modyfikacjami kodu.
  • Duży moduł mikrofonu
  • Zeskrob drewno MDF, aby wyciąć podstawę i wyrzynarkę.
  • Polistyrenowe materiały opakowaniowe / wkładki do pudeł.
  • Bawełniana poduszka z wypełnieniem z polipropylenu. Wyciągnąłem wystarczająco dużo z kilku okropnych starych poduszek. Jeśli to nie jest opcja, powinieneś być w stanie kupić coś nowego za około 10 USD lub użyć nawet tańszej waty. Próbowałem z obydwoma - wata wymagała więcej pracy, aby ją podrażnić i nie była tak puszysta, ale w skrócie, zadziała.
  • Łańcuch i haczyki do zawieszenia chmury - powinny pomieścić ponad 5 kg.
  • Pistolet do klejenia z ustawieniem niskiej temperatury
  • Rozpyl klej - dzięki temu łatwiej jest przykleić farsz do chmury, ale pistolet do kleju może również działać.

Całkowity koszt to około 100 USD, nie wliczając narzędzi, ale większość z nich przeszukałem po całym domu. Wszystkie elementy elektroniczne są powszechnie dostępne; mikrofon można znaleźć w zestawie czujników lub kupić osobno.

Krok 2: Wytnij podstawę

Jak zbudować lampę chmurową z dźwiękoszczelną lampą chmurową Lightning 1 przecinającą podstawę

Wytnij szorstką podstawę z kawałka płyty MDF za pomocą wyrzynarki - dokładny kształt zależy oczywiście od ciebie, ale z jakiegoś powodu chmura ma kształt fasoli nerkowej. Będziemy przymocować do tego kilka haczyków do zawieszenia, ale w przeciwnym razie będzie to po prostu solidna podstawa do budowania. Centralny obszar będzie zarezerwowany dla elektroniki, zasilacza i do przekazania łańcucha, więc upewnij się, że masz wystarczająco dużo miejsca, aby umieścić przynajmniej obudowę projektu z kilkoma otaczającymi ją hakami.

Krok 3: Warstwa na styropianie

Jak zbudować lampę chmurową z lampą chmurową Sound Reactive Lightning 2-warstwową na styropianie

To najtrudniejszy i najbardziej kreatywny krok, ale tak naprawdę tworzymy coś solidnego i tak troche w kształcie chmury, aby przykleić pasek LED. Przyklej duże kawałki styropianu do podstawy (i pod nią), używając ustawienia niskiej temperatury na pistolecie do kleju. Jeśli nie masz niskiego ustawienia, wyłącz opalarkę i pozwól jej trochę ostygnąć przed przystąpieniem do klejenia. Jeśli temperatura jest zbyt wysoka, po prostu stopisz się przez materiał opakowania.

Upewnij się, że każdy kawałek jest solidny przed przyklejeniem następnego, a najlepiej przykleić więcej niż za mało.

Ponownie pamiętaj o pozostawieniu wystarczająco dużej wnęki w chmurze, aby zmieściła się elektronika, łańcuch i haki.

Krok 4: Wytnij kształt chmury 3D

Jak zbudować chmurę Lampa z dźwiękową lampą reaktywną Błyskawica 3 rzeźbiąc chmurę

Użyj noża do rzeźbienia, aby uporządkować chmurę, zaokrąglając rogi i odcinając niepotrzebne materiały, aż do uzyskania szorstkiego kształtu chmury 3D. To naprawdę nie ma znaczenia, jak surowe to jest, ponieważ później zajmiemy się nadziewaniem - możesz łatwo ukryć błędy.

Krok 5: Napraw haki, uporządkuj

Jak zbudować lampę chmurową z Sound Reactive Lightning chmurna lampa 4 w kolorze białym

Na koniec przymocuj trzy lub cztery haczyki do podstawy MDF od wewnątrz każdego rogu wnęki chmury. Musisz wywiercić mały otwór pilotujący, ponieważ płytę MDF trudno jest wkręcić od razu.

Dałem też wszystko prostą warstwę białej farby w sprayu, aby zapewnić jednolitą bazę kolorów, ale nie jestem pewien, czy to rzeczywiście było konieczne.

Krok 6: Przyklej paski LED

Jak zbudować lampę chmurową z lampą chmurową Sound Reactive Lightning 5 klej na paski led

Zanim zaczniesz nakładać klej na diody LED, zacznij od nowego paska lub policz, ile masz w sumie diod LED - musisz dowiedzieć się, ile z nich wykorzystałeś później na etapie programowania. Wytnij mały otwór z boku chmury i przebij się przez druty tworzące początek paska LED do wnęki chmury. Uważaj, aby zacząć od właściwego końca - paski LED są wrażliwe na kierunek, więc upewnij się, że strzałki sygnału są skierowane od wnęki.

Pracując powoli, przyklej piksele LED do polistyrenowej podstawy w kształcie koła, zanim pociągniesz pasek w dół do podstawy, aby zakryć spód. Znowu - nie musisz być tutaj idealny, ponieważ kiedy wszystko rozproszyliśmy i udusiliśmy go farszem, wszystko i tak wygląda raczej oszałamiająco.

Użyłem w sumie 85 diod LED, czyli nieco ponad 2,5 m, po dwukrotnym okrążeniu głównego korpusu i jednym spodem diod LED na spodzie.

Krok 7: Schemat połączeń

Jak zbudować lampę chmurową ze schematem okablowania lampy chmurowej Sound Reactive Lightning

Okablowanie jest złożone, ale łatwo można je podzielić na sekcje.

Najpierw podłącz zasilanie i zabezpiecz je, najlepiej w oddzielnej obudowie projektowej. Nie zamierzam wykładać o bezpieczeństwie przewodów pod napięciem AC, więc założę, że poradzisz sobie z tą częścią i masz z niej linię 5 V i GND.

WAŻNY: podczas programowania i testowania Arduino 5 V od twojego zasilacza powinno pozostać odizolowane od Arduino ( Wszystkie GND są jednak podłączone) - powinien zasilać tylko pasek LED, podczas gdy Arduino wykorzystuje napięcie 5 V USB. Po zakończeniu programowania USB powinien zostać odłączony i nie będzie już dostarczał napięcia 5 V do Arduino - w tym momencie powinieneś podłączyć 5 V ze swojego źródła zasilania do szyny 5 V po lewej stronie deska do krojenia

Najpierw podłącz uziemienie i styki 5 V z każdego Arduino do lewej szyny bocznej płyty. Będą dzielić to samo źródło zasilania, niezależnie od tego, czy jest to zewnętrzny zasilacz, jaki mamy, czy USB podłączony do jednego z nich.

Następnie wypełnij sekcję okablowania I2C - dzięki temu nasze dwa Arduinos mogą się komunikować. Umieść szpilki A4 z obu Arduinos w jednym rzędzie na płycie chleba, a następnie podłącz rezystor 2,2 kz tego rzędu do szyny 5 V. Powtórz dla A5, łącząc je ponownie w osobnym rzędzie z kolejnym rezystorem 2,2k do 5V.

Następnie podłącz odbiornik IR - sprawdź konfigurację pinów, jeśli masz inny model, ale w zasadzie pin sygnałowy powinien przejść do D11 na jednym Arduino. Prześlij thundercloud_ir_receiver.ino szkic do tego Arduino (cały kod tutaj), a następnie odłącz USB, ponieważ już go nie potrzebujemy.

Na drugim Arduino podłącz Dane w pin sygnałowy od początku paska LED do D6. GND z twoich diod LED powinno być wspólne dla wszystkich Arduinos, ale w tym momencie 5V będzie pochodzić bezpośrednio z zasilacza.

Również w tym Arduino podłącz moduł mikrofonu do A0. Prześlij drugi thundercloud.ino naszkicuj i trzymaj USB podłączony do gniazdka podczas debugowania. Zacznij od zmiany NUM_LEDS odpowiednio zmienna.

Krok 8: Przyklej farsz

Jak zbudować lampę chmurową z lampą chmurową Sound Reactive Lightning 7 przyklejającą się do farszu

Na koniec przyklej farsz. Nie ma tu żadnej szczególnej techniki - wystarczy spryskać chmurę warstwą kleju i chwycić garść farszu. Jednak łatwiej jest pracować z farszem, jeśli już go wypróbowałeś, aby zwiększyć powierzchnię.

Jeśli używałeś tego samego pilota co ja, przycisk STROBE przełącza go w tryb reaktywnej chmury; FLASH jest trybem trippy kolorów, a FADE to wolno nastrojowa lampa kolorów.

Krok 9: Objaśnienie kodu

Jak zbudować lampę chmurową z demo Sound Reactive Lightning

Dlaczego dwa Arduinos? Zarówno programowanie odbiornika podczerwieni, jak i biblioteka sterowników pikseli WS2818B są bardzo wrażliwe na taktowanie - jeśli taktowanie jest opóźnione, sygnał IR jest uszkodzony. Dając każdemu obwodowi własny mikrokontroler i pozwalając mu rozmawiać przez protokół I2C, możemy zapewnić, że czas jest idealny na każdym z nich. Możesz również znaleźć osobne moduły IR z wbudowanym własnym mikrokontrolerem, ale moje badania wykazały, że kosztują one więcej niż zwykły klon Arduino i dioda LED IR. Thundercloud_ir_receiever nie powinien wymagać wyjaśnień, choć możesz najpierw przeczytać o podstawach I2C.

Na głównym kontrolerze chmur burzowych definiujemy różne tryby pracy, takie jak WŁĄCZENIE (efekty błyskawicy nie są dźwiękiem aktywne), CHMURY (błyskawica jest aktywowana tylko dźwiękiem), ACID (chmura pokazuje trippy kolory) lub zwykły pojedynczy kolor tryby. Aby zdefiniować nowy tryb, dodaj do wyliczanie najpierw otwórz konsolę i znajdź przycisk zdalnego sterowania, na który ma być mapowany - każde zdalne naciśnięcie powinno wydrukować linię debugowania. w receiveEvent () Metoda mapujemy te naciśnięcia klawiszy na tryb, więc dodaj tam dodatkową instrukcję switch. Wreszcie w zasadzie pętla() Metoda kierujemy wybrane tryby do różnych funkcji wyświetlania.

Kod wygładzania mikrofonu jest pierwotnie z Adafruit - Uprościłem to dla naszych potrzeb i dodałem spust, gdy słychać głośniejszy niż przeciętnie hałas.

Krok 10: Tryby błyskawicy

Jak zbudować lampę chmurową za pomocą demonstracyjnej lampy chmurowej Sound Reactive Lightning

Wyświetlacze błyskawicy łączą trzy różne „rodzaje” błyskawicy, aby osiągnąć coś wystarczająco realistycznego lub co najmniej przyjemnego dla oka. Pierwszy typ to pęknięcie(), gdzie każda dioda LED zostaje na krótko włączona na czas od 10 do 100 ms. Drugi typ to walcowanie() - gdzie każda dioda LED ma 10% szansy na aktywację, a cała pętla jest powtarzana 2-10 razy, z opóźnieniem 5-100 ms między każdym cyklem. Trzeci typ to thunderburst (), który wybiera dwie różne sekcje paska, każda między 10-20 diodami LED, miga te sekcje krótko 3-6 razy. Dokładnie sprawdź te metody, aby zobaczyć, w jaki sposób aktywowane są poszczególne diody LED - koło kolorów HSV jest używane przez cały czas (więc biały to H = 0, S = 0, V = 255). Zachęcam do poprawiania lub pisania nowych wyświetlaczy błyskawic, a następnie udostępniania ich w komentarzach, jeśli stworzysz taki, który Ci się spodoba.

Za każdym razem, gdy wyzwolona zostanie błyskawica lub uruchomiona zostanie pętla, chmura losowo wybiera jeden z trzech rodzajów błyskawicy. Wreszcie: Resetowanie() metoda wyłącza wszystkie światła, w przeciwnym razie „zapamiętają” swój poprzedni stan.

Pytania lub problemy - prosimy o kontakt w komentarzach, a ja postaram się pomóc. Jeśli masz konto Github, możesz dodawać błędy lub problemy na stronie narzędzie do śledzenia problemów zamiast. Jeśli dokonałeś modyfikacji lub napisałeś nowe funkcje oświetlenia, udostępnij link do swojego kodu na Sens lub Pastebin.

James ma licencjat z zakresu sztucznej inteligencji i jest certyfikowany przez CompTIA A + i Network +. Jest głównym programistą MakeUseOf i spędza wolny czas grając w paintball VR i gry planszowe. Buduje komputery od dziecka.