Съдържание:
- Консумативи
- Стъпка 1: Проверете пакета
- Стъпка 2: Малко за тази конкретна матрица с точки
- Стъпка 3: Драйверът MAX7219
- Стъпка 4: Веригата
- Стъпка 5: Кодът
- Стъпка 6: Изходът
Видео: MAX7219 LED Dot Matrix монтаж и тестване: 6 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Матричният дисплей е дисплейно устройство, което съдържа диоди, излъчващи светлина, подравнени под формата на матрица. Този матричен дисплей се използва в приложения, където символът, графиката, знаците, азбуките, цифрите трябва да се показват заедно в статично, както и Скролиране на движение. Дотричният матричен дисплей се произвежда в различни размери като 5x7, 8x8, 16x8, 128x16, 128x32 и 128x64, където цифрите представляват светодиоди в редове и колони. Също така тези дисплеи се предлагат в различни цветове като червен, зелен, жълт, син, Оранжево, бяло.
В тази инструкция ще премина през свързване на 8x8 Dot Matrix, която има драйвер MAX7219 към Arduino Uno. Нека започнем.
Консумативи
MAX7219
Стъпка 1: Проверете пакета
Както можете да видите, имам smt версия на платката с драйвери, много е важно да проверите всеки необходим компонент, тъй като smd компонентите са много малки по размер и лесно можете да ги загубите. Има и dip версия онлайн, но аз използвах smt версията за нейния размер.
Стъпка 2: Малко за тази конкретна матрица с точки
един модул може да управлява общия катод с 8x8 точкови матрици.
Работно напрежение: 5 v
Размери: дължина 3,2 см X 3,2 см ширина X 1,3 см височина, отвори с четири винта, диаметър 3 мм
Модули с входни и изходни интерфейси, поддръжка за каскадни множество модули.
Клемите за данни IN и OUT са посочени на модула.
Стъпка 3: Драйверът MAX7219
MAX7219 е интегрална схема, предназначена за управление на 8x8 LED MATRIX. IC е драйвер за дисплей с общ катод (Common Negative) за последователен вход, който интерфейсира микропроцесори (или микроконтролер) към 7-сегментни цифрови LED дисплеи с до 8 цифри, дисплеи с лентова диаграма или 64 отделни светодиода.
Характеристики и спецификации
Диапазон на работно напрежение: +4,0 до +5,5V
Препоръчително работно напрежение: +5V
Максимално захранващо напрежение: 6V
Максимален ток, разрешен за изтегляне през всеки сегментен щифт: 100mA
Максимален допустим ток през всеки DIGIT заземен щифт: 500mA
Ниска консумация на енергия
Време за забавяне на данни към сегмента: 2.2mSec
Работна температура: 0 ° C до +70 ° C
Температура на съхранение: -65 ° C до +150 ° C
Стъпка 4: Веригата
Схемата е доста проста и може да бъде изградена с помощта на проводници от мъжки към женски. Просто следвайте извода и изградете веригата. По -късно можете да го сглобите на печатна платка, ако правите постоянно приложение за Matrix.
Пин конфигурацията е следната:
- Vcc към 5V Pin на Arduino.
- Gnd към Gnd Pin на Arduino.
- DIN към цифров пин 12 на Arduino.
- CS към цифров пин 11 на Arduino
- CLK към цифров пин 10 на Arduino.
Стъпка 5: Кодът
Тук в тази инструкция ще ви предоставя два различни кода. Човек ще генерира няколко английски азбуки и усмивки върху Матрицата. Другият ще светне един по един всичките 64 светодиода. Трябва да използвате библиотеката lledcontrol, за да работи.
Това е кодът за английски азбуки и усмивки
#include int DIN = 12; int CS = 11; int CLK = 10; байт e [8] = {0x7C, 0x7C, 0x60, 0x7C, 0x7C, 0x60, 0x7C, 0x7C}; байт d [8] = {0x78, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x78}; байт u [8] = {0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; байт c [8] = {0x7E, 0x7E, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x7E}; осем байта [8] = {0x7E, 0x7E, 0x66, 0x7E, 0x7E, 0x66, 0x7E, 0x7E}; байт s [8] = {0x7E, 0x7C, 0x60, 0x7C, 0x3E, 0x06, 0x3E, 0x7E}; байтова точка [8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18}; байт o [8] = {0x7E, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; байт m [8] = {0xE7, 0xFF, 0xFF, 0xDB, 0xDB, 0xDB, 0xC3, 0xC3}; LedControl lc = LedControl (DIN, CLK, CS, 0); void setup () {lc.shutdown (0, false); // MAX72XX е в енергоспестяващ режим при стартиране lc.setIntensity (0, 15); // Задайте яркостта на максимална стойност lc.clearDisplay (0); // и изчистване на дисплея} void loop () {байт усмивка [8] = {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C}; байтово неутрално [8] = {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C}; байт намръщен [8] = {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C}; printByte (усмивка); забавяне (1000); printByte (неутрален); забавяне (1000); printByte (намръщен); забавяне (1000); printEduc8s (); lc.clearDisplay (0); забавяне (1000); } void printEduc8s () {printByte (e); забавяне (1000); printByte (d); забавяне (1000); printByte (u); забавяне (1000); printByte (c); забавяне (1000); printByte (осем); забавяне (1000); printByte (s); забавяне (1000); printByte (точка); забавяне (1000); printByte (c); забавяне (1000); printByte (o); забавяне (1000); printByte (m); забавяне (1000); } void printByte (байтов знак ) {int i = 0; for (i = 0; i <8; i ++) {lc.setRow (0, i, символ ); }}
и кода за тестване на всичките 64 светодиода
// Винаги трябва да включваме библиотеката#include "LedControl.h"
/*
Сега имаме нужда от LedControl, с който да работим. ***** Тези пинови номера вероятно няма да работят с вашия хардуер ***** пин 12 е свързан към DataIn пин 10 е свързан към CLK пин 11 е свързан към LOAD Имаме само един MAX72XX. */ LedControl lc = LedControl (12, 11, 10, 1);
/ * винаги чакаме малко между актуализациите на дисплея */
неподписан дълъг период на забавяне = 100;
void setup () {
/ * MAX72XX е в режим на пестене на енергия при стартиране, трябва да направим повикване за събуждане */ lc.shutdown (0, false); / * Задайте яркостта на средни стойности */ lc.setIntensity (0, 8); / * и изчистете дисплея */ lc.clearDisplay (0); }
/*
Този метод ще показва символите за думата "Arduino" един след друг в матрицата. (имате нужда от поне 5x7 светодиода, за да видите цели символи) */ void writeArduinoOnMatrix () {/ *тук са данните за знаците */ байт a [5] = {B01111110, B10001000, B10001000, B10001000, B01111110}; байт r [5] = {B00111110, B00010000, B00100000, B00100000, B00010000}; байт d [5] = {B00011100, B00100010, B00100010, B00010010, B11111110}; байт u [5] = {B00111100, B00000010, B00000010, B00000100, B00111110}; байт i [5] = {B00000000, B00100010, B10111110, B00000010, B00000000}; байт n [5] = {B00111110, B00010000, B00100000, B00100000, B00011110}; байт o [5] = {B00011100, B00100010, B00100010, B00100010, B00011100};
/ * сега ги показвайте един по един с малко закъснение */
lc.setRow (0, 0, a [0]); lc.setRow (0, 1, a [1]); lc.setRow (0, 2, a [2]); lc.setRow (0, 3, a [3]); lc.setRow (0, 4, a [4]); забавяне (забавяне); lc.setRow (0, 0, r [0]); lc.setRow (0, 1, r [1]); lc.setRow (0, 2, r [2]); lc.setRow (0, 3, r [3]); lc.setRow (0, 4, r [4]); забавяне (забавяне); lc.setRow (0, 0, d [0]); lc.setRow (0, 1, d [1]); lc.setRow (0, 2, d [2]); lc.setRow (0, 3, d [3]); lc.setRow (0, 4, d [4]); забавяне (забавяне); lc.setRow (0, 0, u [0]); lc.setRow (0, 1, u [1]); lc.setRow (0, 2, u [2]); lc.setRow (0, 3, u [3]); lc.setRow (0, 4, u [4]); забавяне (забавяне); lc.setRow (0, 0, i [0]); lc.setRow (0, 1, i [1]); lc.setRow (0, 2, i [2]); lc.setRow (0, 3, i [3]); lc.setRow (0, 4, i [4]); забавяне (забавяне); lc.setRow (0, 0, n [0]); lc.setRow (0, 1, n [1]); lc.setRow (0, 2, n [2]); lc.setRow (0, 3, n [3]); lc.setRow (0, 4, n [4]); забавяне (забавяне); lc.setRow (0, 0, o [0]); lc.setRow (0, 1, o [1]); lc.setRow (0, 2, o [2]); lc.setRow (0, 3, o [3]); lc.setRow (0, 4, o [4]); забавяне (забавяне); lc.setRow (0, 0, 0); lc.setRow (0, 1, 0); lc.setRow (0, 2, 0); lc.setRow (0, 3, 0); lc.setRow (0, 4, 0); забавяне (забавяне); }
/*
Тази функция осветява няколко светодиода подред. Моделът ще се повтаря на всеки ред. Моделът ще мига заедно с номера на ред. ред номер 4 (индекс == 3) ще мига 4 пъти и т.н. */ void редове () {for (int ред = 0; ред <8; ред ++) {забавяне (забавяне); lc.setRow (0, ред, B10100000); забавяне (забавяне); lc.setRow (0, ред, (байт) 0); за (int i = 0; i
/*
Тази функция осветява някои светодиоди в колона. Моделът ще се повтаря във всяка колона. Моделът ще мига заедно с номера на колоната. колона номер 4 (индекс == 3) ще мига 4 пъти и т.н. */ void columns () {for (int col = 0; col <8; col ++) {delay (delaytime); lc.setColumn (0, col, B10100000); забавяне (забавяне); lc.setColumn (0, col, (байт) 0); за (int i = 0; i
/*
Тази функция ще светне всеки светодиод на матрицата. Светодиодът ще мига заедно с номера на реда. ред номер 4 (индекс == 3) ще мига 4 пъти и т.н. */ void single () {за (int ред = 0; ред <8; ред ++) {за (int col = 0; col <8; col ++) { забавяне (забавяне); lc.setLed (0, ред, колона, вярно); забавяне (забавяне); за (int i = 0; i
void loop () {
writeArduinoOnMatrix (); редове (); колони (); единичен (); }
Стъпка 6: Изходът
Гледайте пълното видео тук: -MAX7219 8x8 LED MATRIX МОНТАЖ И ТЕСТИРАНЕ с помощта на ARDUINO
Е, цялата тази упорита работа със сигурност се отплаща доста добре, когато видите резултата. Заслужава си !!
Абонирайте се за моя youtube канал: -Creative Stuff
Препоръчано:
Dot Matrix 32x8 Max7219 Свързване с Ardiuno: 5 стъпки (със снимки)
Dot Matrix 32x8 Max7219 Взаимодействие с Ardiuno: Здравейте всички, базирани на Dot Matrix или Max7219 не са нови през 2020 г., доскоро процесът на настройка беше добре документиран, човек би изтеглил хардуерна библиотека от MajicDesigns. и промених няколко реда в заглавните файлове и FC16 работеше като чар. Това беше до
IoT Smart Clock Dot Matrix Use Wemos ESP8266 - ESP Matrix: 12 стъпки (със снимки)
IoT Smart Clock Dot Matrix Използвайте Wemos ESP8266-ESP Matrix: Направете свой собствен IoT Smart часовник, който може: Показване на часовник с красива икона за анимация Показване на напомняне-1 до напомняне-5 Показване на календар Показване на мюсюлмански молитви Показване на информация за времето Показване на новини Дисплей Съвети Дисплей Показване на курса на биткойн
Тестване на температурни сензори - кой за мен?: 15 стъпки (със снимки)
Тестване на температурни сензори - кой за мен?: Един от първите сензори, които новодошлите във физическите изчисления искат да изпробват, е нещо за измерване на температурата. Четири от най -популярните сензори са TMP36, който има аналогов изход и се нуждае от аналогово -цифров преобразувател, DS18B20, който
Стенд за тестване на роботи: 8 стъпки (със снимки)
Стенд за тестване на роботи: Имах нужда от a, за да държа колелата на моя YAAR робот (вижте инструкциите за YAAR) от земята за тестване
Как да използвате Tinkercad за тестване и внедряване на вашия хардуер: 5 стъпки (със снимки)
Как да използвате Tinkercad за тестване и внедряване на вашия хардуер: Симулацията на верига е техника, при която компютърният софтуер симулира поведението на електронна схема или система. Новите проекти могат да бъдат тествани, оценявани и диагностицирани, без всъщност да се изгражда веригата или системата. Симулацията на веригата може да бъде