Spisu treści:

Wyświetlacz audiowizualny LED: 8 kroków
Wyświetlacz audiowizualny LED: 8 kroków

Wideo: Wyświetlacz audiowizualny LED: 8 kroków

Wideo: Wyświetlacz audiowizualny LED: 8 kroków
Wideo: 📡59 naprawiam starszej Pani telewizor, brak podświetlenia matrycy, LG 42LN5400, wymiana LED 2024, Lipiec
Anonim
Image
Image
Wyświetlacz audiowizualny LED
Wyświetlacz audiowizualny LED
Wyświetlacz audiowizualny LED
Wyświetlacz audiowizualny LED

By beckslelandsimpsonObserwuj Więcej autora:

Rozpocznij ogród od podstaw od skrawków
Rozpocznij ogród od podstaw od skrawków
Rozpocznij ogród od podstaw od skrawków
Rozpocznij ogród od podstaw od skrawków

[OSTRZEŻENIE: MIGAJĄCE ŚWIATŁA W WIDEO]

Matryce RGB LED to powszechny projekt dla hobbystów, którzy chcą poeksperymentować z wyświetlaczami świetlnymi, ale często są albo drogie, albo restrykcyjne pod względem wielkości i konfiguracji. Celem tego projektu było stworzenie rekonfigurowalnego wyświetlacza, który mógłby działać jako samodzielny element lub jako interaktywny wyświetlacz sterowany za pomocą konsoli przy użyciu zestawu joysticków i przycisków. Wyświetlacz może być rozmieszczony w różnych układach, od formacji matrycowej do bardziej statycznego dekoracyjnego paska liniowego.

Dołączając zestaw czujników audio, przycisków i joysticków, wyświetlacz można przełączać między trybami interaktywnymi i automatycznymi, z konfigurowalnymi kolorami, efektami, trybami, szybkościami, jasnością i wzorami.

Użytkownicy mogą przełączać się między trybami i konfiguracjami za pomocą przycisków MODE i CONFIG, używając joysticka i przycisku SELECT, aby dokonać wyboru. Aktualny wybór użytkownika jest wyświetlany na ekranie LCD 16x2 na środku konsoli.

Ten projekt obejmował taśmę LED składającą się z 250 diod LED, ale kod można łatwo zmienić, aby umożliwić taśmę o dowolnym rozmiarze.

Tryby

  • Gry: w gry można grać za pomocą matrycy led jako ekranu
  • Hałas: diody LED świecą się zgodnie z głośnością i częstotliwością hałasu otoczenia.
  • Kolor: diody LED używane jako światło wyświetlające predefiniowaną paletę kolorów.
  • Deszcz: Efekty świetlne padającego deszczu

Konfiguracje trybów

  • Kolor - Ustawia paletę kolorów listwy

    • Flaga dumy - tęcza
    • Flaga Trans - niebieska, różowa, biała
    • Ogień - czerwony, pomarańczowy, żółty
    • Jasny - Biały
  • Styl - Ustawia efekt wyświetlania paska
    • Blokuj - Jeżeli w trybie koloru kolory diod LED pozostają stałe, w trybie szumu powoduje to, że wszystkie diody LED ustawiają ostatnią wartość koloru szumu, tworząc efekt migania.
    • Migotanie – naprzemienne diody LED oscylują, gasnąc między włączeniem a wyłączeniem.
    • Ścieżka - w trybie koloru schemat kolorów diod LED przesuwa się po pasku. W trybie szumu powoduje, że kolory szumu przemieszczają się po pasku jako ruchoma fala.
  • Efekt deszczu – jak generowane są wzory deszczu

    • Losowo - nowe paski deszczu są rozmieszczone losowo, a ich wzór jest różny.
    • Stała - powtarza się wzór deszczu.
  • Gra - w którą grę możesz grać na matrycy

    Snake - Viva la Nokia, grywalna tylko wtedy, gdy pasek jest w konfiguracji matrycy

  • Kolor efektu - Z jakiego źródła koloru korzystają efekty?

    • Color Set - Efekty (np. deszcz) pobierają losowy kolor z ustawionej palety kolorów.
    • Noise Freq - Efekty po wygenerowaniu przyjmują kolor odpowiadający aktualnej częstotliwości szumów.
    • Noise Vol - Efekty po wygenerowaniu przyjmują kolor odpowiadający aktualnej głośności szumu.
  • Rozmiar - Jak jest zaaranżowany wyświetlacz?

    • Pasek 250x1
    • Matryca 50x5
    • Matryca 25x10

Szybkość i jasność

Sterowanie za pomocą obrotowych potencjometrów analogowych, aby zmienić jasność diod LED i szybkość aktualizacji wyświetlacza. Ma to duży wpływ na intensywność efektów świetlnych i trudność gier.

Stan stroboskopu i diody LED

Przełącznik w lewym górnym rogu konsoli umożliwia wyłączenie diod LED, jako opcję podczas konfiguracji wyświetlacza. Dolny lewy przełącznik włącza efekt stroboskopu, migając wyświetlacz z ustawioną prędkością.

Krok 1: Wymagania

Składniki:

  • Deska chlebowa ~ £5
  • StripBoard ~ £10 za zestaw 5
  • Arduino Mega (każdy klon wystarczy) ~ 20 £
  • Rezystory potencjometru 2x1M
  • Indywidualnie adresowalna taśma 300 RGB ~ £30
  • Nagłówki pinów ~ £5
  • 10x 10K, 1x 300 rezystorów
  • Moduł LCD I2C ~ £5
  • Joystick z 4 przełącznikami ~ £10
  • Czujnik dźwięku ~ £5
  • 1x 1μF, 1x 10μF, 1x 100nF Kondensatory
  • 3x (chwilowe) przyciski. Rekomendacje: Arcade, Mini ~ £3
  • 2x przełączniki. Rekomendacje: Przełącz ~ 5 GBP
  • Gniazdo zasilania
  • Pudełko ~20x20x15cm - Tektura jest najłatwiejsza, ale jeśli masz dostęp do wycinarki laserowej, robisz to.

Moje rekomendacje dotyczące joysticka/przycisku były czysto stylistycznymi wyborami, po motywie zręcznościowym; wystarczą chwilowe przełączniki dowolnej natury. Można uzyskać tańsze joysticki, które zgłaszają swoją pozycję za pomocą sygnałów analogowych wytwarzanych za pomocą 2 potencjometrów (po jednym dla każdej osi). Jeśli jesteś przygotowany do zmiany kodu, możesz użyć takich joysticków.

Chociaż użyłem minimalnego procentu pinów I/O Arduino Megas, wybrano go ze względu na większy rozmiar pamięci dynamicznej i programowej, dla którego Arduino Uno okazał się niewystarczający.

Wybór taśmy LED

Użyta przeze mnie taśma LED była elastyczną taśmą LED WS2813 z indywidualnym adresowaniem 300 RGB. ulepszona wersja WS2812, ten format, choć nieco droższy, poprawia się na WS2812 z podwójną transmisją sygnału, co oznacza, że jeśli jedna dioda przestanie działać, reszta paska nadal będzie działać. Jako taki ma 4 piny: 5V, GND, DI (wejście danych) i BI (wejście zapasowe).

Całkowity koszt: ~ £100

Ekwipunek:

  • Lutownica + lut
  • Multimetr (opcjonalny, ale zalecany)
  • Przecinaki do drutu i ściągacze izolacji
  • Drut: najlepiej jednożyłowy, elastyczny (LOTY)
  • Skalpel
  • Linijka/Ołówki
  • Zasilanie 1x5 V
  • Wkrętaki ręczne
  • Kabel USB drukarki A do B

Oprogramowanie:

IDE Arduino

Umiejętności:

  • Lutowanie
  • Trochę doświadczenia Arduino, ale absolutnie konieczne

Krok 2: Schemat i kod

Schemat i kod
Schemat i kod
Schemat i kod
Schemat i kod
Schemat i kod
Schemat i kod

Ten projekt składał się z 2 potencjometrów, 1 czujnika audio, 1 taśmy LED, 3 przycisków chwilowych, 1 joysticka (4 przyciski chwilowe), 1 modułu LCD i 2 przełączników.

Zalecam upewnienie się, że rozumiesz okablowanie i skonfigurowanie podstawowych obwodów na płytce stykowej, przed przylutowaniem elektroniki do płytki montażowej w następnym kroku, aby zapewnić długotrwałą trwałość. Powinieneś przynajmniej być w stanie podłączyć różne piny Arduino do domyślnych wartości HIGH (5V)/LOW (GND) i poeksperymentować z różnicami w oryginalnych ustawieniach LEDStrip w kodzie (jest to zaznaczone - patrz krok kodu), aby zobaczyć niektóre ze wstępnych efektów świetlnych.

Obwód audio

Obwód audio jest omówiony w następnym kroku i jest konieczny tylko wtedy, gdy potrzebujesz efektów dźwiękowych, w przeciwnym razie możesz po prostu podłączyć analogowe piny wejściowe AUDIO A0, A1 do GND za pomocą rezystora pull down (~300 Ohm). Ten obwód ma na celu wyodrębnienie częstotliwości i głośności mierzonego dźwięku, dając dwie różne wartości wejściowe do sterowania wizualizacjami audio, np. wysokość (amplituda objętości) i kolor (częstotliwość).

Pasek ledowy

Dołączyłem arkusz danych dla taśmy WS2813, która zawiera idealne okablowanie. Pin BI można ściągnąć przez rezystor do masy a kondensator należy podłączyć pomiędzy GND a +5V i umieścić blisko listwy. Wygładza to nagłe zmiany w aktualnym zapotrzebowaniu na listwę, na przykład w przypadku nagłego dużego wzrostu, gdy wszystkie diody LED włączają się, kondensator wykorzystujący zmagazynowany ładunek może szybciej go dostarczyć niż Arduino, zmniejszając obciążenie komponentów płyty.

Listwa jest sterowana za pomocą biblioteki FASTLED (więcej szczegółów w opisie kodu) i podłączona do pinu 5.

Moduł LCD

Polecany przeze mnie moduł LCD wykorzystuje obwód wewnętrzny, więc wymaga tylko 2 pinów wejściowych, co znacznie zmniejsza złożoność lutowania go w obwodzie. Jest podłączony do pinów SCL, SDA.

Potencjometry

Potencjometry to rezystory zmienne, które pozwalają kontrolować napięcie mierzone na wewnętrznym pinie, Arduino może to odczytać jako wartość analogową. Wykorzystałem je jako interaktywny sposób na ręczne sterowanie prędkością i jasnością wyświetlacza i są one podłączone do pinów wejść analogowych: A3, A2.

Zasilanie zewnętrzne

W przypadku mniejszych projektów (<20 diod LED) Arduino może być zasilane przez samo złącze USB, ale w przypadku większego zastosowania (250 diod LED), ze względu na duże zapotrzebowanie na prąd wymagane jest zewnętrzne źródło zasilania +5V. Zasilałem Arduino przez zewnętrzne gniazdo podłączone do GND i VIN Arduino. Przy zasilaniu tylko przez USB, kolory diod LED będą zniekształcone, a ekran LCD nie będzie w pełni podświetlony.

Przyciski/przełączniki/joystick

W pozycji neutralnej piny INPUT przycisków są przeciągnięte do GND, a Arduino odczytuje cyfrowy LOW, ale po naciśnięciu piny są podłączone do +5V odczytu cyfrowego HIGH. Zobacz tutaj typowy przykład przycisku Arduino. Te odczytane wartości mogą być używane jako warunkowe wartości logiczne dla programu, powodując wykonanie różnych segmentów kodu. Przyciski/przełączniki są podłączone do następujących cyfrowych pinów wejściowych: Mode/Config: 3/2. Joystick L/P/U/D: 10.11.13/12. Wybierz: 9.

Krok 3: Efekty dźwiękowe

Efekty dźwiękowe
Efekty dźwiękowe
Efekty dźwiękowe
Efekty dźwiękowe
Efekty dźwiękowe
Efekty dźwiękowe

Najbardziej skomplikowaną częścią obwodu był konwerter napięcia audio - częstotliwości. Postępowałem zgodnie ze schematem pokazanym powyżej (zobacz tutaj, aby uzyskać więcej informacji). Pewna zmiana kondensatora, wartości rezystancji mogą być wymagane w zależności od siły sygnału audio. W podanym przykładzie użyłem przemiennego sygnału 12 V, znalazłem dobre wyniki, używając 3,3 V jako napięcia zasilania i podając 5 V do czujnika audio.

Dwa sygnały, które wyodrębniłem z tego obwodu, to częstotliwość (VOUT) i głośność (V2 +).

Przydatne uwagi

Większe kondensatory (próg około 1µF, nieceramiczne) są spolaryzowane, w tym kondensatory elektrolityczne, w których prąd płynie od + do - strony. Na schemacie zaznaczyłem kierunek, w którym mają być ułożone.

Tranzystor użyty w tym obwodzie to PNP, te tranzystory umożliwiają przepływ prądu z emitera do kolektora, gdy ujemna polaryzacja jest przyłożona do ich podstawy w stosunku do emitera.

Smutek #1

Początkowo próbowałem przesyłać dźwięk do obwodu za pomocą gniazda audio, marzeniem było podłączenie dźwięku bezpośrednio z telefonu. Niestety sygnał, który on wytwarzał, okazał się zbyt słaby i po tygodniu starań o jego uruchomienie uciekłem się do użycia modułu czujnika dźwięku. Jestem pewien, że istnieją techniki amplifikacji, których mógłbym użyć i jest to zdecydowanie główny problem w moim projekcie, który chciałbym poprawić w przyszłości.

Krok 4: Projektowanie i tworzenie konsoli

Projektowanie i tworzenie konsoli
Projektowanie i tworzenie konsoli
Projektowanie i tworzenie konsoli
Projektowanie i tworzenie konsoli
Projektowanie i tworzenie konsoli
Projektowanie i tworzenie konsoli
Projektowanie i tworzenie konsoli
Projektowanie i tworzenie konsoli

Projekt mojej konsoli był inspirowany oldschoolowymi arkadami, z retro joystickiem, przyciskami i przełącznikami. Zbudowałem go ze starego kartonowego pudełka na słuchawki (chomikowanie ma swoje zastosowanie); było to bardzo skuteczne, ponieważ pudełko miało wewnętrzną wyściółkę z pianki, więc po odwróceniu na lewą stronę dało ładny efekt polerowania.

  1. Naszkicuj ogólny układ wybranej konsoli.
  2. Odmierz i zaznacz pozycje różnych elementów na górze pudełka. Upewnij się, że wykonałeś wewnętrzne pomiary przycisków/przełączników/joysticków, ponieważ chcesz, aby szczeliny były wystarczająco duże, aby przecisnąć elementy, ale nadal mieć ich zewnętrzne krawędzie zahaczające o karton. Do wycinania tych otworów polecam używać skalpela, ale ostre nożyczki w połączeniu ze śrubokrętem do okrągłych otworów powinny załatwić sprawę. Tnij powoli, próbując dopasować element do siebie i stopniowo zwiększając rozmiar uchwytów, rób jeden element na raz.
  3. W przypadku większych elementów, takich jak joystick i wyświetlacz LCD, zalecam wkręcenie kilku nakrętek/śrub przez górę konsoli, aby utrzymać je w bezpiecznym miejscu.
  4. Wytnij trzy otwory w dolnej części tylnej konsoli, będą one przeznaczone na wejście zasilania, wejście USB do opcjonalnego zaprogramowania złącza wyjściowego Arduino i LEDStrip.

Najważniejsze wskazówki

Zalecam wstępne lutowanie każdego z metalowych złączy składowych przed umieszczeniem ich w konsoli, aby ułatwić dostęp i zmniejszyć ryzyko spalenia kartonu.

Krok 5: Schemat lutowania

Schemat lutowania
Schemat lutowania
Schemat lutowania
Schemat lutowania
Schemat lutowania
Schemat lutowania
Schemat lutowania
Schemat lutowania

Będziesz potrzebować kawałka deski z paskami o rozmiarze co najmniej 25 rzędów na 20 kol. Jednak wybierając ten, który jest większy, będziesz mógł przypiąć swój mikrokontroler na niebiesko do stripboardu obok przewodów, co oznacza, że jedynymi niestabilnymi połączeniami będą te między stripboardem a komponentami przymocowanymi do powierzchni konsoli. Niezbędne na każdym etapie tego procesu jest, w miarę możliwości, zmniejszenie naprężenia, pod którym może znajdować się okablowanie, aby zapewnić długotrwały produkt końcowy.

Użyłem nagłówków pinów, aby uporządkować przewody w grupy i podłączyć je do Arduino w sposób, który można łatwo odłączyć w celu debugowania.

Częściowo podparłem Stripboard z najcięższymi obwodami, używając sznurka/drutu do połączenia go z wewnętrzną ścianką kartonowego pudełka.

Główne przewody zasilające i LEDStrip, które wychodziły z konsoli, miały złącza środkowe, które można było odłączyć, co oznaczało, że przewody można było przewlec przez otwory w dolnej części konsoli i nadal pozwalać na otwarcie pudełka.

Wskazówki dotyczące lutowania

Zacisk do przytrzymywania przewodów / stripboardów podczas lutowania znacznie ułatwi proces. Zawsze lutuj wstępnie każdy przewód przed próbą ich podłączenia.

Wskazówki dotyczące układu

Wszystkie przewody zewnętrzne (kierujące się w stronę pinów Arduinos) znajdują się na krawędzi płytki.

Jeśli to możliwe, użycie różnych kolorowych przewodów w pobliskich rzędach pomaga uniknąć pomyłek w okablowaniu.

GND, +3.3V, +5.5V należy zawsze umieszczać na krawędziowych rzędach, dla łatwej identyfikacji, umieszczenie GND i +3,3/5V na przeciwległych krawędziach pomaga zapobiec potencjalnemu zwarciu, ale osobiście nie zawracałem sobie głowy i umieściłem je na górze 3 wydziwianie. Układ konsoli może częściowo określać kolejność rzędów przewodów, pobliskie komponenty są mapowane na sąsiednie rzędy, numery PIN w Arduino IDE można zawsze przepisać.

Przylutowując wszystkie piny +5V przycisków/rezystorów z tyłu konsoli do siebie w łańcuchu, potrzebny jest tylko jeden przewód +5V między Stripboard a górną częścią konsoli, co znacznie zmniejsza liczbę wrażliwych przewodów łączących. Na przykład dla 4 przełączników joysticka połączyłem wszystkie ich zaciski 5V razem.

Bądź hojny w długości przewodów, które rozciągają się między Stripboard a konsolą, o wiele łatwiej później zmniejszyć, niż próbować zwiększać.

Jeśli to możliwe, użyj elastycznego przewodu między komponentami Stripboard i konsoli, co ułatwi późniejsze otwieranie i debugowanie konsoli.

Krok 6: Rozszerzenie 1: Matryca LED

Rozszerzenie 1: Matryca LED
Rozszerzenie 1: Matryca LED
Rozszerzenie 1: Matryca LED
Rozszerzenie 1: Matryca LED
Rozszerzenie 1: Matryca LED
Rozszerzenie 1: Matryca LED

Podłączając Taśmę LED do konsoli można wyświetlić większość efektów deszczu, koloru, stroboskopu i szumu, ale forma wizualizacji jest ograniczona. Kod pozwala na dalszą konfigurację wyświetlacza w układach 250x1, 50x5 i 25x10, co pozwala na wizualizacje matrycowe. Hałas można pokazać jako ruchome fale, a w gry można grać na matrycy jak na ekranie o niskiej rozdzielczości. Wybór indywidualnej długości paska 25 pikseli był osobistym wyborem i można go wybrać samodzielnie i ustawić w kodzie. Zależało mi przede wszystkim na elastyczności, aby niezależnie od efektu graficznego, jaki zdecyduję się zakodować w późniejszym terminie, mogłem złożyć sprzęt w wymaganą aranżację.

Smutek #2

Miałem sen, a było to użycie przewodzącego atramentu do malowania połączeń obwodów na tekturze, którą można było docisnąć do sąsiednich końców pasków LED.

Korzyści:

  1. Wygląda super fajnie i mógłbym użyć całkiem innego kolorowego kartonu
  2. rysuję obwody
  3. Ostateczna personalizacja, wymyśl nową aranżację, po prostu ją narysuj.

Wady:

  1. To nie zadziałało.
  2. Ani trochę.
  3. Dlaczego miałbyś być w stanie ręcznie narysować wystarczająco dokładne okablowanie, a następnie zastosować wystarczająco precyzyjny i stały nacisk na materiał ściśliwy, taki jak karton?

Uważam, że gdyby to zadziałało, byłoby naprawdę fajnie i tylko częściowo żałuję 2 godzin przeznaczonych na to przedsięwzięcie.

Rzeczywiste rozwiązanie

Zdecydowałem się użyć systemu wtykowych nagłówków męskich/żeńskich, podobnych do tych używanych do podłączenia przewodów Stripboard do Arduino. Umieszczając M/F alternatywnie na każdym końcu, poszczególne paski można opcjonalnie połączyć ze sobą, odtwarzając oryginalny nieprzycięty pasek. Można też zastosować pośrednie elastyczne łączniki przewodów, dzięki czemu paski można złożyć na siebie, tworząc matrycę lub dowolną inną konfigurację przestrzenną.

  1. Pokrój taśmę Led na segmenty, wybrałem 10 pasków o długości 25, zostawiając 50 zapasowych diod LED na inny projekt
  2. Przylutuj każde z miedzianych połączeń na każdym końcu paska. Uważaj, aby nie stopić plastiku, jeśli kupiłeś taki z wodoodpornym pokryciem, będziesz musiał odciąć małą górną część na każdym końcu.
  3. Mój LEDStrip miał 4 złącza na każdym końcu i 10 pasków, więc wyciąłem 10 męskich i 10 żeńskich segmentów nagłówków, każdy o długości 4. Dla każdego paska przylutowałem męski do jednego końca i żeński do drugiego. Upewnij się, że te same końce są męskie/żeńskie dla każdego paska, co pozwoli ci połączyć je w sposób przypominający łańcuszek.
  4. Przetestuj połączenia, łącząc ze sobą 10 pasków, w razie potrzeby popraw lutowaniem.
  5. Potrzebujemy teraz łączników przewodów, które będą używane do łączenia ze sobą poszczególnych pasków w elastyczne układy, niezależnie od tego, czy celem jest uzyskanie odległości od siebie, czy złożenie matrycy. Ich długość określa, jak daleko od siebie można umieścić każdą ciągłą sekcję LEDStrip; utnij przewód trochę dłużej niż chcesz, ponieważ podczas podłączania przewodów część długości zostanie utracona. Wytnij kolejne 10 męskich, 10 żeńskich odcinków główki o długości 4. Odetnij 40 kawałków drutu (najlepiej wielokolorowego, elastycznego), zdejmij każdy koniec i wstępnie przylutuj.
  6. Aby utworzyć połączenie przewodowe, najpierw weź 4 przewody (najlepiej w różnych kolorach, aby umożliwić identyfikację, który przewód łączy się z którym pinem) i przylutuj je do męskiej listwy. Następnie chcesz spleść te 4 przewody, dzięki czemu okablowanie będzie schludne. Po zaplecieniu (wystarczająca jest jakość, której tutaj szukamy), możesz przylutować drugie końce do złącza żeńskiego. Upewnij się, że te same przewody są przylutowane do tych samych pinów. Jeśli wszystkie przewody mają ten sam kolor, zrób oznaczenia lub użyj miernika uniwersalnego, aby określić, który przewód jest który, ponieważ po oplocie nie będzie to jasne. Powtórz ten proces dla każdego potrzebnego połączenia przewodowego.
  7. Ponownie przetestuj połączenia, łącząc wszystkie paski za pomocą połączeń przewodowych, pobaw się ustawieniem rozmiaru konsoli i ułóż paski LEDStrip w różnych formacjach matrycy. Lepiej zerwać i zidentyfikować słabe połączenia wcześniej niż później.

Masz teraz 10 pojedynczych pasków, które można bezpośrednio podłączyć do siebie, aby odtworzyć długi pojedynczy pasek, lub zmienić ich układ w formacje matrycowe.

Krok 7: Konfiguracja i konfiguracja

Konfiguracja i konfiguracja
Konfiguracja i konfiguracja
Konfiguracja i konfiguracja
Konfiguracja i konfiguracja

Najnowszą wersję zawsze można znaleźć na moim githubie: rs6713/leddisplay/, możesz ją rozwidlić/pobrać i pobawić się.

Zainstaluj Arduino IDE

W cudownym wydarzeniu jakoś ukończyłeś ten samouczek bez wcześniejszego doświadczenia Arduino, Arduino IDE można pobrać tutaj. Po prostu zainstaluj i otwórz kod w IDE, podłącz płytkę za pomocą kabla drukarki do komputera. (Być może będziesz musiał zainstalować sterownik, aby komputer rozpoznał płytkę Arduino, ale powinno to nastąpić automatycznie po pierwszym podłączeniu Arduino do komputera). Wybierz typ płytki i wybierz aktywny port COMM, do którego podłączony jest Arduino.

Konfiguracja

Zmiana różnych ustawień wyświetlacza nie wymaga zaawansowanej wiedzy programistycznej.

Obszary w programie podatne na konfigurację są oznaczone /*** KONFIGURUJ MNIE ***/

Możesz łatwo zmienić/skonfigurować następujące obszary programu:

  • Styki, do których podłączone są komponenty
  • Rozmiar poszczególnych taśm LED
  • Całkowita liczba diod LED w paskach ogółem
  • Tryby, na które chcesz zezwolić w programie
  • Długość kropli deszczu dla efektu deszczu.

Piny i całkowita liczba diod LED są niezbędne, aby kod działał poprawnie z twoją wersją układu elektronicznego omówioną w poprzednich krokach. Przydaje się również do testowania różnych trybów wyświetlania, ustawiając je podczas inicjalizacji kodu, zamiast konstruowania i podłączania wszystkich przycisków joysticka, trybu i konfiguracji.

Wgrywać

Po ustawieniu poprawnych numerów PIN dla komponentów, rozmiaru paska i ilości diod, możesz wgrać program do Arduino, naciskając upload. Mam nadzieję, że już to zrobiłeś do tego momentu jako rzecz oczywista podczas testów. Podłącz zewnętrzny zasilacz 5 V i powinieneś być gotowy.

Debugowanie

Jeśli LEDStrip/Konsola nie działa zgodnie z oczekiwaniami, istnieje wiele potencjalnych przyczyn.

LEDStrip jest całkowicie/częściowo wyłączony:

  • Sprawdź, czy przełącznik LEDStrip jest włączony,
  • Jeśli przedłużyłeś pasek, a kilka ostatnich końcowych segmentów LEDStrip nie świeci się, prawdopodobnie jest to spowodowane wadliwym połączeniem. Sprawdź połączenia pod kątem suchych połączeń i przelutowania, spróbuj zmienić kolejność pasków, a jeśli jest to połączenie przewodowe, spróbuj zamienić jedno połączenie przewodowe na drugie.

Jasność ekranu LCD jest niska / kolory paska LED są nieprawidłowe:

  • Sprawdź, czy połączenie zasilania zewnętrznego jest włączone/prawidłowo podłączone. Gdy moc jest niska, nie wszystkie kolory diod LED RGB świecą się konsekwentnie, a ekran LCD ma problemy z podświetleniem.
  • Kolory mogą się również mylić, jeśli konfiguracja rozmiaru np. 250x1 programu nie odzwierciedla rzeczywistego układu diod LED.
  • W najgorszym przypadku możesz zmienić program, aby zmniejszyć liczbę oświetlanych pasków.

Losowe okropności

W ostateczności, zakomentowane Serial.prints zostały pozostawione w całym kodzie, odkomentowanie ich da ci informację zwrotną na temat różnych stanów komponentów i programów wewnętrznych.

Prawdopodobna sytuacja polega na tym, że wejście, które powinno być uziemione, zostało odłączone i pozostaje pływające, spowoduje to fałszywe wyzwalanie zdarzeń (losowo oscylujący odczyt pinów między FAŁSZ a PRAWDĄ) i nieprzewidywalne zachowanie programu.

Zmiany w programie

Dalsze obszary możliwych zmian są oznaczone /** ZMIEŃ MNIE **/

Te obszary są najlepszymi przykładami, w których możesz dodać własne dostosowania:

  • Dodaj nowe opcje palety kolorów
  • Dodaj nowe efekty m.in. migotać
  • Dodaj nowe gry

To tylko sugestie, możesz dowolnie zmieniać kod.

Krok 8: Rozszerzenie 2: OpenProcessing

Rozszerzenie 2: Otwarte przetwarzanie
Rozszerzenie 2: Otwarte przetwarzanie

** W chwili pisania tego tekstu funkcja ta pozostaje niezaimplementowana, więc ten krok ma na celu podkreślenie przyszłych planów/manifestacji tego projektu oraz podkreślenie znaczenia rozszerzenia LEDStrip, aby umożliwić wyświetlanie matryc. **

Jednym z powodów, dla których byłem tak podekscytowany, że rozszerzenie LEDStrip pozwoliło na ustawienie go jako matrycy, było to, że posiadanie wyświetlacza otwiera wiele możliwości mapowania wizualizacji 2D z innego oprogramowania na Arduino HW.

OpenProcessing to społeczność interaktywnej grafiki 2D opartej na języku Processing. Dzięki zastosowaniu prostej funkcji Serial Print wygląd każdej klatki może być przesyłany piksel po pikselu do Arduino. Dlatego może istnieć tryb przyszłości dla konsoli, w którym Arduino po prostu nasłuchuje połączenia szeregowego i po prostu aktualizuje matrycę LED klatka po klatce zgodnie z animacją określoną przez program przetwarzający. Ma to wiele zalet, ponieważ przetwarzanie jest językiem wyspecjalizowanym w sztukach wizualnych i jest łatwy do nauczenia, dzięki czemu bardzo szybko tworzy się złożone wizualizacje artystyczne. Przenosi również złożoność pamięci i przetwarzania na komputer, a Arduino ma stosunkowo ograniczoną pamięć / moc przetwarzania, która musi obsługiwać tylko informacje przekazywane przez port szeregowy.

Zlecając wizualizacje wyświetlaczy LED do istniejącej biblioteki efektów graficznych 2D, możliwości są nieograniczone. Poszukaj inspiracji w katalogu openprocessing.org.

Zalecana: