Обзор семисегментного индикатора на MT1637

MT1637 это небольшой семи сегментным дисплей с двоеточием в центре, идеальное решения для создания часов реального времени. Часто в различных проектах, необходимо визуально отобразить полученных данные с различных датчиков. Самое простое, это отправить в Serial Monitor или более интересным способом, например через LCD, OLED-, TFT. В статье расскажу, как можно вывести данные на 7-сегментный светодиодный дисплей на микросхеме MT1637.
Технические параметры модуля MT1637
► Модель индикатора: 3642BH;
► Диагональ одного индикатора: 0,36 дюйма;
► Тип индикатора: с общим анодом;
► Интерфейс: I2C;
► Драйвер: M1637;
► Цвет подсветки: красный;
► Напряжение питания: 3,3 – 5 В;
► Габариты: 43 х 23 х 11 мм;
Общие сведения
На передней части модуля MT1637 установлен четырехзначный 7-сегментным дисплее с двоеточием в центре, на обратной стороне установлена микросхема TM1637 производства Titan Micro Electronics. Сам 7-сегментный дисплей состоит из семи светодиодов, обозначенных буквами: от «a» до «g», которые загораются независимо от друг друга и могут отобразить числа и буквы. Так же, плата совместима с 3,3 — 5 В, никаких дополнительных резисторов или конденсаторов не требуется.

Назначение контактов:
► CLK — вход тактовых импульсов.
► DIO — вывод данных.
► VCC — вывод для подключения источника питания.
► GND— вывод для подключения источника питания.
Подключение Обзор 7-пигментного дисплей TM1637 к Arduino UNO
Необходимые детали:
► Arduino UNO R3 x 1 шт.
► 4-разрядный 7-сегментный индикатор часов на драйвере TM1637 x 1 шт.
► Провода DuPont, 2,54 мм, 20 см x 1 шт.
Подключение
В примере используем Arduino UNO R3 и дисплей на драйвере TM1637 на последним будем отображать показания. Подключение не сложное, необходимо всего четыре провода, первым делом подключаем вывод CLK (TM1637) к выводу 3 (Arduino) и вывод DIO подключаем к выводу 2 (Arduino), затем подключаем питание VCC к +5В и GND к GND. Так же, приведу схему подключения.

Программа №1:
Для работы скетча необходимо библиотека «TM1637.h», которая не входят в в среду разработки IDE Arduino, нужно дополнительно установить ее, скачать можно в конце статьи.
#include "TM1637.h" // Подключаем библиотеку TM1637.h
#define CLK 2 // Указываем вывод CLK
#define DIO 3 // Указываем вывод DIO
#define BRIGHT_TYPICAL 7 // Устанавливаем яркость дисплея от 0 до 7
TM1637 tm1637(CLK,DIO); // Создаём объект tm1637
int8_t NumTab[] = {0,1,2,3}; // Создаем массив данных, 0-9 это 0-9, от 10 - 15 это A-F.
void setup()
{
tm1637.init(); // Инициализируем дисплей
tm1637.set(BRIGHT_TYPICAL); // Устанавливаем яркость дисплея
}
void loop()
{
tm1637.point(true); // Включаем двоеточие
tm1637.display(NumTab); // Вывод массива на дисплей
delay(1000); // Пауза
tm1637.point(false); // Выключаем двоеточие
tm1637.display(NumTab); // Вывод массива на дисплей
delay(1000); // Пауза
}
Описание скетча:
Первым делом, включаем библиотеку TM1637.h
#include "TM1637.h"
Далее, указываем к каким выводам подключен дисплей
#define CLK 2
#define DIO 3
Задаем яркость дисплея, от 0 до 7
#define BRIGHT_TYPICAL 0
Создаём объект tm1637 класса TM1637, в качестве параметров передаём номера выводов подключения.
TM1637 tm1637(CLK,DIO);
Создаем массив данных, 0-9 это 0-9, от 10 — 15 это A-F.
int8_t NumTab[] = {0,1,2,3};
Инициализируем дисплея «tm1637.init(); и устанавливаем яркость свечения дисплея «tm1637.set(BRIGHT_TYPICAL)«
tm1637.init();
tm1637.set(BRIGHT_TYPICAL);
Далее, мы переменно включаем двоеточии и передаем массив.
void loop()
{
tm1637.point(true); // Включаем двоеточие
tm1637.display(NumTab); // Вывод массива на дисплей
delay(1000); // Пауза
tm1637.point(false); // Выключаем двоеточие
tm1637.display(NumTab); // Вывод массива на дисплей
delay(1000); // Пауза
}
Программа №2:
Для более удобного понимания, приведу второй пример скетча. В данном случаи, начало программы осталось без изменений, изменения коснулось только функции loop().
#include "TM1637.h" // Подключаем библиотеку TM1637.h
#define CLK 2 // Указываем вывод CLK
#define DIO 3 // Указываем вывод DIO
#define BRIGHT_TYPICAL 7 // Устанавливаем яркость дисплея от 0 до 7
TM1637 tm1637(CLK,DIO); // Создаём объект tm1637
void setup()
{
tm1637.init(); // Инициализируем дисплей
tm1637.set(BRIGHT_TYPICAL); // Включение подсветки
}
void loop()
{
tm1637.clearDisplay(); // Очищаем дисплей
delay(1000); // Пауза
tm1637.display(0, 1); // 0-й знак, данные берем с массива
delay(1000); // Пауза
tm1637.display(1, 2); // 1-й знак, данные берем с массива
delay(1000); // Пауза
tm1637.display(2, 3); // 2-й знак, данные берем с массива
delay(1000); // Пауза
tm1637.display(3, 4); // 3-й знак, данные берем с массива
delay(1000); // Пауза
}
При загрузке скетча, на дисплее будет поочередно добавляться каждая цифра от 0 до 3, затем дисплей очиститься.

Ссылки
Библиотека TM1637 Library
Купить на Aliexpress
Контроллер Arduino UNO R3 на CH340G
Контроллер Arduino UNO R3 на Atmega16U2
4-разрядный 7-сегментный индикатор часов на драйвере TM1637
Комплект проводов DuPont, 2,54 мм, 20 см
Купить в Самаре и области
Контроллер Arduino UNO R3 на CH340G
Контроллер Arduino UNO R3 на Atmega16U2
4-разрядный 7-сегментный индикатор часов на драйвере TM1637
Провода DuPont, 2,54 мм, 20 см
