Spisu treści:

Matryca LED przycisków: 4 kroki
Matryca LED przycisków: 4 kroki

Wideo: Matryca LED przycisków: 4 kroki

Wideo: Matryca LED przycisków: 4 kroki
Wideo: Naprawa Podswietlenia Led w telewizorze Samsung 40-65 cali 2024, Lipiec
Anonim
Matryca LED przycisku
Matryca LED przycisku

Ten projekt można traktować jako kolejny wprowadzający projekt Arduino, który jest nieco bardziej zaawansowany niż typowy projekt „miganie diody LED”. Ten projekt zawiera matrycę LED, przyciski, rejestry przesuwne (które mogą zapisywać piny na płycie Arduino) oraz kluczową koncepcję zwaną multipleksowaniem. Mam nadzieję, że samouczek okaże się dla Ciebie pouczający i podejmij wyzwanie, aby go ulepszyć!

Kieszonkowe dzieci

(1x) Arduino Uno

(5x) Przyciski dotykowe

(2x) Kondensatory 0,1 uF

(2x) 1 uF Kondensatory

(8x) 1k Rezystory

(5x) 10k rezystorów

(2x) 74HC595 rejestry przesuwne

Przewody połączeniowe

Czarny drut

Czerwony przewód

Krok 1: Krok 1: Tworzenie matrycy LED

Krok 1: Tworzenie matrycy LED
Krok 1: Tworzenie matrycy LED
Krok 1: Tworzenie matrycy LED
Krok 1: Tworzenie matrycy LED
Krok 1: Tworzenie matrycy LED
Krok 1: Tworzenie matrycy LED

Samouczek, którego użyłem do wykonania matrycy LED 8x8 w tym projekcie, można znaleźć tutaj. Istnieją wspólne konfiguracje matryc LED:

a) Anoda wspólnego rzędu

b) Katoda wspólnego rzędu

Ponieważ użyłem układu matrycy Common Row Cathode, omówię to głównie tutaj i możesz rozszerzyć tę samą logikę na układ Common Row Anode. W układzie Common Row Cathode katody diod LED (lub ujemne zaciski, które są krótszą nogą diody LED) są połączone ze sobą w rzędach, podczas gdy anody (lub dodatnie zaciski, które są dłuższą nogą diody LED) są połączone ze sobą w kolumnach. Aby zaadresować konkretną diodę LED, przeciągnij wiersz katody, w którym katoda LED jest na niskim poziomie, i przeciągnij kolumnę anodową, że anoda LED jest na wysokim poziomie.

Uwaga: Tworząc matrycę LED pokazaną w powyższym łączu, upewnij się, że kolumny anodowe zostały połączone z rezystorami 1 kΩ przed podaniem napięcia na diody LED.

Krok 2: Krok 2: Okablowanie przycisków i rejestrów przesuwnych

Krok 2: Okablowanie przycisków i rejestrów przesuwnych
Krok 2: Okablowanie przycisków i rejestrów przesuwnych
Krok 2: Okablowanie przycisków i rejestrów przesuwnych
Krok 2: Okablowanie przycisków i rejestrów przesuwnych
Krok 2: Okablowanie przycisków i rejestrów przesuwnych
Krok 2: Okablowanie przycisków i rejestrów przesuwnych
Krok 2: Okablowanie przycisków i rejestrów przesuwnych
Krok 2: Okablowanie przycisków i rejestrów przesuwnych

Okablowanie przycisków i rejestrów przesuwnych pokazano powyżej. Chciałbym zauważyć, że rejestry przesuwne na schemacie obwodu nie pokazują masy (pin 8 układu scalonego) i Vcc lub zasilacza (pin 16 układu scalonego) dla chipów; pin uziemienia jest podłączony do pinu GND płyty Arduino, a Vcc jest podłączony do pinu 5 V płyty Arduino. Pin Vcc każdego rejestru przesuwnego jest również podłączony do kondensatora 0,1uF podłączonego do masy.

Uwaga: Wyjścia każdego rejestru przesuwnego są wymienione jako QA do QH (ignoruj QH*). Są one wymienione w kategoriach od najmniej znaczącego bitu (LSB) (dla QA) do najbardziej znaczącego bitu (MSB) (dla QH), tj. Kontrola jakości kontrolowałaby zerowy wiersz lub kolumnę itd.

Krok 3: Krok 3: Przesyłanie kodu

Do tego samouczka dołączony jest kod do sterowania matrycą LED. Próbowałem zakomentować jak najwięcej kodu, aby było bardzo jasne, jak działa program. Główną podstawą programu jest matryca, która śledzi, które diody LED powinny być włączone lub wyłączone. Aby różne diody LED wyświetlały się prawidłowo bez przypadkowego włączania niepożądanych diod, należy zastosować koncepcję zwaną multipleksowaniem. Multipleksowanie polega zasadniczo na zapalaniu poszczególnych diod LED w danym rzędzie, podczas gdy wszystkie inne diody LED w innych rzędach, a następnie robią to samo dla pozostałych rzędów. Sztuczka polega na tym, że jeśli diody LED przechodzą przez rzędy wystarczająco szybko, twoje oczy mogą stwierdzić, że poszczególne rzędy są zapalane pojedynczo. Jeśli chcesz zbadać więcej sposobów na oszukiwanie oczu za pomocą diod LED, możesz przyjrzeć się koncepcji trwałości widzenia (łatwo przeszukiwać w Google lub Instructables).

Sposób aktualizacji kolumn anodowych i rzędów katod odbywa się za pomocą funkcji zdefiniowanej przez użytkownika o nazwie „UpdateShiftRegisters”. Ta funkcja najpierw ustawia pin zatrzasku, który kontroluje, czy nowy bajt (8 bitów) jest wysyłany na wyjście, w stan niski, więc żadne zmiany na wyjściach nie są możliwe podczas zapisywania nowych bitów do układu. Następnie za pomocą wbudowanej funkcji Arduino o nazwie „ShiftOut”, która w szczególności obsługuje wysyłanie danych do rejestrów przesuwnych, program zapisuje, który wiersz (katoda) byłby niski, a które kolumny (anodowe) powinny być wysokie. Wreszcie pin zatrzasku jest wyciągany wysoko, aby zaktualizować wyjście (diody LED).

Krok 4: Dodatkowe informacje/zasoby

Oto kilka linków do stron internetowych lub książek, które mogą zawierać dodatkowe informacje dotyczące tego projektu:

learn.adafruit.com/adafruit-arduino-lesson-4-eight-leds/arduino-code

www.arduino.cc/en/tutorial/ShiftOut

www.ti.com/lit/ds/symlink/sn74hc595.pdf

www.youtube.com/watch?v=7VYxcgqPe9A

www.youtube.com/watch?v=VxMV6wGS3NY

Pierwsze kroki z Arduino, 2nd Edition autorstwa Massimo Banzi

Zalecana: