Опубликовано 24.03.2016 9:55:00
Данный модуль собран на базе микросхемы MAX7219 и четырехразрядного семисегментного 0.56" индикатора.
MAX7219, в свою очередь, является светодиодным драйвером управляемым по трем проводам (SPI интерфейс).
• Индикатор: Общий катод, 0.56", четырехразрядный
• Цвет: Красный
• Каскадное подключение модулей: Да
• Раздельное управление LED сегментами индикатора
• Наличие энергосберегающего/спящего режима с сохранением информации (150мкА).
• Управление яркостью свечения
Модули могут подключаться каскадом для управления большим числом индикаторов. Каждый из разрядов индикатора имеет независимую адресацию и его содержимое может быть обновлено без необходимости перезаписи всего индикатора.
• Любые 3 цифровые вывода контроллера
Для работы с данным модулем необходима библиотеке LedControl
В Arduino IDE 1.0.6 и выше, данная библиотека уже включена в список стандартных.
Если же у вас версия ниже, то скачиваем, распаковываем и закидываем в папку libraries в папке Arduino. В случае, если на момент добавления библиотеки, Arduino IDE была открытой, перезагружаем среду.
Информация которая пригодится в программном коде для включения отдельных сегмертов индикатора. Внутри каждого разряда индикатора имется по 7 сегментов (A-G) + 1 точка (DP).
Модуль оборудован пяти-пиновым разъемом стандарта 2.54мм
DIN: Последовательный ввод данных.
На дублирующем разъеме он меняется на DOUT. Служит для каскадного подключения
CLK: Вход тактирования
LOAD: Разрешение приема данных
+5V: Плюс питания
GND: Минус питания
// Тестировалось на Arduino IDE 1.0.6 //Добавляем необходимую библиотеку #include "LedControl.h" /* Инициализация дисплея LedControl lc=LedControl(DIN,CLK,LOAD,количество модулей); DIN,CLK,LOAD можно подключать к любым выводам контроллера */ LedControl lc=LedControl(12,11,10,1); void setup() { /* Во всех функциях, первая цифра в скобочках отвечает за порядковый номер подключаемого модуля. Нумерация производится с 0 MAX7219 по дефолту находится в энергосберегающем/спящем режиме (отключается любое свечение сегментов). Энергосберегающий режим необходимо отключить вызвав функцию */ lc.shutdown(0,false); // функция lc.shutdown(0,true); снова его включит lc.setIntensity(0,10); // яркость свечения, доступные значения от 0 до 15 lc.clearDisplay(0); // Очистка дисплея } void loop() { /* Вывод чисел lc.setDigit(номер модуля,номер сегмента,цифра,наличие точки(DP)); */ lc.setDigit(0,0,1,true); // вывод цифры 1 на 1 разряд с точкой delay(3000); lc.setDigit(0,1,2,false); // вывод цифры 2 на 2 разряд с без точки delay(3000); /* Зажигаем любой сегмент. В примере зажжем сегменты A, D, G lc.setRow(номер модуля,номер разряда,B01001001); где B00000010 отвечает за DP, A, B, C, D, E, F, G */ lc.setRow(0,0,B01001001); delay(3000); lc.clearDisplay(0); delay(1000); }
• Принципиальная схема: z-max7219-4digit-7segment-module.jpg
• Техническое описание микросхемы MAX7219: datasheet
А как же комментарии?