Arduino TM1638
тел. +7(499)347-04-82
Описание Arduino TM1638
Arduino TM1638 — Модуль LED-дисплея 8 разрядов + 8 кнопок + 8 светодиодов
📋 Описание
TM1638 — это специализированная микросхема драйвера LED-дисплея с поддержкой сканирования матрицы клавиатуры, производства компании Titan Micro Electronics. Наиболее распространена в виде готового модуля с 8-разрядным 7-сегментным светодиодным индикатором (часто с точками), 8 отдельными светодиодами и 8 кнопками.
Модуль широко используется в Arduino-проектах благодаря:
- Простому 3-проводному интерфейсу (CLK, DIO, STROBE)
- Отсутствию необходимости в отдельном драйвере клавиатуры
- Яркому 7-сегментному дисплею с регулируемой яркостью
- Низкой стоимости
Связь с микроконтроллером осуществляется по последовательному синхронному интерфейсу, похожему на SPI, но с собственным протоколом.
⚙️ Технические характеристики
Микросхема TM1638
| Параметр | Значение | |---|---| | Напряжение питания (VDD) | 5.0 В (диапазон 4.5–5.5 В) | | Ток потребления | ~5–30 мА (зависит от яркости) | | Интерфейс | Последовательный (CLK, DIO, STROBE/STB) | | Кол-во сегментов | до 10 GRID × 8 SEG = 80 LED-сегментов | | Кол-во кнопок | до 24 (матрица 3×8) | | Встроенный генератор | Да (RC, ~1 МГц) | | Яркость | 8 уровней (регистр 0x00–0x07) | | SoC / корпус | SOP-28 / DIP-28 |
Модуль TM1638 (типовой)
| Параметр | Значение | |---|---| | Дисплей | 8 разрядов, 7 сегментов + десятичная точка | | Размер цифры | ~0.36" (9.1 мм) или 0.56" | | Кнопки | 8 тактильных кнопок (S1–S8) | | Светодиоды | 8 отдельных LED (D1–D8) | | Питание модуля | 3.3–5 В (лучше 5 В для максимальной яркости) | | Рабочий ток | ~10–100 мА | | Разъём | 5 pin (VCC, GND, STB, CLK, DIO) | | Размер платы | ~77 × 32 мм | | Рабочая температура | −20…+70 °C |
Распиновка модуля
| Пин модуля | Назначение | |---|---| | VCC | Питание +5 В | | GND | Земля | | STB (STROBE) | Строб / выбор чипа (CS) | | CLK | Тактовый сигнал | | DIO | Данные (двунаправленный) |
🔢 Парт-номера и маркировка
Важно понимать: TM1638 — это не Arduino-модуль с официальным парт-номером. Маркировка зависит от конкретного производителя/продавца.
| Обозначение | Описание | |---|---| | TM1638 | Сама микросхема (Titan Micro, SOP-28/DIP-28) | | TM1638 Display Module / TM1638 LED Keypad | Готовый модуль (Knockoff / HiLetgo / и др.) | | HW-131 | Распространённое обозначение модуля в каталогах (AliExpress, LCSC) | | KEYBOARD-8 / 8-Digit LED | Нейминг на маркетплейсах | | RoboDyn / Keyestudio KS0059, Seeed / SunFounder обозначения | Комплектные наборы (без единого парт-номера) | | Chip Number: TM1638 datasheet | Официальный PDF от Titan Micro (на англ./кит.) |
⚠️ Универсальный «глобальный» парт-номер (Digi-Key/Mouser) у TM1638 есть тольк о как у микросхемы, у самих модулей — артикулы продавцов (например
ALSRO-DEW,HiLetgo TM1638 3.0). Официального PWM-стандарта нет.
Если ищете на Mouser/Digi-Key саму микросхему TM1638 — используйте поиск по TM1638 (Titan Micro), часто она в категории "LED Display Drivers".
🔌 Совместимые модели и платформы
Совместимые микроконтроллеры / платы
- ✅ Arduino Uno / Nano / Mega / Pro Mini (5 В — идеально)
- ✅ Arduino Leonardo / Due / MKR (⚠ Due/MKR — 3.3 В логика; устанавливать подтяжку/уровневый сдвиг)
- ✅ ESP8266 (NodeMCU, Wemos D1 mini) — работает, но на 3.3 В яркость слабее
- ✅ ESP32 / ESP32-C3 / ESP32-S2 (в целом совместимо)
- ✅ STM32 (Blue Pill / F4 Nucleo) (5 В питание, 3.3 В лог ika — работает)
- ✅ Raspberry Pi (Python / WiringPi) (через 3.3 В нужно учитывать питание; дисплей лучше от 5 В)
- ✅ ATtiny85 / ATmega328 (не загнать нехватку памяти на весь стек)
- ✅ Raspberry Pi Pico (MicroPython/C++)
Совместимые библиотеки
| Платформа | Библиотека |
|---|---|
| Arduino C++ | TM1638 (by Ricardo Batista) — самая популярная |
| Arduino C++ | TM1638plus (Gavin Lyons) — улучшенная, с кнопками + диспл —
| ESP/Arduino | совместимо через Arduino-ядро (ESP8266/ESP32) |
| MicroPython | tm1638 (множество портов на GitHub) |
| Raspberry Pi (Python) | TM1638-github-проекты, трит маньяк |
| PlatformIO | все вышеуказанные как библиотеки |
Родственные (похожие, но НЕ совместимые пины)
- TM1637 — 4-разрядный дисплей (только 2 пина, без кнопок) — ❌ не совместимо
- TM1650 / TM1652 — отличаются протоколом
- MAX7219 — SPI, другой протокол — ❌ не совместимо
- HD74HC595 (сдвиговый регистр) — не является драйвером
Библиотека TM1638 Рикардо Батишты является де-факто совместимой для большинства модулей.
🛠️ Пример подключения (Arduino Uno)
| TM1638 (модуль) | Arduino Uno | |---|---| | VCC | 5V | | GND | GND | | STB | D3 | | CLK | D4 | | DIO | D5 |
#include <TM1638.h>
TM1638 module(3 /*STB*/, 4 /*CLK*/, 5 /*DIO*/);
void setup() { module.setupDisplay(true, 7); }
void loop() {
unsigned long keys = module.getButtons(); // чтение кнопок
module.setDisplayToString("HELLO12");
delay(500);
}
Если нужно — подскажу распиновку для вашей конкретной платы, дам скетч под кнопки + LED.