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

Обзор семисегментного индикатора на 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 В, никаких дополнительных резисторов или конденсаторов не требуется.

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

Назначение контактов:
► 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. Так же, приведу схему подключения.

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

Программа №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, затем дисплей очиститься.

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

Ссылки
 Библиотека 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 см

Вам может также понравиться...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *