Spisu treści:

48 x 8 przewijany wyświetlacz LED z matrycą LED za pomocą Arduino i rejestrów przesuwnych.: 6 kroków (ze zdjęciami)
48 x 8 przewijany wyświetlacz LED z matrycą LED za pomocą Arduino i rejestrów przesuwnych.: 6 kroków (ze zdjęciami)

Wideo: 48 x 8 przewijany wyświetlacz LED z matrycą LED za pomocą Arduino i rejestrów przesuwnych.: 6 kroków (ze zdjęciami)

Wideo: 48 x 8 przewijany wyświetlacz LED z matrycą LED za pomocą Arduino i rejestrów przesuwnych.: 6 kroków (ze zdjęciami)
Wideo: CS50 2013 - Week 9 2024, Lipiec
Anonim
Przewijany wyświetlacz LED 48 X 8 z wykorzystaniem Arduino i rejestrów przesuwnych
Przewijany wyświetlacz LED 48 X 8 z wykorzystaniem Arduino i rejestrów przesuwnych
Przewijany wyświetlacz LED 48 X 8 z wykorzystaniem Arduino i rejestrów przesuwnych
Przewijany wyświetlacz LED 48 X 8 z wykorzystaniem Arduino i rejestrów przesuwnych

Witam wszystkich

To jest mój pierwszy Instruktaż i polega na stworzeniu programowalnej przewijanej matrycy LED 48 x 8 za pomocą rejestrów przesuwnych Arduino Uno i 74HC595. To był mój pierwszy projekt z płytką rozwojową Arduino. To było wyzwanie, które rzucił mi mój nauczyciel. W momencie przyjęcia tego wyzwania nie wiedziałem nawet, jak mrugać diodą LED za pomocą arduino. Myślę więc, że nawet początkujący może to zrobić przy odrobinie cierpliwości i zrozumienia. Zacząłem od małych badań na temat rejestrów przesuwnych i multipleksowania w arduino. Jeśli jesteś nowy w rejestrach przesuwnych, zalecam poznanie podstaw multipleksowania i łączenia łańcuchowego rejestrów przesuwnych przed rozpoczęciem pracy z macierzami. To bardzo pomoże ci zrozumieć kod i działanie przewijanego wyświetlacza.

Krok 1: Zbieranie narzędzi i komponentów

Zbieranie narzędzi i komponentów
Zbieranie narzędzi i komponentów

składniki

  • 1. Arduino Uno R3 - 1
  • 2. 74HC595 8-bitowe rejestry przesuwne szeregowo-równoległe. - 7
  • 3. Tranzystory BC 548/2N4401 - 8
  • 4. Rezystory 470 Ohm - liczba kolumn + 8
  • 5. Pref Board 6x4 cale - 4
  • 6. Przewody oznaczone kolorami - zgodnie z wymaganiami
  • 7. Uchwyty IC - 7
  • 8. 5 mm lub 3 mm 8x8 wspólna katoda mono kolorowa matryca LED - 6
  • 9. Nagłówki męskie i żeńskie - zgodnie z wymaganiami.

Wymagane narzędzia

  • 1. Zestaw lutowniczy
  • 2. Multimetr
  • 3. Pistolet do klejenia
  • 4. Pompa rozlutownicza
  • 5. Zasilanie 5 V

Krok 2: Budowanie obwodu na płytce do krojenia chleba

Budowanie obwodu na płytce do krojenia chleba
Budowanie obwodu na płytce do krojenia chleba
Budowanie obwodu na płytce do krojenia chleba
Budowanie obwodu na płytce do krojenia chleba
Budowanie obwodu na płytce do krojenia chleba
Budowanie obwodu na płytce do krojenia chleba
Budowanie obwodu na płytce do krojenia chleba
Budowanie obwodu na płytce do krojenia chleba

Pierwszą rzeczą, którą musisz zrobić przed zbudowaniem prototypu, jest uzyskanie diagramu pinów twojej matrycy 8x8 i zaznaczenie punktu odniesienia do identyfikacji pinów we wszystkich twoich macierzach. Może to pomóc podczas montażu obwodu.

Załączam schemat pinów modułu matrycy, którego tu użyłem. W moim module rzędy były pinami ujemnymi. Ten schemat pinów pozostaje taki sam dla większości modułów dostępnych na rynku.

W obwodzie pokazano, że pojedynczy rejestr przesuwny służy do sterowania 8 wierszami, a do sterowania kolumnami używamy jednego rejestru przesuwnego na każde 8 kolumn.

Zbudujmy prosty przewijany wyświetlacz 8 x 8 na płytce prototypowej.

Obwód jest podzielony na dwie części - sterowanie rzędami i sterowanie kolumnami. Zbudujmy najpierw kontrolkę kolumny.

Pin 4 z arduino jest podłączony do Pin 14 (SER) rejestru przesuwnego. (Jest to pin wejściowy danych szeregowych rejestru przesuwnego. Poziomy logiczne wymagane do włączenia diod LED są podawane przez ten pin

Pin 3 z arduino jest podłączony do Pin 12 (RCLK) rejestru przesuwnego. (Nazwijmy ten pin jako pin zegara wyjściowego. Dane w pamięci rejestrów przesuwnych są wypychane na wyjście, gdy ten zegar jest wyzwalany.)

Pin 2 z arduino jest podłączony do Pin 11 (SRCLK) rejestru przesuwnego. (Jest to pin zegara wejściowego, który przenosi dane do pamięci.)

VCC + 5 V jest podawane do rejestru przesuwnego przez jego pin 16, a to samo jest podłączone do pinu 10. (Dlaczego? Pin 10 to pin SRCLR, który po uruchomieniu usuwa dane w rejestrze przesuwnym. Jest to aktywny niski pin, więc aby zachować dane w pamięci rejestru przesuwnego, pin ten musi być cały czas zasilany +5V.)

Masa jest podłączona zarówno do pinu GND (Pin 8 rejestru przesuwnego), jak i pinu OE (Pin 13 rejestru przesuwnego). (Dlaczego? Pin umożliwiający wyjście musi być wyzwalany, aby dawać wyjścia zgodnie z sygnałem zegara. Jest to aktywny niski pin, podobnie jak pin SRCLR, więc musi być utrzymywany przez cały czas w stanie podstawowym, aby umożliwić wyjścia.)

Kołki kolumny matrycy są połączone z rejestrem przesuwnym, jak pokazano na schemacie obwodu, z rezystorem 470 omów pomiędzy matrycą a rejestrem przesuwnym

Teraz przejdźmy do obwodu sterowania rzędami.

Pin 7 z arduino jest podłączony do Pin 14 (SER) rejestru przesuwnego

Pin 5 z arduino jest podłączony do Pin 11 (SRCLK) rejestru przesuwnego

Pin 6 z arduino jest podłączony do Pin 12 (RCLK) rejestru przesuwnego

VCC +5V jest podane na Pin 16 i Pin 10, jak opisano powyżej

Masa jest podłączona do styków 8 i 13

Jak wspomniałem powyżej, w moim przypadku rzędy były pinami ujemnymi. Lepiej jest traktować ujemne piny twojej matrycy jako rzędy twojego wyświetlacza. Połączenie uziemienia należy przełączyć na te styki ujemne za pomocą tranzystorów BC548/2N4401, które są sterowane przez wyjściowe poziomy logiczne rejestru przesuwnego. Im więcej pinów ujemnych, tym więcej tranzystorów potrzebujemy

Podaj połączenia rzędowe, jak pokazano na schemacie obwodu

Jeśli udało Ci się stworzyć prototyp wyświetlacza matrycowego 8 x 8, możesz po prostu powielić część obwodu dla sterowania kolumną i rozszerzyć matrycę na dowolną liczbę kolumn. Wystarczy dodać jeden 74HC595 na każde 8 kolumn (jeden moduł 8 x 8) i połączyć go szeregowo z poprzednim.

Daisy łączy rejestry przesuwne w celu dodania większej liczby kolumn

Daisy chain w elektrotechnice to schemat okablowania, w którym wiele urządzeń jest połączonych ze sobą w sekwencji.

Mechanizm jest prosty: SRCLK (zegar wejściowy. Pin 11) i RCLK (zegar wyjściowy. Pin 12) są współdzielone między wszystkimi połączonymi łańcuchowo rejestrami przesuwnymi, podczas gdy każdy PIN QH (Pin 9) poprzedniego rejestru przesuwnego w łańcuch jest używany jako wejście szeregowe dla następnego rejestru przesuwnego poprzez PIN SER (Pin 14).

W prostych słowach, poprzez połączenie łańcuchowe rejestrów przesuwnych, można nimi sterować jako pojedynczy rejestr przesuwny z większą pamięcią. Na przykład, jeśli połączysz łańcuchowo dwa 8-bitowe rejestry przesuwne, będą one działać jak pojedyncze 16-bitowe rejestry przesuwne.

Kod

W kodzie zasilamy kolumny odpowiednimi poziomami logicznymi zgodnie z danymi wejściowymi, podczas gdy skanujemy wzdłuż wierszy. Znaki od A do Z są zdefiniowane w kodzie jako poziomy logiczne w tablicy bajtów. Każdy znak ma 5 pikseli szerokości i 7 pikseli wysokości. Bardziej szczegółowe wyjaśnienie działania kodu podałem jako komentarze w samym kodzie.

Kod Arduino jest załączony tutaj.

Krok 3: Lutowanie

Lutowanie
Lutowanie
Lutowanie
Lutowanie
Lutowanie
Lutowanie

Aby ułatwić zrozumienie obwodu lutowanego, zrobiłem go tak dużym, jak to możliwe i dałem osobne płytki dla kontrolerów wierszy i kolumn i połączyłem je ze sobą za pomocą nagłówków i przewodów. Możesz go znacznie zmniejszyć, lutując elementy bliżej siebie lub jeśli jesteś dobry w projektowaniu PCB, możesz również wykonać mniejszą niestandardową płytkę drukowaną.

Koniecznie umieść rezystor 470 omów na każdym pinie prowadzącym do matrycy. Zawsze używaj nagłówków, aby podłączyć matryce LED do płyty. Lepiej nie lutować ich bezpośrednio do płytki, gdyż długotrwałe wystawienie na działanie ciepła może je trwale uszkodzić.

Ponieważ stworzyłem oddzielne tablice dla kontrolek rzędów i kolumn, przedłużyłem przewody z jednej tablicy do drugiej, aby połączyć kolumny. Tutaj tablica na górze służy do kontrolowania rzędów, a tablica na dole służy do kontrolowania kolumn.

wystarczy tylko jeden 74HC595 do obsługi wszystkich 8 rzędów. Ale w oparciu o liczbę kolumn należy dodać więcej rejestrów przesuwnych, nie ma teoretycznego limitu liczby kolumn, które można dodać do tej macierzy. Jak duży możesz to zrobić? Daj mi znać, kiedy tam dotrzesz!;)

Krok 4: Testowanie ukończonej pierwszej połowy obwodu

Testowanie ukończonej pierwszej połowy obwodu
Testowanie ukończonej pierwszej połowy obwodu

Zawsze przetestuj go w połowie, aby znaleźć możliwe błędy, takie jak luźne połączenia, złe połączenie pinów itp. Wiele osób, które prosiły mnie o pomoc w znalezieniu błędu w ich matrycy, popełniło błąd z wyprowadzeniem rzędów i kolumn modułu matrycy. Sprawdź to dwukrotnie przed lutowaniem i użyj przewodów oznaczonych kolorami, aby łatwo odróżnić piny.

Krok 5: Budowanie drugiej połowy

Budowa drugiej połowy
Budowa drugiej połowy
Budowa drugiej połowy
Budowa drugiej połowy
Budowa drugiej połowy
Budowa drugiej połowy

Rozszerz ten sam obwód sterowania kolumną. Rzędy są połączone szeregowo z poprzednim.

Kołki SRCLK i RCLK są pobierane równolegle, a QH (Serial data out. Pin 9) ostatniego rejestru przesuwnego gotowego obwodu jest podłączony do SER (Serial Data in. Pin 14) następnego rejestru przesuwnego. Zasilanie VCC i GND jest również dzielone między wszystkie układy scalone.

Krok 6: Wynik

Image
Image

Po zakończeniu lutowania następnym krokiem jest wykonanie obudowy na wyświetlacz. Zawsze lepiej zaprojektować niestandardową obudowę za pomocą Fusion 360 lub dowolnego innego narzędzia do projektowania 3D i wydrukować obudowę w 3D. Ponieważ nie miałem wtedy dostępu do druku 3D, wykonałem drewnianą skrzynkę z pomocą znajomego, który jest dobry w obróbce drewna.

Mam nadzieję, że podobało Ci się czytanie tej instrukcji. Opublikuj zdjęcia swojej wersji tego projektu w sekcji komentarzy poniżej, a jeśli masz jakieś pytania, zadaj je tutaj lub wyślij wiadomość na adres [email protected]. Chętnie Ci pomogę.

Zalecana: