Оглавление:
- Запасы
- Шаг 1. Проверьте пакет
- Шаг 2: Немного об этой конкретной матрице точек
- Шаг 3. Драйвер MAX7219
- Шаг 4: Схема
- Шаг 5: Код
- Шаг 6: Вывод
Видео: Сборка и тестирование светодиодной точечной матрицы MAX7219: 6 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Точечно-матричный дисплей - это устройство отображения, которое содержит светоизлучающие диоды, выровненные в виде матрицы. Эти матричные дисплеи используются в приложениях, где символы, графика, символы, алфавиты, цифры должны отображаться вместе в статике, а также Прокрутка движения. Точечный матричный дисплей изготавливается в различных размерах, таких как 5x7, 8x8, 16x8, 128x16, 128x32 и 128x64, где числа представляют светодиоды в строках и столбцах, а также эти дисплеи бывают разных цветов, таких как красный, зеленый, желтый, синий, Оранжевый, Белый.
В этом руководстве я расскажу о том, как подключить матрицу 8x8 с драйвером MAX7219 к Arduino Uno. Приступим.
Запасы
MAX7219
Шаг 1. Проверьте пакет
Как вы можете видеть, у меня есть smt-версия платы драйвера, очень важно проверить все необходимые компоненты, так как компоненты smd очень маленькие по размеру, и вы можете легко их потерять. Есть также версия dip, доступная в Интернете, но я использовал версия smt для своего размера.
Шаг 2: Немного об этой конкретной матрице точек
Один модуль может управлять общим катодом с точечной матрицей 8x8.
Рабочее напряжение: 5 В
Размеры: длина 3,2 см, ширина 3,2 см, высота 1,3 см, отверстия под четыре винта, диаметр 3 мм.
Модули с интерфейсами ввода и вывода, поддержка каскадирования нескольких модулей.
Клеммы Data IN и OUT указаны на модуле.
Шаг 3. Драйвер MAX7219
MAX7219 - это ИС, предназначенная для управления светодиодной матрицей 8x8. ИС представляет собой драйверы дисплея с общим катодом (общий отрицательный) с последовательным входом, которые связывают микропроцессоры (или микроконтроллер) с 7-сегментными цифровыми светодиодными дисплеями до 8 цифр, гистограммами или 64 отдельными светодиодами.
Особенности и характеристики
Диапазон рабочего напряжения: от +4,0 до +5,5 В
Рекомендуемое рабочее напряжение: +5 В
Максимальное напряжение питания: 6 В
Максимальный ток, разрешенный для прохождения через каждый вывод сегмента: 100 мА
Максимальный допустимый ток через каждый ЦИФРОВОЙ вывод заземления: 500 мА
Низкое энергопотребление
Время задержки передачи данных в сегмент: 2,2 мс
Рабочая температура: от 0 ° C до + 70 ° C
Температура хранения: от -65 ° C до + 150 ° C
Шаг 4: Схема
Схема довольно проста и может быть построена с использованием перемычек «папа-мама». Просто следуйте распиновке и соберите схему. Вы можете позже собрать его на печатной плате, если вы делаете постоянное приложение для Matrix.
Конфигурация контактов следующая:
- Vcc на вывод 5V Arduino.
- Gnd к контакту Gnd Arduino.
- DIN к цифровому контакту 12 Arduino.
- CS к цифровому выводу 11 Arduino
- CLK к цифровому выводу 10 Arduino.
Шаг 5: Код
В этом руководстве я предоставлю вам два разных кода. Один из них будет генерировать несколько английских алфавитов и смайликов на Матрице. Другой, чтобы все 64 светодиода загорелись один за другим. Вы должны использовать библиотеку lledcontrol, чтобы она работала.
Это код для английских алфавитов и смайлов.
# включить 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 () {byte smile [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 (е); задержка (1000); printByte (d); задержка (1000); printByte (u); задержка (1000); printByte (c); задержка (1000); printByte (восемь); задержка (1000); printByte (s); задержка (1000); printByte (точка); задержка (1000); printByte (c); задержка (1000); printByte (o); задержка (1000); printByte (м); задержка (1000); } void printByte (байтовый символ ) {int i = 0; для (я = 0; я <8; я ++) {lc.setRow (0, я, символ [я]); }}
и код для тестирования всех 64 светодиодов
// Мы всегда должны включать библиотеку # include "LedControl.h"
/*
Теперь нам нужен LedControl для работы. ***** Эти номера контактов, вероятно, не будут работать с вашим оборудованием. ***** Контакт 12 подключен к DataIn, контакт 10 подключен к CLK, контакт 11 подключен к LOAD. У нас есть только один MAX72XX. * / LedControl lc = LedControl (12, 11, 10, 1);
/ * мы всегда немного выжидаем между обновлениями дисплея * /
unsigned long delaytime = 100;
void setup () {
/ * MAX72XX находится в режиме энергосбережения при запуске, мы должны сделать пробуждение * / lc.shutdown (0, false); / * Устанавливаем средние значения яркости * / lc.setIntensity (0, 8); / * и очищаем отображение * / lc.clearDisplay (0); }
/*
Этот метод будет отображать символы слова «Arduino» один за другим на матрице. (вам нужно не менее 5x7 светодиодов, чтобы увидеть все символы) * / void writeArduinoOnMatrix () {/ * вот данные для символов * / byte 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]); delay (время задержки); 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]); delay (время задержки); 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]); delay (время задержки); 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]); delay (время задержки); lc.setRow (0, 0, я [0]); lc.setRow (0, 1, я [1]); lc.setRow (0, 2, я [2]); lc.setRow (0, 3, я [3]); lc.setRow (0, 4, я [4]); delay (время задержки); 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]); delay (время задержки); 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]); delay (время задержки); 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); delay (время задержки); }
/*
Эта функция загорается несколькими светодиодами подряд. Шаблон будет повторяться в каждом ряду. Шаблон будет мигать вместе с номером строки. строка номер 4 (index == 3) мигнет 4 раза и т. д. * / void rows () {for (int row = 0; row <8; row ++) {delay (delaytime); lc.setRow (0, строка, B10100000); delay (время задержки); lc.setRow (0, строка, (байт) 0); для (int i = 0; i
/*
Эта функция загорается несколькими светодиодами в столбце. Шаблон будет повторяться в каждом столбце. Шаблон будет мигать вместе с номером столбца. столбец номер 4 (index == 3) мигнет 4 раза и т. д. * / void columns () {for (int col = 0; col <8; col ++) {delay (delaytime); lc.setColumn (0, столбец, B10100000); delay (время задержки); lc.setColumn (0, столбец, (байт) 0); для (int i = 0; i
/*
Эта функция загорится каждым светодиодом на матрице. Светодиод будет мигать вместе с номером строки. номер строки 4 (index == 3) мигнет 4 раза и т. д. * / void single () {for (int row = 0; row <8; row ++) {for (int col = 0; col <8; col ++) { delay (время задержки); lc.setLed (0, строка, столбец, истина); delay (время задержки); для (int i = 0; i
void loop () {
writeArduinoOnMatrix (); строки (); столбцы (); Один(); }
Шаг 6: Вывод
Смотрите полное видео здесь: -MAX7219 8x8 LED MATRIX СБОРКА И ИСПЫТАНИЕ с использованием ARDUINO
Что ж, вся эта тяжелая работа, несомненно, хорошо окупается, когда вы видите результат. Это стоит того !!
Подпишитесь на мой канал на YouTube: -Creative Stuff
Рекомендуемые:
Цифровые часы со светодиодной точечной матрицей - приложение ESP Matrix для Android: 14 шагов
Цифровые часы со светодиодной точечной матрицей - приложение ESP Matrix для Android: эта статья с гордостью спонсируется PCBWAY. Компания PCBWAY создает высококачественные прототипы печатных плат для людей во всем мире. Попробуйте сами и получите 10 печатных плат всего за 5 долларов на PCBWAY с очень хорошим качеством, спасибо PCBWAY. Матричная плата ESP, которую я разработал
Подключение светодиодной матрицы Arduino к Utsource: 9 шагов (с изображениями)
Подключение светодиодной матрицы Arduino к Utsource: Светодиодная матрица или светодиодный дисплей - это большая форма точечно-матричного дисплея с низким разрешением, полезная как для промышленных и коммерческих информационных дисплеев, так и для интерфейсов человек-машина для любителей. Он состоит из двумерной диодной матрицы с катодом
Цилиндр светодиодной матрицы: 8 ступеней (с изображениями)
Цилиндр светодиодной матрицы: в этой светодиодной матрице используются стандартные светодиодные ленты WS2812b для создания матрицы цилиндрической формы с красивой отделкой из деревянного шпона. Список деталей: картон 790x384 1,5 мм (возможны и другие размеры, но данные CAD должны быть изменены) 100 WS2812b Светодиод от светодиода
Использование светодиодной матрицы в качестве сканера: 8 шагов (с изображениями)
Использование светодиодной матрицы в качестве сканера: обычные цифровые камеры работают с использованием большого массива световых датчиков для захвата света, отраженного от объекта. В этом эксперименте я хотел посмотреть, смогу ли я построить камеру заднего вида: вместо набора световых датчиков я
Установка светодиодной матрицы в старый корпус электроники - требуется покупка комплекта: 3 шага (с изображениями)
Установка светодиодной матрицы в старый корпус электроники - требуется приобретение комплекта: светодиодный дисплей управляется с ПК с Windows через Bluetooth и методы рассеивания светодиода. Некоторые примеры пиксельной графики и анимации, запускаемые на светодиодном дисплее. Содержание комплекта PIXEL Guts Kit В этом руководстве мы: ll