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

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

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

==== Технические характеристики ====
  * Рабочее напряжение: 3,3-5 В
  * Максимальный потребляемый ток: 20 мА

==== Размеры ====
**Для индикатора 0,8″**
  * Размер индикатора: 27х20 мм (0,8″)
  * Габаритные размеры Д х Ш х В: 23 х 33 х 12 мм

**Для индикатора 0,56″**
  * Размер индикатора: 19х13 мм (0,56″)
  * Габаритные размеры Д х Ш х В: 23 х 33 х 10 мм
 

==== Подключение ====
Модуль индикатора подключается к контроллеру с помощью следующих выводов:
  * **+** - соединяется с пином питания контроллера (5V или 3,3V)
  * **-** - соединяется с пином контроллера GND (земля)
  * **CLK** - соединяется с цифровым пином контроллера
  * **LD** - соединяется с цифровым пином контроллера
  * **DIN** - соединяется с цифровым пином контроллера
==== Файлы для загрузки ====
  * [[http://files.smartelements.ru/datasheet/MAX7219.pdf|Даташит на MAX7219]]
  * [[http://files.smartelements.ru/know_libs/LedControl.zip|Библиотека для Arduino]]

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

**Что нужно**
^ Что нужно  ^ Сколько  ^
| [[https://smartelements.ru/collection/kontrollery/product/kontroller-smart-uno|Контроллер Smart Uno]]           |    1      |
| [[|Модуль 1-разрядного индикатора]]           |    1      |
| [[https://smartelements.ru/collection/provoda-i-kabeli/product/nabor-provodov-20-sht-20sm-papa-mama|Провода папа-мама]]  |    5      |

**Схема подключения**
{{ :main:disp:7_seg_uno.png?nolink |}}

**Скетч для загрузки**
<file Arduino>
#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); // вывод значений с точкой
  
}
</file>