Подключение TM1637 к ESP32
Четырёхразрядный индикатор
TM1637 подключается к ESP32 двумя сигнальными проводами, CLK и DIO, на любые свободные GPIO, плюс питание. Это не I2C: у TM1637 собственный двухпроводный протокол, и его подключают к обычным выводам.
Схема подключения TM1637 к ESP32
| TM1637 | ESP32 |
|---|---|
| CLK | GPIO18 |
| DIO | GPIO19 |
| VCC | 3V3 |
| GND | GND |
Схема из примера «TM1637: четыре разряда».
Выводы TM1637
| Вывод | Назначение |
|---|---|
| CLK | тактовый сигнал |
| DIO | данные |
| VCC | питание |
| GND | общий провод |
Код для ESP32
#include <TM1637Display.h>
TM1637Display display(18, 19); // такт, данные
void setup() {
// Яркость и включение — одна команда: нулевая яркость не гасит
// индикатор, для этого есть отдельный довод.
display.setBrightness(4);
display.clear();
}
void loop() {
// Число целиком: библиотека сама разложит его по разрядам.
display.showNumberDec(42);
delay(800);
// С ведущими нулями — второй довод. Для часов нужен именно он,
// иначе «09» показывается как « 9».
display.showNumberDec(42, true);
delay(800);
// Отрицательные помещаются, пока хватает разрядов под знак.
display.showNumberDec(-99);
delay(800);
// Больше 9999 не влезет: библиотека покажет младшие разряды, а не
// ошибку. Проверять диапазон — дело скетча.
display.showNumberDec(12345);
delay(800);
}
Скетч можно править и запускать в симуляторе без платы и установки среды.
Что учесть на ESP32
- Питание 3,3–5 В: с ESP32 берут 3,3 В или 5 В с VIN. Яркость задаётся программно, от 0 до 7.
- Подойдёт любой GPIO, кроме входных 34–39.
В железе
Выводы CLK и DIO — любые цифровые. На модуле стоят подтягивающие резисторы, отдельные не нужны.
Частые ошибки при подключении к ESP32
- Подключить TM1637 к выводам I2C и вызывать
Wire: у него нет адреса I2C, библиотекаTM1637Displayуправляет выводами сама. - CLK и DIO на GPIO34–39: эти выводы только входные, дисплей не получает данные.
- Подключение к выводам I2C с библиотекой Wire — TM1637 не отвечает на адрес, это другой протокол.
- Нет вызова
setBrightness()— у части модулей по умолчанию индикатор погашен. - Двоеточие мигает вместе с цифрами, потому что всё перерисовывается каждый проход. Обновляйте экран только при смене значения.
- Длинные провода (больше 30 см) без экрана — сбои в протоколе, цифры «мусорят».
Ещё по теме
Другие детали для ESP32
HC-SR04DHT22 (AM2302)BME280DS3231SSD1306 OLED 0,96″LCD 1602 с I2CMAX7219MPU6050 (GY-521)Модуль релеWS2812B (NeoPixel)KY-040Клавиатура 4×4HX711ФоторезисторМодуль microSDRGB-светодиодСервопривод SG9074HC595ИК-приёмник (VS1838B)TFT ST7735 1,8″Шаговый двигательКнопкаПотенциометрПьезопищалкаСветодиодDS18B20Ползунковый переключательHC-SR501TTP223Датчик влажности почвыMQ-2LM35Джойстик KY-023DHT11HTU21DSN65HVD230