Оглавление:

Учебное пособие по 7-сегментному дисплею Arduino MAX7219: 5 шагов
Учебное пособие по 7-сегментному дисплею Arduino MAX7219: 5 шагов

Видео: Учебное пособие по 7-сегментному дисплею Arduino MAX7219: 5 шагов

Видео: Учебное пособие по 7-сегментному дисплею Arduino MAX7219: 5 шагов
Видео: Raspberry Pi Pico, 7-сегментные дисплеи и сдвиговые регистры 74hc595 2024, Июль
Anonim
Учебное пособие по 7-сегментному дисплею Arduino MAX7219
Учебное пособие по 7-сегментному дисплею Arduino MAX7219

MAX7219 - это ИС, которая используется для управления 7-сегментными светодиодами (до 8 цифр), блочными дисплеями (столбчатыми дисплеями) и 64 отдельными светодиодами, которые являются общими катодами. Для связи с микроконтроллером MAX7219 использует систему связи SPI. Так что для управления 64 светодиодами нужно всего 3 порта микроконтроллера.

В этой статье я покажу вам, как использовать 7-сегментный модуль, который использует IC MAX7219 в качестве драйвера.

Необходимые компоненты:

  • MAX7219 7-сегментный модуль
  • Ардуино Нано
  • провод перемычка
  • USB мини

Требуемая библиотека:

LedControl

В этом уроке я использую плату Arduino Nano. Если вы никогда им не пользовались. Предлагаю прочитать мою предыдущую статью «Как использовать Arduino Nano».

Шаг 1: соберите все компоненты

Собрать все компоненты
Собрать все компоненты

Подключите плату Arduino к 7-сегментному модулю. Смотрите картинку или инструкцию, которые я написал ниже:

Arduino на 7 сегментов

+ 5 В => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS / НАГРУЗКА

Шаг 2. Добавьте библиотеку

Добавить библиотеку
Добавить библиотеку

После того, как цепь будет завершена. Добавьте библиотеку «LedControl» в IDE Arduino.

Чтобы добавить библиотеку в Arduino, вы можете прочитать ее в статье «Как добавить внешнюю библиотеку в Arduino», которую я написал ранее ».

Шаг 3: Дополнительные функции

Дополнительные функции
Дополнительные функции

После добавления библиотеки LedControl. Вы можете использовать дополнительные функции для управления 7-сегментным модулем.

Аргумент

addr - адрес дисплея

цифра - позиция цифры на дисплее (0..7) значение - значение, которое будет отображаться. (0x00..0x0F)

dp устанавливает десятичную точку.

Функция

setChar (адрес, цифра, значение.dp); // для отображения значения типа char для 7-битной кодировки ASCII

setDigit (адрес, цифра, значение, логическое значение dp); // для отображения цифр и символов в одной функции setRow (addr, digit, value, boolean dp); // чтобы отобразить объект в нужной цифре

Подробнее читайте здесь.

Шаг 4. Загрузите эскиз

Загрузить эскиз
Загрузить эскиз

Я сделал набросок для испытания этого 7-сегментного модуля. Вы можете скопировать приведенный ниже код и вставить его в свой набросок.

// Мы всегда должны включать библиотеку

#include "LedControl.h"

/*

Теперь нам нужен LedControl для работы. ***** Эти номера контактов, вероятно, не будут работать с вашим оборудованием *****

пин 12 подключен к DataIn

вывод 11 подключен к CLK

контакт 10 подключен к НАГРУЗКЕ

У нас только один MAX72XX.

*/

LedControl lc = LedControl (12, 11, 10, 1);

/ * мы всегда немного выжидаем между обновлениями дисплея * /

unsigned long delaytime = 500;

void setup () {

/ * MAX72XX находится в режиме энергосбережения при запуске, мы должны сделать пробуждение * /

lc.shutdown (0, ложь);

/ * Устанавливаем средние значения яркости * /

lc.setIntensity (0, 8);

/ * и очистить дисплей * /

lc.clearDisplay (0);}

void hello () {

lc.setChar (0, 7, 'H', ложь);

lc.setChar (0, 6, 'E', ложь);

lc.setChar (0, 5, 'L', ложь);

lc.setChar (0, 4, 'L', ложь);

lc.setChar (0, 3, '0', ложь);

lc.setChar (0, 2, '.', ложь);

lc.setChar (0, 1, '.', ложь);

lc.setChar (0, 0, '.', ложь);

задержка (время задержки + 1000);

lc.clearDisplay (0);

delay (время задержки);

lc.setDigit (0, 7, 1, ложь);

delay (время задержки);

lc.setDigit (0, 6, 2, ложь);

delay (время задержки);

lc.setDigit (0, 5, 3, ложь);

delay (время задержки);

lc.setDigit (0, 4, 4, ложь);

delay (время задержки);

lc.setDigit (0, 3, 5, ложь);

delay (время задержки);

lc.setDigit (0, 2, 6, ложь);

delay (время задержки);

lc.setDigit (0, 1, 7, ложь);

delay (время задержки);

lc.setDigit (0, 0, 8, ложь);

задержка (1500);

lc.clearDisplay (0);

delay (время задержки);

}

void loop () {привет ();

}

Или скачайте файл ниже:

Шаг 5: Результат

Радуйтесь результату.

Если есть вопросы, просто напишите их в колонке комментариев.

Увидимся в следующей статье.

Рекомендуемые: