Съдържание:
- Консумативи
- Стъпка 1: Стъпка 1: Създаване на LED матрица
- Стъпка 2: Стъпка 2: Окабеляване на бутоните и регистрите за смяна
- Стъпка 3: Стъпка 3: Качване на кода
- Стъпка 4: Допълнителна информация/ресурси
Видео: LED матрица с бутони: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Този проект може да се мисли като друг въвеждащ проект на Arduino, който е малко по -напреднал от вашия типичен проект „мигащ LED“. Този проект включва LED матрица, бутони, регистрите за смяна (които могат да запазват щифтове на вашата платка Arduino) и ключова концепция, наречена мултиплексиране. Надявам се, че ще намерите просветляващия урок и ще предизвикате себе си да го подобрите!
Консумативи
(1x) Arduino Uno
(5x) Тактилни бутони
(2x) 0,1 uF кондензатори
(2x) 1 uF кондензатори
(8x) 1k резистори
(5x) 10k резистори
(2x) 74HC595 регистри за смяна
Джъмперни проводници
Черен проводник
Червен проводник
Стъпка 1: Стъпка 1: Създаване на LED матрица
Урокът, който използвах, за да направя 8x8 LED матрица в този проект, можете да намерите тук. Съществуват общи конфигурации за LED матрица:
а) Общ аноден анод
б) Общ катоден ред
Тъй като използвах подреждането на общия катоден ред на матрицата, ще го обсъдя главно тук и можете да разширите същата логика до подредбата на общия аноден ред. В подреждането на общия ред катоди катодите на светодиодите (или отрицателните клеми, което е по -късият крак на светодиода) са свързани заедно в редове, докато анодите (или положителните клеми, които са по -дългият крак на светодиода) са свързани заедно в колони. За да се обърнете към определен светодиод, издърпайте катодния ред, на който катодът на LED е нисък, и издърпайте анодната колона, на която LED анодът е на високо.
Забележка: Когато правите LED матрицата, показана в горната връзка, уверете се, че сте свързали анодните колони с резисторите 1k ohm, преди да приложите каквото и да е напрежение към светодиодите.
Стъпка 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
Препоръчано:
Използвайте бутони на вашия Magicbit [Magicblocks]: 5 стъпки
Използвайте бутони на вашия Magicbit [Magicblocks]: Този урок ще ви научи да използвате бутоните на вашия Magicbit с помощта на Magicblocks. Ние използваме magicbit като борда за разработка в този проект, който е базиран на ESP32. Следователно всяка платка за разработка на ESP32 може да се използва в този проект
Скорост и посока на постояннотоковия двигател на Arduino с помощта на потенциометър, OLED дисплей и бутони: 6 стъпки
Arduino контрол на скоростта и посоката на постояннотоков двигател с помощта на потенциометър, OLED дисплей и бутони: В този урок ще научим как да използваме драйвер за L298N DC MOTOR CONTROL и потенциометър за управление на скоростта и посоката на DC двигател с два бутона и показване на стойността на потенциометъра на OLED дисплея. Гледайте демонстрационен видеоклип
4 игри с бутони, използващи един аналогов вход: 6 стъпки (със снимки)
4 игри с бутони, използващи един аналогов вход: Тази инструкция се фокусира върху използването на една линия за аналогов вход за множество бутони, които могат да бъдат открити независимо един от друг. Всички игри (8 в т
Контрол на яркостта ШИМ базиран LED контрол с помощта на бутони, Raspberry Pi и надраскване: 8 стъпки (със снимки)
Контрол на яркостта PWM управление на LED управление с помощта на бутони, Raspberry Pi и Scratch: Опитвах се да намеря начин да обясня как PWM работи на моите ученици, затова си поставих задачата да се опитам да контролирам яркостта на светодиода с помощта на 2 бутона - единият бутон увеличава яркостта на светодиода, а другият го затъмнява. Към програмата
Arduino LED подложка за бутони, която задвижва обработката на анимации: 36 стъпки (със снимки)
Arduino LED подложка за бутони, която задвижва обработката на анимации: Какво Тази подложка за бутони е направена с помощта на печатна платка и други компоненти, произведени от Sparkfun. Задвижва се от Arduino Mega. Всеки бутон е приятен и гъвкав и удовлетворяващ за натискане, а вътре има RGB LED! Използвах го за управление на анимации, които