Содержание



Модуль 1 - разрядного индикатора

Описание

Модуль светодиодного индикатора предназначен для отображения цифровой и символьной информации. В основе модуля лежит одноразрядный светодиодный индикатор из 7 красных сегментов и 1 точки.

Для управления матрицей используется микросхема MAX7219. С ее помощью для управления модулем потребуется всего три цифровых вывода контроллера.

Для удобства крепления на плате предусмотрены 2 монтажных отверстия под винты М3.

Технические характеристики

Размеры

Для индикатора 0,8″

Для индикатора 0,56″

Подключение

Модуль индикатора подключается к контроллеру с помощью следующих выводов:

Файлы для загрузки

Пример подключения и использования

Описание В примере дамонстрируется счётчик цифр от 0 до 9 на одноразрядном индикаторе, в двух вариантах вывода: с точкой и без.

Что нужно

Схема подключения

Скетч для загрузки

#include "LedControl.h" // подключение библиотеки для работы с дисплеем

/*
 * Создание объекта для работы с дисплеем с параметрами:
 * - вывод 12 - вывод DIN
 * - вывод 11 - вывод CLK
 * - вывод 10 - вывод LD
 */
LedControl display7segment = LedControl(12, 11, 10); 

unsigned long delaytime=500; // время ожидания между выводом символов на дисплей

void setup() {
  /*
   * При старте микросхема MAX7219 находится в режиме
   * пониженного энергопотребления,
   * поэтому первым делом нам нужно вывести её 
   * из этого режима.
   */
  display7segment.shutdown(0,false);
  display7segment.setIntensity(0,8); // установим яркость дисплея на 8 - среднее значение (возможно установить от 0 до 15)
  display7segment.clearDisplay(0); // очистка дисплея
}


/*
 * Данный метод перечисляет 16-ричные числа (от 0 до F)
 * в параметр withPoint - передаётся признак типа Булево
 * включать или нет точку после цифры
 */
void displayDigits(boolean withPoint) {
  
  for(int i=0; i < 16; i++) {
    display7segment.setDigit(0, 0, i, withPoint);
    delay(delaytime);
  }
  
  display7segment.clearDisplay(0);
  delay(delaytime);
}

/*
 * В основном цикле выведем сначала цифровые значения от 0 до F
 * без точки, затем эти же значения с точкой.
 */
void loop() { 
  
  displayDigits(false); // вывод значений без точки
  displayDigits(true); // вывод значений с точкой
  
}