Съдържание:

48 X 8 превъртащ се LED матричен дисплей, използващ Arduino и Shift регистри: 6 стъпки (със снимки)
48 X 8 превъртащ се LED матричен дисплей, използващ Arduino и Shift регистри: 6 стъпки (със снимки)

Видео: 48 X 8 превъртащ се LED матричен дисплей, използващ Arduino и Shift регистри: 6 стъпки (със снимки)

Видео: 48 X 8 превъртащ се LED матричен дисплей, използващ Arduino и Shift регистри: 6 стъпки (със снимки)
Видео: Работа с матричными индикаторами 2024, Ноември
Anonim
48 X 8 Скролиращ LED матричен дисплей с помощта на Arduino и Shift регистрите
48 X 8 Скролиращ LED матричен дисплей с помощта на Arduino и Shift регистрите
48 X 8 Скролиращ LED матричен дисплей с помощта на Arduino и Shift регистрите
48 X 8 Скролиращ LED матричен дисплей с помощта на Arduino и Shift регистрите

Здравейте всички

Това е първият ми Instructable и всичко е свързано с направата на 48 x 8 програмируема скролираща LED матрица с помощта на регистрите за смяна Arduino Uno и 74HC595. Това беше първият ми проект с дъска за разработка на Arduino. Това беше предизвикателство, дадено ми от моя учител. По това време, когато приех това предизвикателство, дори не знаех как да мига светодиод с помощта на arduino. Така че, мисля, че дори начинаещият може да направи това с малко търпение и разбиране. Започнах с малко проучване за регистрите за смяна и мултиплексирането в arduino. Ако сте нови в смяната на регистрите, препоръчвам да научите основите на мултиплексирането и регистрите на смяна на маргаритки, преди да започнете с матриците. Това ще ви помогне много да разберете кода и работата на превъртащия се дисплей.

Стъпка 1: Събиране на инструменти и компоненти

Събиране на инструменти и компоненти
Събиране на инструменти и компоненти

Компоненти

  • 1. Arduino Uno R3 - 1
  • 2. 74HC595 8 -битови последователни към паралелни регистри за смяна. - 7
  • 3. BC 548/2N4401 Транзистори - 8
  • 4. 470 ома резистори - брой колони + 8
  • 5. Предварителна дъска 6x4 инча - 4
  • 6. Цветно кодирани проводници - според изискванията
  • 7. IC държачи - 7
  • 8. 5 mm или 3 mm 8x8 обща катодна моноцветна LED матрица - 6
  • 9. Мъжки и женски заглавки - според изискванията.

Необходими инструменти

  • 1. Комплект за запояване
  • 2. Мултиметър
  • 3. Пистолет за лепило
  • 4. Помпа за разпояване
  • 5. 5V захранване

Стъпка 2: Изграждане на верига върху макета

Изграждане на верига върху платка
Изграждане на верига върху платка
Изграждане на верига върху платка
Изграждане на верига върху платка
Изграждане на верига върху платка
Изграждане на верига върху платка
Изграждане на верига върху платка
Изграждане на верига върху платка

Първото нещо, което трябва да направите, преди да изградите прототипа, е да получите пин диаграма на вашата 8x8 матрица и да маркирате референтна точка за идентифициране на щифтовете във всички ваши матрици. Това може да ви помогне при сглобяването на веригата.

Прикрепил съм щифтова диаграма на матричния модул, който съм използвал тук. В моя модул редовете бяха отрицателни щифтове. Тази диаграма на щифтове остава същата за повечето модули на пазара.

В схемата е показано, че за управление на 8 -те реда се използва един регистър на смяна, а за контролиране на колоните използваме един регистър на смяна за всеки 8 колони.

Нека изградим прост превъртащ се дисплей с размери 8 x 8 на дъската.

Веригата е разделена на две части - управление на ред и управление на колона. Нека първо изградим контрола на колоната.

Пин 4 от arduino е свързан към Pin 14 (SER) на регистъра за смяна. (Това е входният щифт за серийни данни на регистъра за смяна. Логическите нива, необходими за включване на светодиодите, се подават през този щифт

Пин 3 от arduino е свързан към Pin 12 (RCLK) на регистъра за смяна. (Нека назовем този щифт като изходен часовник. Данните в паметта на регистрите за смяна се изтласкват към изхода, когато този часовник се задейства.)

Пин 2 от arduino е свързан към Pin 11 (SRCLK) на регистъра за смяна. (Това е входният часовник, който прехвърля данните в паметта.)

VCC +5V се дава на регистъра за смяна чрез неговия Pin 16 и той е свързан към Pin 10. (Защо? Pin 10 е SRCLR Pin, който изчиства данните в регистъра за смяна при задействане. Това е активен нисък пин, така че, за да се запазят данните в паметта на регистъра за смяна, този щифт трябва да бъде снабден с +5V през цялото време.)

Заземяването е свързано както към GND Pin (Pin 8 на регистъра за смяна), така и към OE Pin (Pin 13 на регистъра за смяна). (Защо? Изводът за разрешаване на изхода трябва да се задейства, за да дава изходи според тактовия сигнал. Това е активен нисък щифт, точно като пина SRCLR, така че трябва да се поддържа в основно състояние през цялото време, за да се даде възможност на изходи.)

Щифтовете на колоните на матрицата са свързани към регистъра на изместване, както е показано на електрическата схема с резистор 470 ома между матрицата и регистъра на изместване

Сега за веригата за управление на реда.

Пин 7 от arduino е свързан към Pin 14 (SER) на регистъра за смяна

Пин 5 от arduino е свързан към Pin 11 (SRCLK) на регистъра за смяна

Пин 6 от arduino е свързан към Pin 12 (RCLK) на регистъра за смяна

VCC +5V се дава на Pin 16 и Pin 10, както е описано по -горе

Заземяването е свързано към Pin 8 и Pin 13

Както споменах по -горе, редовете бяха отрицателните щифтове в моя случай. По -добре е да вземете отрицателните щифтове на матрицата си като редове на дисплея. Земната връзка трябва да бъде превключена към тези отрицателни щифтове с помощта на транзистори BC548/2N4401, които се управляват от изходните логически нива на регистъра за смяна. Така че колкото повече отрицателни щифтове, толкова повече транзистори имаме нужда

Дайте редните връзки, както е показано на електрическата схема

Ако сте успели да направите прототип на 8 x 8 матричен дисплей, можете просто да копирате частта от веригата за управление на колони и да разширите матрицата до произволен брой колони. Просто трябва да добавите по 74HC595 за всеки 8 колони (един модул 8 x 8) и да го свържете с предишната.

Дейзи, свързваща регистрите за смяна за добавяне на още колони

Дейзи веригата в електротехниката е схема на окабеляване, при която множество устройства са свързани в последователност.

Механизмът е прост: щифтовете SRCLK (входен часовник. Пин 11) и RCLK (изходен часовник. Пин 12) се споделят между всички вериги за смяна на маргаритки, докато всеки QH PIN (Пин 9) от предишния регистър на смяна в веригата се използва като сериен вход за следния регистър на смяна чрез PIN кода на SER (Pin 14).

С прости думи, чрез последователно свързване на регистрите за смяна, те могат да бъдат управлявани като единичен регистър за смяна с по -голяма памет. Например, ако свържете последователно два 8 -битови регистъра за смяна, те ще работят като единични 16 -битови регистри за смяна.

Кодът

В кода захранваме колоните със съответните логически нива според входа, докато сканираме по редовете. Символите от A до Z са дефинирани в кода като логически нива в байтов масив. Всеки знак е с ширина 5 пиксела и височина 7 пиксела. Дал съм по -подробно обяснение за работата на кода като коментари в самия код.

Кодът на Arduino е приложен тук.

Стъпка 3: Запояване

Запояване
Запояване
Запояване
Запояване
Запояване
Запояване

За да направя споената верига по -лесна за разбиране, направих я възможно най -голяма и дадох отделни платки за контролерите за редове и колони и ги свързах заедно с помощта на заглавки и проводници. Можете да го направите много по -малък чрез запояване на компонентите по -близо един до друг или ако сте добри в проектирането на печатни платки, можете да направите и по -малка персонализирана печатна платка.

Не забравяйте да поставите резистор от 470 ома към всеки щифт, водещ към матрицата. Винаги използвайте заглавки, за да свържете LED матриците към платката. По -добре е да не ги запоявате директно към дъската, тъй като продължителното излагане на топлина може да ги повреди трайно.

Тъй като съм направил отделни табла за контролите за редове и колони, удължих проводниците от една платка към друга, за да свържа колоните. Тук дъската в горната част е за контролиране на редовете, а дъската в долната част е за контролиране на колоните.

просто се нуждае само от един 74HC595, за да задвижва всичките 8 реда. Но въз основа на броя колони, трябва да се добавят още регистри за смяна, няма теоретично ограничение за броя колони, които можете да добавите към тази матрица. Колко голям можете да го направите? Кажете ми, когато стигнете там!;)

Стъпка 4: Тестване на завършената първа половина на веригата

Тестване на завършената първа половина на веригата
Тестване на завършената първа половина на веригата

Винаги го тествайте наполовина, за да намерите възможни грешки като разхлабени връзки, грешна връзка на пин и т.н.: Много хора, които ме помолиха за помощ при намирането на грешката в тяхната матрица, са направили грешката си с изваждането на колона от ред на матричния модул. Проверете го два пъти преди запояване и използвайте цветно кодирани проводници, за да различите лесно щифтовете.

Стъпка 5: Изграждане на второто полувреме

Изграждане на втората половина
Изграждане на втората половина
Изграждане на втората половина
Изграждане на втората половина
Изграждане на втората половина
Изграждане на втората половина

Удължете същата верига за управление на колоната. Редовете са свързани последователно с предишния.

Щифтовете SRCLK и RCLK се вземат паралелно и QH (Серийни данни излизат. Пин 9) на последния регистър на смяна на завършената верига е свързан към SER (Serial Data in. Pin 14) на следващия регистър на смяна. Мощността на VCC и GND също се споделят между всички интегрални схеми.

Стъпка 6: Резултатът

Image
Image

След като приключите със запояването, следващата стъпка е да направите кутия за вашия дисплей. Винаги е по -добре да проектирате персонализиран калъф с помощта на Fusion 360 или друг инструмент за 3D дизайн и да отпечатате 3D калъфа. Тъй като по това време нямах достъп до 3D печат, направих дървена кутия с помощта на приятел, който е добър в дървообработването.

Надявам се да ви е харесало да прочетете тази инструкция. Публикувайте снимките на вашата версия на този проект в секцията за коментари по -долу и Ако имате въпроси, не се колебайте да ги зададете тук или да изпратите имейл на [email protected]. Ще се радвам да ви помогна.

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