Spisu treści:

Diody LED Bluetooth sterowane smartfonem (z synchronizacją muzyki na żywo): 7 kroków
Diody LED Bluetooth sterowane smartfonem (z synchronizacją muzyki na żywo): 7 kroków

Wideo: Diody LED Bluetooth sterowane smartfonem (z synchronizacją muzyki na żywo): 7 kroków

Wideo: Diody LED Bluetooth sterowane smartfonem (z synchronizacją muzyki na żywo): 7 kroków
Wideo: #policja ❤️ #kia #randka 2024, Listopad
Anonim
Image
Image
Pozyskiwanie materiałów
Pozyskiwanie materiałów

Zawsze kochałem budowanie rzeczy, po tym, jak odkryłem, że mój nowy akademik ma okropne oświetlenie, postanowiłem go trochę urozmaicić.

***OSTRZEŻENIE*** Jeśli zbudujesz ten projekt na taką samą skalę jak moja konfiguracja, będziesz pracował z przyzwoitą ilością energii elektrycznej. BĄDŹ BEZPIECZNY, kieruj się zdrowym rozsądkiem, a jeśli nie jesteś pewien, ZAPYTAJ! Nie ryzykuj spalenia swojego domu.

Krok 1: Pozyskiwanie materiałów

Pozyskiwanie materiałów
Pozyskiwanie materiałów
Pozyskiwanie materiałów
Pozyskiwanie materiałów

Do tego projektu będziesz potrzebować:

  1. Adresowalne paski LED WS2812B. 5V jest zdecydowanie najpopularniejszym typem i bardzo preferowanym w tym projekcie. Ten projekt jest przeznaczony dla diod LED RGB, a nie RGBW. Gorąco polecam NeoPixels firmy Adafruit. (~25 USD za 60 diod LED)
  2. CurieNano (wciąż sprzedawany), Arduino 101 (wycofany, ale ten, którego używam) lub inny mikrokontroler, który może uzyskać dostęp do BLE. (~35 USD)
  3. Smartfon (działa zarówno Apple, jak i Android)
  4. Zasilacz. Większość adresowalnych diod LED na rynku to 5V. Wymagane natężenie prądu zależy od rozmiaru Twojej konfiguracji*. (~10-50 USD w zależności od konfiguracji)
  5. Okablowanie** (możesz również potrzebować odpowiednich 3-pinowych lub 2-pinowych złącz JST i pinów Arduino) (~20-30 USD)
  6. Złącza baryłkowe 2.1x5.5mm, znajdziesz je tutaj. (~5 USD)
  7. Mały śrubokręt krzyżakowy
  8. Lutownica i lut (~ 20 USD)
  9. Dwustronna taśma montażowa (szerokość 1/4 cala). Używam tego. (~10 USD)
  1. (Zalecane) Mikrofon do synchronizacji muzyki. (Aby mieć działającą synchronizację muzyki, musisz ją mieć) Możesz znaleźć jeden z Adafruit tutaj. (~7 USD)
  2. (Opcjonalnie) Obudowa Arduino, taka jak ta. (~10 USD)
  3. (Opcjonalnie) kondensator o pojemności co najmniej 10 μF (chroni to przed skokami napięcia podczas pierwszego włączania zasilacza. Zwróć uwagę, że niektóre większe, bardziej wyszukane zasilacze mogą już mieć wbudowaną ochronę.) (~ 5 USD)

Gorąco polecam trzymać się powiązanych materiałów na tej liście, ponieważ używałem ich przez większość dnia, każdego dnia, przez miesiące bez awarii – zwłaszcza diody LED. W przeciwnym razie możesz napotkać nieoczekiwane problemy lub stwierdzić, że brakuje Ci określonych materiałów lub narzędzi.

* W przypadku bardzo małych pasków (~30 pikseli lub mniej) lub Arduino ma wystarczającą moc, aby je uruchomić i nie potrzebujesz zasilacza. (NIE JEST TO ZALECANE W TYM PRZEWODNIKU. Istnieje wiele instrukcji dotyczących tworzenia małych, adresowalnych konfiguracji LED, które będą bardziej dostosowane do Twojej sytuacji.)

Jednak większość z was prawdopodobnie będzie potrzebować zasilacza. Obliczenie to (natężenie) = 0,075*(liczba pikseli). Dzieje się tak z wbudowanym marginesem bezpieczeństwa (przy pełnym poborze mocy twój zasilacz będzie działał z ~75% wydajności. Dzięki temu twój zasilacz będzie działał chłodno, a tym samym konsekwentnie przez długi czas). Idąc znacznie poniżej tej wartości, grozi przegrzaniem, a nawet pożarem. Niektóre zasilacze wymagają również podłączenia własnej wtyczki ściennej AC. W przypadku wyświetlaczy, które używają wielu pełnych bębnów led, bardzo polecam wstrzyknięcie zasilania. Zostanie to omówione w następnej sekcji.

** Odpowiednio zwymiaruj swój drut! BEZPIECZEŃSTWO PRZEDE WSZYSTKIM wydanie dodatkowych kilku dolarów może uratować Twój dom.

(Jeśli jesteś ciekawy, używam dwóch zasilaczy 5 V, każdy z dwoma wyjściami 30 A i przewodem głośnikowym o średnicy 12, co pozwala mi wstrzyknąć wystarczającą moc w czterech punktach wzdłuż mojej taśmy LED. Używam ~21 metrów z gęstością 60 diod LED /metr.)

Krok 2: Moc

Moc
Moc
Moc
Moc
Moc
Moc
Moc
Moc

"ładowanie="leniwe"

Image
Image
Tryby i strojenie
Tryby i strojenie
Tryby i strojenie
Tryby i strojenie
Tryby i strojenie
Tryby i strojenie

Istnieją dwa tryby, które wymagają podania liczby pikseli w punktach początkowych: tryb 2 (Color Wipe) i tryb 12 (Music Sync). Jeśli masz wiele diod LED, jest to ogromny ból liczenia do którego dokładnie piksela chcesz na początek, więc zbudowałem narzędzie. W ostatniej pozycji menu trybu w aplikacji BLYNK znajdziesz tryb o nazwie „Pixel Finder”. Aby z tego skorzystać, prawdopodobnie będziesz musiał zmodyfikować ustawienia widżetu.

  • Najpierw upewnij się, że jesteś w trybie edycji
  • Wybierz suwak
  • Zmień wartości jasności, aby wyszukiwana liczba pikseli mieściła się w wprowadzonym zakresie jasności.

Podczas korzystania z tego trybu Pixel Finder liczba pikseli wartości jasności świeci na zielono. W ten sposób możesz szybko przewinąć do żądanej lokalizacji i odczytać liczbę pikseli z telefonu

Widać to na zdjęciach [5 i 6] oraz [7 i 8]. (Możesz zauważyć, że na tym zrzucie ekranu używam suwaków kolorów zamiast zeRGBra). Zwróć też uwagę, że indeks pierwszego piksela to 0, a nie 1.

Powinno to pomóc w ustawieniu wzorców tam, gdzie chcesz.

Jeszcze jedną rzeczą, o której powinienem wspomnieć, jest to, że „Jasność” w trybach Comet (tryb 10) i Music Sync (tryb 12) dostosowuje długość „ogonów”. W ten sposób kod powinien działać, ponieważ „Jasność” nie ma naprawdę sensu w tych trybach.

Krok 7: Hurra! Jesteś skończony! (Przeczytaj dalej, aby uzyskać dodatkowe informacje o kodzie)

Aby korzystać z diod LED:

  • Bądź w zasięgu swojego Arduino
  • Stuknij ikonę BLE
  • Znajdź swoje urządzenie (odpowiedz na deviceName) i wybierz je

Teraz będziesz mógł korzystać z pilota.

Idź i ciesz się ciężką pracą!

*****************************Zaawansowane (o kodeksie)*************** *****************

Starałem się, aby kod był dobrze skomentowany, prawdopodobnie nie jest w żaden sposób zoptymalizowany, ale wiem, że uruchamia moje 1200+ świateł wystarczająco szybko. Spis treści zawiera kod oddzielony według numeru wiersza.

Części kodu zawierające tryby i interfejs użytkownika są dość oddzielone, technicznie można by zrezygnować z bluetooth i użyć przewodowej centrali lub prostego timera, który przełącza wszystkie tryby. Naprawdę wystarczy wypełnić tablicę cmdArr, aby uzyskać instrukcje.

  • Index 0 przechowuje informacje o włączaniu/wyłączaniu paska,
  • Indeks 1 przechowuje numer trybu z menu
  • Indeksy 2, 3 i 4 przechowują odpowiednio wartości R, G i B z próbnika kolorów.
  • Indeks 5 przechowuje procent jasności
  • Inne indeksy są obecnie niewykorzystane

Wiele osób zauważyło, że w kodzie jest wiele wierszy, które brzmią „SetPixelColorAdj(…”, mimo że funkcja to po prostu „setPixelColor(…”). Dzieje się tak, ponieważ jest to trochę pozostałości kodu używanego do mapowania części paska LED. Na przykład, jeśli użyjesz jednego paska do wykonania dwóch pętli, trudno byłoby zająć się wzorami z przerwą, dopóki pętla nie połączy się z powrotem. Dzięki temu możesz sztucznie połączyć wewnętrzną cechę paska LED do końca a także połącz główną pętlę z powrotem, aby w kodzie praca była intuicyjna.

Wyjaśnię również, jak działają niektóre z bardziej skomplikowanych trybów. Niektóre z nich (Rainbow, Color Wipe i Fade [1, 2, 3]) są już w bibliotece NeoPixel jako przykładowy kod.

  • Lava, Canopy, Ocean [4, 5, 6] - Te tryby wykorzystują wspomniane wcześniej punkty przewodnie, każdy punkt przewodni otrzymuje losowy kolor w ramach przypisanej mu krainy. Lawa jest głównie czerwona, Canopy jest głównie zielona, a Ocean jest głównie niebieski. Wzorzec zanikania [3] już zapewnia świetny algorytm zanikania liniowego. Jest to ponownie wykorzystywane do zanikania koloru jednego punktu odniesienia do następnego przy użyciu pikseli pomiędzy nimi, tworząc płynną fluktuację. Trzy tablice zanikania przechowują kroki zanikania czasu punktów prowadzących (stanów początkowych, przejściowych i końcowych). Gdy punkty prowadzące z czasem zanikają, piksele w ich pobliżu również aktualizują swoje kolory. Po zakończeniu cyklu czasowego właśnie osiągnięty punkt końcowy staje się nowym punktem początkowym. W ten sposób wzór pozostaje gładki w czasie.
  • Color Wave [7] - Jest to podobne do poprzednich trybów, ale kolory dla punktów prowadzących są wybierane inaczej. Istnieje odchylenie przypisane do koloru podstawowego, który z czasem zanika wokół koła kolorów.
  • Świetliki[8] - Tablica 2D przechowuje lokalizację i kierunek dla 90 wybranych świetlików. Decyduje na każdym kroku, czy świetlik poruszy się w lewo, w prawo, czy wcale. Ich ogólna jasność podąża za cyklem zanikania i zanikania.
  • Confetti[9] - Nie możesz tutaj ponownie użyć części świetlika, chociaż wydają się one podobne - dzieje się tak, ponieważ wolisz ogólną stałą jasność, aby najlepiej zobaczyć zmianę koloru. Pomysł jednak nie różni się zbytnio. Udało mi się osiągnąć równomierne oświetlenie, przypisując 1/3 wszystkich iskier konfetti do 3 współokresowych funkcji sinusoidalnych oddzielonych przesunięciem o 1/3 okresu.
  • Kometa[10] - bardzo podobna do skanera Adafruita, różnica polega na tym, że kierunek jest teraz generowany losowo za każdym razem i nie zmienia się, występuje niewielka zmiana koloru, gdy piksel się porusza, tworząc bardziej "ognisty" efekt na ogon. Wywołanie ściemniania każdej aktualizacji jest tym, co tworzy zanikanie lub „ogon” wzoru.
  • Music Sync[12] - dwa parametry są obliczane na podstawie głośności (napięcie od A0): kolor i długość. Synchronizacja muzyki następnie zanika od koloru centralnego do obliczonego koloru, jednocześnie przechodząc do czerni na danej długości. Środkowy kolor płynnie zanika wokół koła kolorów, dzięki czemu uzyskujesz zarówno efektowne efekty, jak i gładkość, więc nie jest to nieprzyjemne.

Kredyty obrazkowe

cdn.shopify.com/s/files/1/0176/3274/produc…

store-cdn.arduino.cc/usa/catalog/product/c…

cdn.mos.cms.futurecdn.net/aSDvUGkMEbyuB9qo…

images-na.ssl-images-amazon.com/images/I/6…

www.amazon.com/Speaker-GearIT-Meters-Theat…

www.powerstream.com/z/adapter-2-1-to-śruba…

www.amazon.com/Hobbico-HCAR0776-Soldering-…

images-na.ssl-images-amazon.com/images/I/7…

cdn-shop.adafruit.com/970x728/1063-03.jpg

cdn-learn.adafruit.com/assets/assets/000/0…

www.adafruit.com/product/2561

www.adafruit.com/product/2964?length=1

cdn.sparkfun.com//assets/parts/4/6/8/4/102…

www.holidaycoro.com/v/vspfiles/assets/image…

www.circuitspecialists.eu/5-volt-enclosed-s…

d3vs3fai4o12t3.cloudfront.net/media/catalo…

Zalecana: