Съдържание:

MAX7219 LED Dot Matrix монтаж и тестване: 6 стъпки (със снимки)
MAX7219 LED Dot Matrix монтаж и тестване: 6 стъпки (със снимки)

Видео: MAX7219 LED Dot Matrix монтаж и тестване: 6 стъпки (със снимки)

Видео: MAX7219 LED Dot Matrix монтаж и тестване: 6 стъпки (със снимки)
Видео: WiFi Часы Информер на max7219 и NodeMcu + корпус в 3Д 2024, Юли
Anonim
Image
Image
Проверете пакета
Проверете пакета

Матричният дисплей е дисплейно устройство, което съдържа диоди, излъчващи светлина, подравнени под формата на матрица. Този матричен дисплей се използва в приложения, където символът, графиката, знаците, азбуките, цифрите трябва да се показват заедно в статично, както и Скролиране на движение. Дотричният матричен дисплей се произвежда в различни размери като 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
Драйверът MAX7219
Драйверът MAX7219
Драйверът 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: Изходът

Image
Image
Изходът
Изходът
Изходът
Изходът
Изходът
Изходът

Гледайте пълното видео тук: -MAX7219 8x8 LED MATRIX МОНТАЖ И ТЕСТИРАНЕ с помощта на ARDUINO

Е, цялата тази упорита работа със сигурност се отплаща доста добре, когато видите резултата. Заслужава си !!

Абонирайте се за моя youtube канал: -Creative Stuff

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