Подключение TM1637 к Arduino

4-03-2020, 18:15 3 комментариев
Сегодня мы постараемся разобрать подключение TM1637 к Arduino (в любительских проектах), работу данного LED индикатора и его технические характеристики. Но для начала обозначим более конкретно предназначение и обозначение устройства.

Речь идет о семисегментном индикаторе на основе чипа TM1637. Он более функционален по сравнению с бюджетными LCD дисплеями (хотя также стоит не дорого). Кроме того, модуль имеет компатный размер, большую вариативность цветовых оттенков сечений (белый, желтый, синий, зеленый, красный), а также специальный часовой разделитель (в виде разделительных точек - двоеточия). Именно потому индикатор часто используют в проектировании DIY часов.

Давайте рассмотрим его базовые параметры:
  • напряжение питания: 3.3 – 5.5V;
  • рабочий ток: 0.2 – 80 мА;
  • количество сегментов: 4;
  • размер: 0.36" либо 0.56";
  • тип интерфейса: I2C (двухпроводной последовательный);
  • яркость: от 3 до 7 уровней (сам дисплей с общим анодом);
  • размеры: 43 х 23 х 11 mm.

Подключение TM1637 к Arduino

Для реализации простой схемы сборки нам понадобятся следующие компоненты:
  1. Микроконтроллер Ардуино Uno (или любой другой совместимый)
  2. Семисегментный индикатор TM1637
  3. Макетная плата 
  4. Соединительные провода (комплект)
Обратите внимание на принципиальную схему:

Чтобы проверить работоспособность и не заморачиваться с написанием сложных прошивок, советуем использовать специальный софт – библиотеки. Их в сети Интернет много, но более популярна именно в нашем случае - TM1637: https://github.com/tehniq3/TM1637-display


Выведем на экран четыре символа (цифры от 1 до 4-х) – прописываем скетч:
#include "TM1637.h"   // Подключаем библиотеку для работы с модулем
int8_t DispMSG[] = {1, 2, 3, 4};   // Настройка символов для последующего вывода на дислей
//Определяем пины для подключения к плате Arduino
#define CLK 3
#define DIO 2
//Создаём объект класса TM1637, в качестве параметров
//передаём номера пинов подключения
TM1637 tm1637(CLK, DIO);
void setup()
{
  //Инициализация модуля
  tm1637.init();
  //Установка яркости горения сегментов
  /*
     BRIGHT_TYPICAL = 2 Средний
     BRIGHT_DARKEST = 0 Тёмный
     BRIGHTEST = 7      Яркий
  */
  tm1637.set(BRIGHT_TYPICAL);
}
void loop()
{
  //Задание на включение разделителя
  tm1637.point(true);
  //Выводим массив на дисплей
  tm1637.display(DispMSG);
  //Задержка
  delay(1000);
  //Задание на выключение разделителя
  tm1637.point(false);
  //Выводим массив на дисплей
  tm1637.display(DispMSG);
  //Задержка
  delay(1000);
}
Если нужно протестировать проект отображения на LED-индикаторе текущего времени, даты, года, дня недели с различными эффектами, используем иную библиотеку - GyverTM1637. Кроме того, с ее помощью можно значительно расширить возможности модуля, например, добавить опцию бегущей строки, поработать с эффектами вертикальной прокрутки и скручивания, вывести числа до 9999, задать собственные символы и многое другое.
https://github.com/AlexGyver/GyverLibs/tree/master/GyverTM1637

На этом пока всё. Надеемся, что материал был информативным для вас!
Поделись в социальных сетях:
О авторе
Калугин Антон

Программист микроконтроллеров с 8-ми летним стажем, работал в таких компаниях как IBM, ASUS, Microsoft.

В комментариях с радостью отвечу на ваши вопросы.

Все статьи автора
Похожие новости

Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...

Сегодня поговорим о том, как подключить 7 сегментный индикатор к Ардуино и в целом об особенностях этого механизма. Речь идет об устройстве отображения...

Предлагаем на обзор подключение LCD дисплея на базе HD44780 к Ардуино. Модуль выбран как всегда не случайно, т.к. имеет определенные преимущества, о которых...

Модуль энкодер KY-040 является электромеханическим устройством, а точнее - датчиком угла поворота и вращения оси различных девайсов. Непосредственно сам прибор...

В данном обзоре речь пойдет о подключении L9110S к Arduino и основных параметрах этого двухканального драйвера. Напомним, подобные модули отлично вписываются...

3 комментария
  1. admin
    4 августа 2020 23:12 admin

    Отличный индикатор

    replyОтветить
  2. Игорь
    30 июля 2021 04:50 Игорь

    Здравствуйте. Подскажите а можно ли на данном дисплее вывести информацию в зеркальном отображении?

    replyОтветить
  3. Кирилл
    4 ноября 2021 09:32 Кирилл

    День добрый, просмотрел множество скетчей с интернета в том числе и ваш. Везде одна ошибка
    exit status 1
    'class TM1637' has no member named 'set'; did you mean 'setDp'?

    replyОтветить
Оставить комментарий