Обзор семисегментного индикатора на 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, нужно дополнительно установить ее, скачать можно в конце статьи.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
#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
1 |
#include "TM1637.h" |
Далее, указываем к каким выводам подключен дисплей
1 2 |
#define CLK 2 #define DIO 3 |
Задаем яркость дисплея, от 0 до 7
1 |
#define BRIGHT_TYPICAL 0 |
Создаём объект tm1637 класса TM1637, в качестве параметров передаём номера выводов подключения.
1 |
TM1637 tm1637(CLK,DIO); |
Создаем массив данных, 0-9 это 0-9, от 10 — 15 это A-F.
1 |
int8_t NumTab[] = {0,1,2,3}; |
Инициализируем дисплея «tm1637.init(); и устанавливаем яркость свечения дисплея «tm1637.set(BRIGHT_TYPICAL)«
1 2 |
tm1637.init(); tm1637.set(BRIGHT_TYPICAL); |
Далее, мы переменно включаем двоеточии и передаем массив.
1 2 3 4 5 6 7 8 9 |
void loop() { tm1637.point(true); // Включаем двоеточие tm1637.display(NumTab); // Вывод массива на дисплей delay(1000); // Пауза tm1637.point(false); // Выключаем двоеточие tm1637.display(NumTab); // Вывод массива на дисплей delay(1000); // Пауза } |
Программа №2:
Для более удобного понимания, приведу второй пример скетча. В данном случаи, начало программы осталось без изменений, изменения коснулось только функции loop().
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#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 см