Spisu treści:

Programowalny sekwencer LED RGB (przy użyciu Arduino i Adafruit Trellis): 7 kroków (ze zdjęciami)
Programowalny sekwencer LED RGB (przy użyciu Arduino i Adafruit Trellis): 7 kroków (ze zdjęciami)

Wideo: Programowalny sekwencer LED RGB (przy użyciu Arduino i Adafruit Trellis): 7 kroków (ze zdjęciami)

Wideo: Programowalny sekwencer LED RGB (przy użyciu Arduino i Adafruit Trellis): 7 kroków (ze zdjęciami)
Wideo: TX81Z Arduino MIDI-контроллер/редактор 2024, Lipiec
Anonim
Image
Image
Podłączanie płytki sterownika
Podłączanie płytki sterownika

Moi synowie chcieli, aby kolorowe paski LED oświetlały ich biurka, a ja nie chciałem używać kontrolera pasków RGB w puszkach, ponieważ wiedziałem, że znudzą ich stałe wzory, które mają te kontrolery. Pomyślałem też, że to świetna okazja, aby stworzyć dla nich narzędzie do nauczania, które mogliby wykorzystać do wyostrzenia umiejętności programowania i elektroniki, których ich uczę. To jest wynik.

Pokażę ci, jak zbudować ten prosty, programowalny kontroler taśmy LED RGB za pomocą Arduino Uno (lub Nano), kratki Adafruit Trellis i kilku innych części.

Adafruit Trellis to jedna z moich ulubionych nowych zabawek od Lady Ady i załogi. Po pierwsze, jest to zaledwie 9,95 USD za płytkę i kolejne 4,95 USD za podkładkę z elastomeru silikonowego (ceny w chwili pisania tego tekstu). To świetna okazja jak na 16-przyciskową matrycę 4x4 z diodami LED. Nie jest wyposażony w żadne zamontowane diody LED, musisz je dostarczyć, ale daje to elastyczność w wyborze żądanych kolorów (i obniża koszty i złożoność w porównaniu z budowaniem adresowalnych diod LED). Aby zbudować taki projekt jak mój, będziesz potrzebować garści 3mm diod LED. Użyłem 2 czerwonych, 2 zielonych, 2 niebieskich, 4 żółtych i 6 białych.

Trellis wykorzystuje do komunikacji I2C, więc do sterowania 16 przyciskami i 16 diodami LED potrzebne są tylko dwa piny I/O (dane i zegar).

Możesz zrobić część sprzętową tego projektu na małej płytce prototypowej, tak zrobiłem swój prototyp. Szybko zdałem sobie sprawę, że potrzebuję czegoś ładniejszego i więcej zawartego na ich biurkach (nagie Arduino i płytka proto waląca wokoło byłaby zbyt delikatna), więc stworzyłem własną tarczę do napędzania taśm LED. Instrukcje i pliki do budowy tarczy znajdują się w ostatnim kroku.

Sterownik wykorzystuje trzy tranzystory MOSFET IRLB8721 i trzy rezystory. I oczywiście do jazdy potrzebna jest taśma LED; prawie każda zwykła taśma LED RGB 12 V będzie wystarczająca. Są to proste diody LED, takie jak SMD 5050, a nie fantazyjne, indywidualnie adresowane (bez NeoPixels itp.) – to kolejny projekt! Potrzebny jest również zasilacz 12 V wystarczająco duży, aby obsłużyć liczbę diod LED, których zamierzasz użyć.

Podsumowując, oto podstawowe potrzeby sprzętowe dla tego projektu:

  • Jeden Arduino Uno lub Nano (te instrukcje dotyczą Uno z zainstalowanymi żeńskimi nagłówkami, ale Nano na płytce stykowej działa dobrze) (Adafruit, Amazon, Mouser);
  • Jedna tablica Adafruit Trellis i silikonowa podkładka na guziki (Adafruit);
  • Trzy tranzystory MOSFET z kanałem N IRLB8721 (Adafruit, Amazon, Mouser);
  • Trzy rezystory 1K (Amazon, Mouser);
  • Trzy rezystory 220 omów (Amazon, Mouser)
  • Jedna mała płytka proto (moja pierwsza miała rozmiar 1/4 - wybierz dowolny rozmiar, z którym możesz wygodnie pracować) (Adafruit, Amazon);
  • Taśma LED RGB 12V (SMD 5050) (Adafruit, Amazon);
  • Zasilanie 12V - wybierz moc odpowiednią do ilości diod, którą zamierzasz zasilać.

Wymagane zastrzeżenie: powyższe linki są podane dla Twojej wygody i nie stanowią aprobaty żadnego produktu lub dostawcy; ani nie zarabiam na zakupach dokonanych pod tymi linkami. Jeśli masz dostawców, których lubisz bardziej, wspieraj ich!

Zacznijmy…

Krok 1: Podłącz przewodem tablicę sterowniczą

Podłączanie płytki sterownika
Podłączanie płytki sterownika

Oto obwód sterownika LED. To jest bardzo proste. Wykorzystuje N-kanałowy MOSFET IRBLxxx dla każdego kanału na pasku LED. Taśma LED jest wspólną anodą, co oznacza, że +12V jest przesyłane do taśmy LED, a kanały czerwonej, zielonej i niebieskiej diody LED są kontrolowane poprzez zapewnienie uziemienia na odpowiednim połączeniu z paskiem. Tak więc podłączymy dren tranzystorów MOSFET do kanałów kolorów LED, a źródło do uziemienia. Bramki zostaną podłączone do wyjść cyfrowych Arduino, a rezystory zapewniają pull-down, który zapewnia pełne włączanie lub wyłączanie każdego MOSFET w razie potrzeby.

Arduino oferuje modulację szerokości impulsu na niektórych swoich wyjściach cyfrowych, więc użyjemy tych wyjść (w szczególności D9, D10, D11), aby można było kontrolować intensywność każdego kanału koloru.

Jeśli nie masz pewności, co podłączyć, gdzie na tranzystorach MOSFET IRLB8721, trzymaj jeden w dłoni z przodem do siebie, jak pokazano na powyższym zdjęciu. Pin po lewej stronie (pin 1) to bramka i będzie łączył się z cyfrowym pinem wyjściowym Arduino i rezystorem (drugi koniec rezystora powinien być podłączony do masy). Pin w środku (pin 2) to odpływ i łączy się z kolorowym kanałem taśmy LED. Pin po prawej (pin 3) jest źródłem i jest podłączony do masy. Upewnij się, że śledzisz, który tranzystor łączy się z którym kanałem koloru LED.

Nie będę wchodził w szczegóły jak lutować płytki proto. Szczerze mówiąc, nienawidzę tego i nie jestem w tym dobry. Ale na dobre lub na złe, to działa i jest to szybki i brudny sposób na wykonanie solidnego prototypu lub jednorazowe wykonanie. Tutaj pokazana jest moja pierwsza plansza.

Możesz również to zrobić. Byłoby to z pewnością szybsze niż lutowanie wszystkiego na protopłytce, ale mniej trwałe.

Po podłączeniu sterownika podłącz wejścia bramki MOSFET do cyfrowych pinów wyjściowych Arduino: D9 dla zielonego kanału, D10 dla czerwonego kanału i D11 dla niebieskiego kanału. Podłącz również pasek LED do swojej płyty proto.

Upewnij się również, że płyta sterownicza ma oddzielne połączenie z uziemieniem do jednego z pinów uziemienia Arduino.

Na koniec, w przypadku zasilania LED, podłącz ujemny (masowy) przewód zasilania 12 V do masy na płycie sterownika. Następnie podłącz dodatni przewód zasilania 12V do przewodu anodowego Twojej taśmy LED (jest to czarny przewód na moich kablach pokazany na zdjęciu).

Ostatecznie zaprojektowałem osłonę płyty PC, która montuje się na Uno, a także ma wspornik montażowy dla Trellis. Dało to znacznie bardziej gotowy produkt końcowy. Jeśli chcesz to zrobić, możesz pominąć użycie tablicy proto, jak opisano tutaj i po prostu wykonać tablicę tarczy. To wszystko zostało opisane w ostatnim kroku.

Krok 2: Umieść diody LED na kratownicy

Umieść diody LED na kratce
Umieść diody LED na kratce

Płyta Trellis ma puste podkładki na 3mm diody LED, które musimy wypełnić. Zwróć uwagę na symbole przy padach - obok padu znajduje się bardzo subtelny znak „+”, który oznacza stronę anody. Jeśli trzymasz tablicę tak, aby tekst był prawą stroną do góry, na górze i na dole tablicy znajduje się również notacja informująca, że anody LED znajdują się po lewej stronie.

Przylutuj swoje 3mm diody LED do płyty. Patrząc na przód tablicy, tekst prawą stroną do góry, lewy górny przełącznik/pozycja LED to #1, prawy górny to #4, dolny lewy to #13, a dolny prawy to #16. Oto kolory, których użyłem w każdej pozycji (i nie bez powodu, więc radzę postępować zgodnie z moim wzorem przynajmniej dla dwóch górnych rzędów):

1 - czerwony2 - zielony3 - niebieski4 - biały5 - czerwony6 - zielony7 - niebieski8 - biały9 - biały10 - biały11 - żółty12 - żółty13 - biały14 - biały15 - żółty16 - żółty

CC Uznanie autorstwa: Powyższy obraz Trellis jest autorstwa Adafruit i jest używany na licencji Creative Commons – Uznanie autorstwa/Na tych samych warunkach.

Krok 3: Podłącz Trellis do Arduino

Podłącz Trellis do Arduino
Podłącz Trellis do Arduino

Trellis ma pięć padów okablowania, ale tylko cztery są używane w tym projekcie. Trellis potrzebuje SDA i SCL do komunikacji z Arduino (przy użyciu I2C) oraz 5 V i GND do zasilania. Ostatni pad, INT, nie jest używany. Podkładki Trellis pojawiają się na wszystkich czterech krawędziach planszy. Możesz użyć dowolnego zestawu padów.

Przylutuj solidny interkonekt do padów 5V, GND, SDA i SCL. Następnie podłącz przewód 5 V do styku 5 V na Arduino, GND do styku uziemienia, przewód SDA do A4, a przewód SCL do A5.

Następnie włączymy Arduino i wgramy do niego szkic. Teraz jest dobry moment, aby umieścić silikonową podkładkę pod guziki na płycie Trellis. Po prostu leży na desce (zwróć uwagę na „wypustki” na spodzie podkładki, które pasują do otworów w tablicy), więc możesz użyć kilku kawałków taśmy, aby przymocować krawędzie podkładki do płyty teraz.

Uznanie autorstwa CC: powyższy obraz okablowania Trellis jest przyciętą wersją tego obrazu autorstwa Adafruit i jest używany na licencji Creative Commons - uznanie autorstwa/na tych samych warunkach.

Krok 4: Pobierz szkic projektu i prześlij go do Arduino

Możesz pobrać szkic z mojego repozytorium Github dla tego projektu.

Gdy już go masz, otwórz go w Arduino IDE, podłącz Arduino za pomocą kabla USB i prześlij szkic do Arduino.

Jeśli szkic jest załadowany, a kratka jest prawidłowo podłączona, po naciśnięciu dowolny z przycisków kratki powinien szybko mignąć trzy razy. Wskazuje to, że nacisnąłeś nieprawidłowy przycisk, ponieważ system przechodzi w stan „wyłączony”, więc jedynym prawidłowym naciśnięciem klawisza jest to, które jest wymagane do jego włączenia.

Aby włączyć system, naciśnij i przytrzymaj lewy dolny przycisk (#13) przez co najmniej jedną sekundę. Po zwolnieniu przycisku wszystkie diody powinny się na chwilę zapalić, a następnie zgasną dwa dolne rzędy, z wyjątkiem #13 (dolny lewy). System jest teraz włączony i bezczynny.

Możesz spróbować użyć dwóch górnych rzędów, aby rozjaśnić i przyciemnić kanały LED jako pierwszy test. Jeśli to działa, możesz przejść do następnego kroku. Jeśli nie, sprawdź:

  1. Zasilanie LED jest podłączone i włączone;
  2. MOSFET płyty sterownika są prawidłowo okablowane. Jeśli używasz tych samych IRLB8721, których użyłem, sprawdź:

    • Wejścia sygnałowe płytki sterownika (bramki MOSFET, IRLB8721 pin 1) są podłączone do Arduino D9=zielony, D10=czerwony, D11=niebieski (patrz uwaga poniżej);
    • Taśma LED jest podłączona do płytki sterownika, a kanały kolorów LED są podłączone do wpustów MOSFET (IRLB8721 pin 2);
    • Piny źródła MOSFET (IRLB8721 pin 3) są podłączone do masy na płycie sterownika;
  3. Połączenie uziemienia między płytą sterownika a pinem uziemienia Arduino.

W następnym kroku pobawimy się niektórymi funkcjami interfejsu użytkownika panelu przycisków.

UWAGA: Jeśli kontroler działa, ale przyciski intensywności nie kontrolują właściwych kolorów, nie martw się i nie zmieniaj połączeń! Po prostu przejdź do szkicu w Arduino IDE i zmodyfikuj definicje pinów CZERWONY, ZIELONY i NIEBIESKI w górnej części pliku.

Krok 5: Podstawowe funkcje sterowania

Podstawowe funkcje sterowania
Podstawowe funkcje sterowania

Teraz, gdy system jest włączony, możemy pobawić się niektórymi przyciskami i sprawić, by działał.

Jak powiedziałem w poprzednim kroku, po włączeniu system przechodzi w stan „bezczynności”. W tym stanie można użyć przycisków w dwóch górnych rzędach, aby zwiększyć lub zmniejszyć intensywność koloru każdego z kanałów czerwonej, zielonej i niebieskiej diody LED. Jeśli użyjesz białych przycisków zwiększania/zmniejszania, system zwiększa lub zmniejsza intensywność wszystkich trzech kanałów równo i na równych poziomach.

Dwa dolne rzędy służą do odtwarzania gotowych wzorów. Te wzorce są przechowywane w pamięci EEPROM Arduino. Gdy szkic jest uruchamiany po raz pierwszy, widzi, że EEPROM nie ma zapisanych żadnych wzorów i przechowuje zestaw wzorów domyślnych. Następnie możesz zmienić te wzorce, a zmiany są przechowywane w pamięci EEPROM Arduino, zastępując zaprogramowany wzorzec. Gwarantuje to, że twoje wzorce przetrwają rozłączenia zasilania. Funkcja edycji została opisana w następnym kroku.

Na razie krótko naciśnij dowolny z przycisków ustawień wstępnych (osiem przycisków w dwóch dolnych rzędach), aby uruchomić wzór zapisany dla tego przycisku. Podczas wykonywania wzoru przycisk miga. Aby zatrzymać wzór, ponownie krótko naciśnij przycisk wzoru. Podczas wykonywania wzoru białe przyciski góra/dół w górnych rzędach mogą służyć do zmiany częstotliwości wzoru.

Jeśli zostawisz projekt sam na kilka sekund bez dotykania żadnych przycisków, zauważysz, że diody LED przygasają. Ma to na celu zarówno oszczędzanie energii, jak i uniknięcie nadmiernego oświetlenia Trellis w jakimkolwiek „nastroju”, który próbują stworzyć diody LED. Dotknięcie przycisku na Trellis obudzi go z powrotem.

Aby wyłączyć system, naciśnij i przytrzymaj lewy dolny przycisk (#13) przez jedną lub więcej sekund i zwolnij. Krata i pasek LED zgasną.

Krok 6: Edycja wzorów na klawiaturze

Edycja wzorów na klawiaturze
Edycja wzorów na klawiaturze

Jak powiedziałem w poprzednim kroku, szkic przechowuje osiem domyślnych wzorów w pamięci EEPROM przy pierwszym uruchomieniu. Możesz zmienić 7 z tych wzorów na inny, jeśli chcesz, korzystając z trybu edycji wzoru na klawiaturze.

Aby przejść do trybu edycji wzoru, najpierw zdecyduj, dla którego przycisku chcesz edytować wzór. Możesz wybrać dowolny przycisk inny niż lewy dolny przycisk. Przejdź do trybu edycji wzoru, naciskając (przytrzymaj dłużej niż jedną sekundę) wybrany przycisk wzoru. Po zwolnieniu przycisk zaświeci się na stałe, a dwa górne rzędy zaczną migać. Oznacza to, że jesteś w trybie edycji.

Tryb edycji rozpoczyna się od pierwszego kroku wzoru i trwa do momentu wyjścia z edycji lub zakończenia edycji kroku 16 (maksymalnie 16 kroków na wzór). Na każdym kroku użyj przycisków intensywności kanału w dwóch górnych rzędach, aby wybrać żądany kolor dla tego kroku. Następnie naciśnij krótko przycisk ustawienia wzoru, aby zapisać ten kolor i przejść do następnego kroku. Na ostatnim kroku, zamiast krótkiego naciśnięcia, po prostu naciśnij długo, aby wyjść z edycji.

Po wyjściu z edycji wzoru, wzór zostanie automatycznie odtworzony.

Otóż to! Masz teraz kontroler RGB LED, który będzie sekwencjonować wzory, które możesz zaprogramować za pomocą klawiatury. Możesz się tutaj zatrzymać lub jeśli chcesz zbudować bardziej formalną wersję tego projektu, przejdź przez pozostałe kroki.

Krok 7: Lepszy sprzęt: osłona i obudowa sterownika LED RGB

Image
Image
Lepszy sprzęt: osłona i obudowa sterownika LED RGB
Lepszy sprzęt: osłona i obudowa sterownika LED RGB
Lepszy sprzęt: osłona i obudowa sterownika LED RGB
Lepszy sprzęt: osłona i obudowa sterownika LED RGB

Kiedy już miałem działający prototyp, wiedziałem, że nie mogę zostawić na biurkach moich dzieci pustej tablicy Arduino i prototypu jako trwałego rozwiązania. Potrzebowałem obudowy do projektu. Zdecydowałem też, że zrobię lepszą deskę kierowcy i pomyślałem, że to idealna okazja do zrobienia własnej tarczy.

Oczyściłem swój papierowy schemat, wprowadzając go do ExpressSCH, bezpłatnego narzędzia oferowanego przez ExpressPCB, producenta płytek, który oferuje niedrogie, krótkie serie małych płytek PC. Używam ExpressPCB od ponad dekady w projektach, ale zawsze używaj dowolnych narzędzi i producenta.

Do podstawowego schematu dodałem kilka drobnych funkcji, aby dobrze sprawdził się jako osłona dla tego projektu. Dodałem podkładki do podłączenia kratki, gniazdo zasilania, lampkę kontrolną i złącze do paska LED. Dodałem też miejsce na kondensator w poprzek zasilacza. Tutaj pokazano końcowy obwód.

Uznałem, że zasilanie projektu powinno pochodzić z tarczy. Doprowadzone do ekranu napięcie 12V zasila zarówno pasek LED, jak i Arduino. Zasilanie Arduino jest zapewnione poprzez podłączenie wejścia zasilania do pinu VIN Arduino, który jest dwukierunkowy (możesz zasilać Arduino na tym pinie lub jeśli podłączysz zasilanie do Arduino gdzie indziej, otrzymasz dostarczone zasilania na tym bolcu). Dioda ochronna D1 zapobiega próbie zasilania diod LED przez zasilanie podłączone bezpośrednio do Arduino (np. USB).

Dlaczego nie skorzystać z gniazda zasilania Arduino i po prostu podłączyć tam 12V? Chociaż mogłem dostarczyć 12 V do gniazda zasilania Arduino i użyć pinu VIN, aby pobrać tę moc dla tarczy, martwiłem się, że dioda D1 Arduino i ślady nie będą osiągać wysokich prądów możliwych do napędzania diody LED paski. Zdecydowałem więc, że moja tarcza przejmie pobór mocy i zamiast tego dostarczy zasilanie do Arduino. Potrzebowałem również 5 V dla Trellis, ale wbudowana regulacja mocy Arduino dostarcza 5 V na kilku pinach, więc użyłem jednego z nich do Krata. To uratowało mnie przed umieszczeniem obwodu regulatora na osłonie.

Następnie rozłożyłem płytkę drukowaną. Użyłem niektórych zasobów, które znalazłem, aby uzyskać dokładne pomiary umieszczenia pinów w celu dopasowania do nagłówków Arduino Uno. Trochę staranności i udało się za pierwszym razem. Sam obwód ekranujący nie ma zbyt wiele, więc miałem dużo miejsca. Rozłożyłem szerokie ślady dla obciążeń LED, aby zapewnić odpowiednią obciążalność prądową dla moich potrzeb. MOSFETy ustawiłem tam, gdzie można je było zamontować płasko, z radiatorami lub bez. Do tej pory nie potrzebowałem radiatorów do liczby używanych diod LED, ale w razie potrzeby jest miejsce.

Dodałem również otwory, które pasowały do otworów montażowych w Trellis, abym mógł użyć dystansów do zamontowania Trellis do mojej tarczy. Po podłączeniu ekranu do Arduino i zawieszeniu Trellis na dystansach nad ekranem wszystko powinno być ładne i solidne.

Następnie wydrukowałem układ płyty i przykleiłem go do kawałka rdzenia piankowego i wstawiłem moje części, aby upewnić się, że wszystko pasuje. Wszystko dobrze, więc wysłałem zamówienie.

Następnie zacząłem pracować nad wybiegiem. Korzystając z Fusion 360, zaprojektowałem prostą obudowę, która zawiera trzy płytki (Arduino Uno, osłonę i Trellis). Otwory w obudowie umożliwiają podłączenie do portu USB Arduino oraz oczywiście dostęp do podłączenia paska LED i osłony gniazda zasilania. Gniazdo zasilania Arduino jest zakryte obudową, aby upewnić się, że nie jest używane. Po kilku prototypach do przetestowania, w końcu otrzymałem projekt, z którego byłem zadowolony. Wysłałem pliki STL do obudowy do Thingiverse.

W przyszłości zrobię wersję płyty, do której można bezpośrednio podłączyć Nano, dzięki czemu projekt będzie jeszcze bardziej zwarty. Do tego czasu możesz również użyć takiego adaptera osłony Nano do Uno.

Jeśli masz zamiar wykonać osłonę, oprócz części wymienionych w kroku 1 będziesz potrzebować:

  • Płytka PC RGB LED Driver Shield (z ExpressPCB lub innych; pliki do projektu można pobrać z mojego repozytorium Github);
  • dioda 1N4002;
  • Promieniowy kondensator elektrolityczny 100 uF 25 V (użyj 220 uF lub 470 uF, jeśli duże obciążenie LED);
  • Gniazdo zasilania, PJ202-AH (model o obciążalności 5A).

Następujące części są opcjonalne:

  • 3mm LED - dowolny kolor, do lampki kontrolnej (może być pominięty)
  • Rezystor 1500 omów - potrzebny tylko w przypadku używania lampki kontrolnej LED

Zalecana: