Spisu treści:

Wiele modułów wyświetlacza LED: 6 kroków (ze zdjęciami)
Wiele modułów wyświetlacza LED: 6 kroków (ze zdjęciami)

Wideo: Wiele modułów wyświetlacza LED: 6 kroków (ze zdjęciami)

Wideo: Wiele modułów wyświetlacza LED: 6 kroków (ze zdjęciami)
Wideo: Ludzie, którzy zamienili się w zwierzęta 😲🤔 2024, Listopad
Anonim
Image
Image
Moduł wyświetlacza z wieloma diodami LED
Moduł wyświetlacza z wieloma diodami LED
Moduł wyświetlacza z wieloma diodami LED
Moduł wyświetlacza z wieloma diodami LED

Witam wszystkich, Lubię pracować z wyświetlaczami LED z 7 segmentami lub z matrycą punktową i zrobiłem już z nimi wiele różnych projektów.

Za każdym razem są interesujące, ponieważ jest jakaś magia w tym, jak mogą działać, ponieważ to, co widzisz, jest złudzeniem optycznym!

Wyświetlacze posiadają wiele pinów do połączenia z Arduino (lub innym mikrokontrolerem) i najlepszym rozwiązaniem jest zastosowanie techniki multipleksacji danych, aby zminimalizować wykorzystanie ich portów.

Kiedy to zrobisz, każdy segment lub każda dioda LED zostanie włączona na kilka chwil (milisekund lub mniej), ale powtarzanie tego tyle razy na sekundę tworzy iluzję obrazu, który chcesz pokazać.

Dla mnie najciekawsze jest opracowanie logiki programu, aby dowiedzieć się, w jaki sposób mogą wyświetlać prawidłowe informacje zgodnie z Twoim projektem.

W jednym projekcie użycie wyświetlaczy wymaga wiele czasu na złożenie wszystkich komponentów na płytce stykowej z wieloma przewodami do połączeń.

Wiem, że na rynku jest wiele różnych wyświetlaczy działających z I2C, z uproszczonymi sposobami (lub nie), aby je zaprogramować i też ich używałem, ale wolę pracować ze standardowymi komponentami, takimi jak 74HC595 (multiplekser IC) i ULN2803 (sterowniki), ponieważ zapewniają większą kontrolę nad programem, a także większą solidność i niezawodność w użytkowaniu.

Aby uprościć proces montażu, opracowałem moduł LED Dipslay do wielu celów, używając prostych i powszechnych komponentów w świecie Arduino.

Za pomocą tego modułu można pracować z matrycą punktową z dwukolorowymi diodami LED w dwóch standardowych rozmiarach (większym i mniejszym), a także można sterować wyświetlaczem 7 Seg x 4 cyfry, które są bardzo popularne i łatwe do znalezienia na rynku.

Można również pracować z tymi modułami kaskadowo w sposób szeregowy (różne dane na wyświetlacze) lub równolegle (te same dane na wyświetlacze).

Zobaczmy więc, jak ten moduł może działać i pomóc Ci w rozwoju!

Wideo (moduł wyświetlacza LED)

Wideo (Test matrycy punktowej)

Pozdrowienia, LAGSILVA

Krok 1: Komponenty

składniki
składniki
składniki
składniki
składniki
składniki
składniki
składniki

PCB (płytka drukowana)

- 74HC595 (03x)

- ULN2803 (02x)

- Tranzystor PNP - BC327 (08 x)

- Rezystor 150 Ohm (16 x)

- Rezystor 470 omów (08 x)

- Kondensator 100 nF (03 x)

- Gniazdo IC 16 pinów (03 x)

- Gniazdo IC 18 pinów (02 x)

- Złącze żeńskie pinowe - 6 pinów (8 x)

- Listwy kołkowe 90º (01 x)

- Nagłówki kołkowe 180º (01 x)

- Łącznik Borne KRE 02 piny (02 x)

- PCB (01 x) - Wyprodukowano

Inni

- Arduino Uno R3 / Nano / podobne

-Wyświetlacz LED 04 cyfra x 7 segmentów-(wspólna anoda)

- Dwukolorowa matryca punktowa LED (zielona i czerwona) - (wspólna anoda)

Ważne uwagi:

  1. Arkusz danych wszystkich najważniejszych komponentów umieszczam tylko jako odniesienie, ale przed użyciem należy sprawdzić arkusz danych własnych komponentów.
  2. Ta płyta została zaprojektowana do używania tylko wyświetlaczy WSPÓLNEJ ANODY.

Krok 2: Pierwsze prototypy

Pierwsze prototypy
Pierwsze prototypy
Pierwsze prototypy
Pierwsze prototypy
Pierwsze prototypy
Pierwsze prototypy
Pierwsze prototypy
Pierwsze prototypy

Mój pierwszy prototyp został wykonany na płytce prototypowej, aby przetestować obwód.

Potem zrobiłem kolejny prototyp na uniwersalnej płytce, jak widać na zdjęciach.

Ta płytka jest interesująca do szybkiego prototypowania, ale zdajesz sobie sprawę, że nadal zachowuje dużo przewodów.

Jest to rozwiązanie funkcjonalne, ale nie tak eleganckie w porównaniu z finalnie wyprodukowaną płytką drukowaną (niebieska).

Nie jestem dobry w lutowaniu, ponieważ nie mam wystarczającego doświadczenia z tym procesem, ale nawet z tym uzyskałem dobre wyniki zarówno z doświadczeniami, jak i co ważniejsze: nie spaliłem żadnego elementu ani rąk!

Prawdopodobnie wyniki na mojej następnej desce będą lepsze dzięki treningowi.

W związku z tym zachęcam do spróbowania tego rodzaju doznań, ponieważ będzie to dla Ciebie doskonałe.

Pamiętaj tylko, aby uważać na gorące żelazko i staraj się nie spędzać więcej niż kilka sekund na elemencie, aby uniknąć jego spalenia !!

I wreszcie, na Youtube znajdziesz wiele filmów o lutowaniu, których możesz się nauczyć, zanim przejdziesz do realnego świata.

Krok 3: Projektowanie PCB

Projektowanie PCB
Projektowanie PCB
Projektowanie PCB
Projektowanie PCB
Projektowanie PCB
Projektowanie PCB
Projektowanie PCB
Projektowanie PCB

Zaprojektowałem tę płytkę drukowaną przy użyciu dedykowanego oprogramowania do produkcji płytki dwuwarstwowej i została opracowana w kilku różnych wersjach przed tą ostatnią.

Na początku miałem jedną wersję dla każdego rodzaju wyświetlaczy i ostatecznie postanowiłem połączyć wszystko w jedną wersję.

Cele projektowe:

  • Prosty i przydatny do prototypów.
  • Łatwa konfiguracja i możliwość rozbudowy.
  • Możliwość użycia 3 różnych rodzajów wyświetlaczy.
  • Maksymalna szerokość dużej matrycy punktowej LED.
  • Maksymalna długość przy 100 mm, aby zminimalizować koszty produkcji deski.
  • Zastosuj tradycyjne komponenty zamiast SMD, aby uniknąć większych trudności podczas ręcznego procesu lutowania.
  • Tablica musi być modułowa, aby można ją było połączyć kaskadowo z innymi tablicami.
  • Wyjście szeregowe lub równoległe dla innych płyt.
  • Kilka płytek musi być sterowanych tylko przez Arduino.
  • Tylko 3 przewody danych do połączenia Arduino.
  • Zewnętrzne podłączenie zasilania 5V.
  • Zwiększ wytrzymałość elektryczną, stosując tranzystory i sterowniki (ULN2803) do sterowania diodami LED.

Uwaga:

W związku z tym ostatnim elementem polecam przeczytać moje kolejne instrukcje dotyczące tych elementów:

Korzystanie z rejestru przesuwnego 74HC595 z ULN2803, UDN2981 i BC327

Produkcja PCB:

Po skończeniu projektu wysłałem go do producenta PCB w Chinach po wielu poszukiwaniach u różnych lokalnych dostawców i w różnych krajach.

Główny problem dotyczył ilości desek w porównaniu z kosztami, ponieważ potrzebuję tylko kilku z nich.

W końcu zdecydowałem się złożyć zamówienie regularne (nie ekspresowe ze względu na wyższe koszty) tylko 10 płyt w firmie w Chinach.

Już po 3 dniach deski zostały wyprodukowane i wysłane do mnie, przemierzając świat w kolejne 4 dni.

Wyniki były doskonałe !!

W tydzień po złożeniu zamówienia deski znalazły się w moich rękach i byłem pod wrażeniem ich wysokiej jakości i szybkości !

Krok 4: Programowanie

Programowanie
Programowanie
Programowanie
Programowanie

Do programowania należy pamiętać o kilku ważnych pojęciach dotyczących konstrukcji sprzętu i rejestru przesuwnego 74HC595.

Główną funkcją 74HC595 jest przekształcenie 8-bitowego wejścia szeregowego w 8 równoległych wyjść.

Wszystkie dane szeregowe trafiają do styku nr 14, a przy każdym sygnale zegarowym bity trafiają do odpowiednich styków równoległych (od Qa do Qh).

Jeśli będziesz ciągle wysyłać więcej danych, bity zostaną ponownie przesunięte jeden po drugim do Pinu #9 (Qh') jako wyjście szeregowe i dzięki tej funkcjonalności możesz umieścić kolejne chipy połączone kaskadowo.

Ważny:

W tym projekcie mamy trzy układy scalone 74HC595. Dwie pierwsze służą do sterowania kolumnami (z logiką DODATNIĄ), a ostatnia do sterowania liniami (z logiką UJEMNĄ ze względu na działanie tranzystorów PNP).

Logika pozytywna oznacza, że musisz wysłać sygnał o wysokim poziomie (+5 V) z Arduino, a logika ujemna oznacza, że musisz wysłać sygnał o niskim poziomie (0 V).

Matryca punktowa diod LED

  1. Pierwszy dotyczy wyjść katod diod czerwonych (8 x) >> KOLUMNA CZERWONA (1 do 8).
  2. Drugi dotyczy wyjścia L katod zielonych diod LED (8 x) >> KOLUMNA ZIELONA (1 do 8).
  3. Ostatnia dotyczy wyjścia anod wszystkich diod LED (08 x czerwony i zielony) >> LINIE (1 do 8).

Na przykład, jeśli chcesz włączyć tylko zieloną diodę LED kolumny 1 i linii 1, musisz wysłać następującą sekwencję danych szeregowych:

1º) LINIE

~10000000 (tylko pierwsza linia jest włączona) - Symbol ~ służy do odwrócenia wszystkich bitów od 1 do 0 i odwrotnie.

2º) KOLUMNA Zielony

10000000 (tylko pierwsza kolumna zielonej diody LED jest włączona)

3º) KOLUMNA CZERWONA

00000000 (wszystkie kolumny czerwonych diod są wyłączone)

Oświadczenia Arduino:

shiftOut(dataPin, clockPin, LSBFIRST, ~B10000000); //Logika ujemna dla linii

shiftOut(dataPin, clockPin, LSBFIRST, B10000000); //Dodatnia logika dla zielonych kolumn

shiftOut(dataPin, clockPin, LSBFIRST, B00000000); //Dodatnia logika dla czerwonych kolumn

Uwaga:

Możesz również połączyć obie diody LED (zieloną i czerwoną), aby uzyskać kolor ŻÓŁTY w następujący sposób:

shiftOut(dataPin, clockPin, LSBFIRST, ~B10000000);

shiftOut(dataPin, clockPin, LSBFIRST, B10000000);

shiftOut(dataPin, clockPin, LSBFIRST, B10000000);

Wyświetlacz 7 segmentów

Dla tego rodzaju wyświetlaczy kolejność jest taka sama. Jedyna różnica polega na tym, że nie trzeba używać zielonych diod LED.

1º) CYFRA (1 do 4 od lewej do prawej) ~10000000 (ustaw cyfrę #1)

~01000000 (ustaw cyfrę #2)

~00100000 (ustaw cyfrę #3)

~00010000 (ustaw cyfrę #4)

2º) NIEUŻYWANE

00000000 (wszystkie bity ustawione na zero)

3º) SEGMENTY (A do F i DP - sprawdź arkusz danych wyświetlacza)

10000000 (ustaw segment A)

01000000 (zestaw segment B)

00100000 (zestaw segment C)

00010000 (ustaw segment D)

00001000 (ustaw segment E)

00000100 (ustaw segment F)

00000010 (ustaw segment G)

00000001 (ustaw DP)

Przykład Arduino do ustawienia Display #2 z numerem 3:

shiftOut(dataPin, clockPin, LSBFIRST, ~B01000000); //Ustaw WYŚWIETLACZ 2 (logika ujemna)

shiftOut(dataPin, clockPin, LSBFIRST, 0); //Ustaw dane na zero (nieużywane)

shiftOut(dataPin, clockPin, LSBFIRST, B11110010); //Ustaw segmenty A, B, C, D, G)

Wreszcie, stosując ten proces, możesz kontrolować dowolną diodę LED swojego wyświetlacza, a także możesz tworzyć dowolne znaki specjalne, których potrzebujesz.

Krok 5: Testowanie

Testowanie
Testowanie
Testowanie
Testowanie
Testowanie
Testowanie

Oto dwa programy jako przykład funkcjonalności modułu wyświetlacza.

1) Wyświetlacz odliczania (od 999,9 sekundy do zera)

2) Matryca punktowa (cyfry od 0 do 9 i alfabet od A do Z)

3) Zegar cyfrowy RTC na wyświetlaczu LED z 4 cyframi i 7 segmentami

Ten ostatni jest aktualizacją mojej pierwszej wersji Zegara Cyfrowego.

Krok 6: Wnioski i kolejne kroki

Wnioski i kolejne kroki
Wnioski i kolejne kroki
Wnioski i kolejne kroki
Wnioski i kolejne kroki

Ten moduł będzie przydatny we wszystkich przyszłych projektach, które wymagają wyświetlacza LED.

W kolejnych krokach złożę więcej płytek do pracy z nimi w trybie kaskadowym oraz rozwinę bibliotekę, aby jeszcze bardziej uprościć programowanie.

Mam nadzieję, że podobał Ci się ten projekt.

Proszę o przesłanie mi swoich komentarzy, ponieważ jest to ważne dla ulepszenia projektu i informacji o tej instrukcji.

Pozdrowienia, LAGSILVA

26.maja.2016

Zalecana: