ELECTRONICS

Библиотека TM1637Display

В менеджере библиотек
TM1637 by Avishay Orpaz
Версия
1.2.0 · всего 1 версия, первая — 1.2.0
Платы
любые — автор не ограничивал
СкачатьTM1637-1.2.0.zip · 1,4 МБ

Архивы — копии из официального индекса Arduino, контрольная сумма совпадает. Сверено 19.10.2026.

Четырёхразрядный семисегментный индикатор с двоеточием на TM1637: числа, яркость, свои символы. Два провода.

Модуль с четырьмя цифрами и микросхемой TM1637 подключается двумя сигнальными проводами, CLK и DIO, на любые выводы. Библиотека умеет показывать целые числа с ведущими нулями и без, включать двоеточие для часов и выводить произвольные сегменты — так рисуют буквы и прочерки.

Одноимённых библиотек в менеджере несколько; здесь описана Avishay Orpaz с классом TM1637Display — самая распространённая.

Как скачать и установить

  1. Через менеджер — самый простой путь. В Arduino IDE: Инструменты → Управлять библиотеками (Ctrl+Shift+I). Введите TM1637 и найдите в списке строку «TM1637 by Avishay Orpaz» — одноимённых библиотек бывает несколько, отличаются они автором. Нажмите «Установить».
  2. Конкретная версия — если в чужом проекте указана не последняя. В той же карточке менеджера рядом с кнопкой есть выпадающий список версий: выберите нужную и нажмите «Установить».
  3. Из архива — если нет интернета на рабочем компьютере или менеджер не открывается. Скачайте ZIP выше, затем Скетч → Подключить библиотеку → Добавить .ZIP библиотеку и укажите файл. Распаковывать не нужно.

Файл TM1637Display.h отдельно не скачивают: он внутри библиотеки и появляется после установки. Если среда пишет TM1637Display.h: No such file or directory — библиотека не установлена или установлена не та. Как устроен менеджер и куда складываются файлы — в общей статье про библиотеки.

Строка подключения:

#include <TM1637Display.h>

Создание объекта — обычно до setup():

TM1637Display display(2, 3);     // CLK, DIO
display.setBrightness(5);         // в setup(): 0–7

Методы

Только то, что нужно в обычном скетче. Сигнатуры сверены с версией 1.2.0.

setBrightness(uint8_t level, bool on = true)
Яркость 0–7; on = false гасит индикатор, не теряя данных.
showNumberDec(int num, bool leadingZeros, uint8_t length, uint8_t pos)
Показать число −999…9999. leadingZeros — нули впереди; length и pos — сколько разрядов и с какого.
showNumberDecEx(int num, uint8_t dots, bool leadingZeros, ...)
То же с точками/двоеточием: dots = 0b01000000 включает двоеточие между второй и третьей цифрой.
showNumberHexEx(uint16_t num, uint8_t dots, ...)
Число в шестнадцатеричном виде.
setSegments(const uint8_t segs[], uint8_t length, uint8_t pos)
Зажечь сегменты напрямую: по байту на разряд, биты A–G. Так выводят буквы и прочерки.
encodeDigit(uint8_t digit)
Байт сегментов для цифры 0–15 — для сборки своих массивов.
clear()
Погасить все разряды.

Пример

#include <TM1637Display.h>

TM1637Display display(2, 3);   // CLK, DIO

void setup() {
  display.setBrightness(4);
}

void loop() {
  // часы из millis(): минуты и секунды, двоеточие мигает раз в секунду
  unsigned long s = millis() / 1000;
  int mm = (s / 60) % 100;
  int ss = s % 60;
  uint8_t colon = (millis() % 1000 < 500) ? 0b01000000 : 0;
  display.showNumberDecEx(mm * 100 + ss, colon, true);
  delay(50);
}
Запустить в симулятореСхема с этим скетчем — запустить в браузере

Двоеточие — это бит в параметре dots второго разряда, поэтому число собирают как ММСС и включают 0b01000000.

На чём попадаются

Не компилируется: нет TM1637Display

Установлена другая библиотека TM1637 (например, Grove). Ищите в менеджере автора Avishay Orpaz.

Показывает не те цифры или мигает

Слишком длинные провода или плохой контакт на CLK/DIO. Модуль питается от 5 В; на 3,3 В работает, но тусклее.

Отрицательные числа не помещаются

Минус занимает разряд: диапазон −999…9999.

Где используется на сайте

Что дальше