Съдържание:

LED матрица с бутони: 4 стъпки
LED матрица с бутони: 4 стъпки

Видео: LED матрица с бутони: 4 стъпки

Видео: LED матрица с бутони: 4 стъпки
Видео: Wi-fi адресная RGBIC COB LED лента WETEN для Tuya Smart, интеграция в Home Assistant 2024, Ноември
Anonim
LED матрица с бутони
LED матрица с бутони

Този проект може да се мисли като друг въвеждащ проект на Arduino, който е малко по -напреднал от вашия типичен проект „мигащ LED“. Този проект включва LED матрица, бутони, регистрите за смяна (които могат да запазват щифтове на вашата платка Arduino) и ключова концепция, наречена мултиплексиране. Надявам се, че ще намерите просветляващия урок и ще предизвикате себе си да го подобрите!

Консумативи

(1x) Arduino Uno

(5x) Тактилни бутони

(2x) 0,1 uF кондензатори

(2x) 1 uF кондензатори

(8x) 1k резистори

(5x) 10k резистори

(2x) 74HC595 регистри за смяна

Джъмперни проводници

Черен проводник

Червен проводник

Стъпка 1: Стъпка 1: Създаване на LED матрица

Стъпка 1: Създаване на LED матрица
Стъпка 1: Създаване на LED матрица
Стъпка 1: Създаване на LED матрица
Стъпка 1: Създаване на LED матрица
Стъпка 1: Създаване на LED матрица
Стъпка 1: Създаване на LED матрица

Урокът, който използвах, за да направя 8x8 LED матрица в този проект, можете да намерите тук. Съществуват общи конфигурации за LED матрица:

а) Общ аноден анод

б) Общ катоден ред

Тъй като използвах подреждането на общия катоден ред на матрицата, ще го обсъдя главно тук и можете да разширите същата логика до подредбата на общия аноден ред. В подреждането на общия ред катоди катодите на светодиодите (или отрицателните клеми, което е по -късият крак на светодиода) са свързани заедно в редове, докато анодите (или положителните клеми, които са по -дългият крак на светодиода) са свързани заедно в колони. За да се обърнете към определен светодиод, издърпайте катодния ред, на който катодът на LED е нисък, и издърпайте анодната колона, на която LED анодът е на високо.

Забележка: Когато правите LED матрицата, показана в горната връзка, уверете се, че сте свързали анодните колони с резисторите 1k ohm, преди да приложите каквото и да е напрежение към светодиодите.

Стъпка 2: Стъпка 2: Окабеляване на бутоните и регистрите за смяна

Стъпка 2: Свързване на бутоните и регистрите за смяна
Стъпка 2: Свързване на бутоните и регистрите за смяна
Стъпка 2: Окабеляване на бутоните и регистрите за смяна
Стъпка 2: Окабеляване на бутоните и регистрите за смяна
Стъпка 2: Свързване на бутоните и регистрите за смяна
Стъпка 2: Свързване на бутоните и регистрите за смяна
Стъпка 2: Окабеляване на бутоните и регистрите за смяна
Стъпка 2: Окабеляване на бутоните и регистрите за смяна

Кабелите за бутоните и регистрите за смяна са показани по -горе. Бих искал да отбележа, че регистрите за смяна в електрическата схема не показват заземяването (щифт 8 на IC) и Vcc или захранването (щифт 16 на IC) щифтовете за чиповете; заземяващият щифт е свързан към GND щифта на платката Arduino, а Vcc е свързан към 5V щифта на платката Arduino. Vcc изводът на всеки регистър за смяна също е свързан към кондензатор 0.1uF, свързан към земята.

Забележка: Изходите на всеки регистър на смяна са изброени като QA към QH (игнорирайте QH*). Те са изброени по отношение на най -малко значимия бит (LSB) (за QA) до най -значимия бит (MSB) (за QH), т.е. QA ще контролира 0 -ия ред или колона и т.н.

Стъпка 3: Стъпка 3: Качване на кода

Кодът за управление на LED матрицата е приложен към този урок. Опитах се да коментирам възможно най -много кода, за да стане много ясно как работи програмата. Основната основа на програмата е, че има матрица, която следи кои светодиоди трябва да са включени или изключени. За да може различните светодиоди да се показват правилно, без случайно включване на нежелани диоди, трябва да използвате концепция, наречена мултиплексиране. Мултиплексирането по същество осветява отделни светодиоди в определен ред, докато всички останали светодиоди в други редове, след което прави същото за останалите редове. Номерът е, че ако светодиодите преминават през редовете достатъчно бързо, очите ви могат да разберат, че отделните редове светят един по един. Ако искате да проучите повече начини, по които можете да излъжете очите си със светодиоди, може да искате да разгледате концепцията за постоянство на зрението (лесно търсене в Google или Instructables).

Начинът, по който се актуализират анодните колони и катодните редове, е чрез дефинирана от потребителя функция, наречена „UpdateShiftRegisters“. Тази функция първо завърта фиксатора, който контролира дали нов байт (8 бита) е изпратен към изхода, ниско, така че не са възможни промени в изходите, докато се записват нови битове. След това използвайки вградена функция Arduino, наречена „ShiftOut“, която специално обработва изпращането на данни към регистрите за смяна, програмата записва кой ред (катод) ще бъде нисък и кои (анодни) колони трябва да са високи. И накрая, фиксаторът се издърпва високо, за да се актуализира изхода (светодиодите).

Стъпка 4: Допълнителна информация/ресурси

Ето някои връзки към уебсайтове или книги, които могат да дадат допълнителна информация относно този проект:

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

Първи стъпки с Arduino, второ издание от Massimo Banzi

Препоръчано: