Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

TM1637 4-Разрядный 7-Сегментный Индикатор: Полное Руководство по Подключению к Arduino

Нужно вывести цифры на Arduino без монстра из 12 проводов? TM1637 — драйвер 4-разрядного 7-сегментного индикатора с 2-проводным интерфейсом (CLK + DIO). Дешево, компактно, библиотеки есть. Разберем пины, работу, библиотеку, проект часов с DS3231 (RTC).

Что такое TM1637?

Микросхема-драйвер (Titan Micro / клоны) для управления общим анодом 4-разрядного 7-сегментного индикатора (0.36″ / 0.56″). Внутри: сдвиговый регистр, PWM для яркости (8 уровней), сканирование разрядов, встроенный генератор. Интерфейс: 2-проводной синхронный (CLK, DIO) — похож на I2C, но проще, без адресации. Питание 3.3–5.5 В. Ток ~80 мА (макс. яркость, все сегменты). Температура -10…+80 °C.

Распиновка модуля TM1637 (4 пина)

Пин модуляФункцияArduino (пример)
VCCПитание +3.3…5.5 В5V (или 3.3V)
GNDЗемляGND
DIOДанные (вход/выход)D3 (любой GPIO)
CLKТактирование (вход)D2 (любой GPIO)

Никаких жестких привязок к пинам Arduino — любой цифровой. Меняйте в коде.

Как работает TM1637

Протокол: старт (DIO↓ при CLK↑) → байт команды → данные → стоп (DIO↑ при CLK↑). Команды: запись данных в дисплей (адрес + байты сегментов), управление яркостью, вкл/выкл, тест. Библиотека скрывает протокол. Вы передаете число → библиотека кодирует в сегменты (0-9, A-F, минус, точки) → шлет в TM1637 → он сканирует разряды с PWM-яркостью.

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

  1. VCC → 5V
  2. GND → GND
  3. DIO → D3
  4. CLK → D2

Никаких резисторов, конденсаторов не нужно (на модуле есть).

Библиотека и установка

Лучшая: TM1637Display by Avishay Orpaz (в Менеджере библиотек Arduino IDE: Sketch → Include Library → Manage Libraries → «TM1637» → Install «TM1637Display by Avishay Orpaz»). Альтернатива: «TM1637» by Seeed Studio (старее).

Основные функции библиотеки

TM1637Display display(CLK, DIO);
display.setBrightness(0x0f); // 0x00-0x0f (8 уровней)
display.showNumberDec(1234, false, 4, 0); // число, leading zeros, длина, позиция
display.showNumberDecEx(1234, 0b01000000, false, 4, 0); // с точкой (битовая маска точек)
display.setSegments(segments_array, length, pos); // сырые сегменты (для A-F, спецсимволов)
display.clear(); // очистить

Тестовый скетч (демо функций)

#include 
#define CLK 2
#define DIO 3
TM1637Display display(CLK, DIO);

void setup() {
  display.setBrightness(7); // средняя яркость
}

void loop() {
  // Счетчик 0-9999
  for (int i = 0; i < 10000; i++) {
    display.showNumberDec(i, true, 4, 0);
    delay(10);
  }
  // Свои символы: tEst
  uint8_t seg[] = {0x78, 0x6D, 0x6D, 0x70}; // t, E, s, t (коды сегментов)
  display.setSegments(seg);
  delay(2000);
  // Яркость
  for (uint8_t b = 0; b < 16; b++) {
    display.setBrightness(b);
    display.showNumberDec(b, false, 2, 2);
    delay(200);
  }
}

Проект: Часы реального времени (RTC) на TM1637 + DS3231

Компоненты

Подключение DS3231

Код часов (библиотека RTClib by Adafruit)

#include 
#include 
#include 

#define CLK 2
#define DIO 3
TM1637Display display(CLK, DIO);
RTC_DS3231 rtc;

void setup() {
  display.setBrightness(5);
  Wire.begin();
  if (!rtc.begin()) { while(1); } // ошибка RTC
  if (rtc.lostPower()) {
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // установка по времени компиляции
  }
}

void loop() {
  DateTime now = rtc.now();
  int timeVal = now.hour() * 100 + now.minute(); // HHMM
  // Мигающая точка посередине (1Hz)
  static bool dot = false;
  dot = !dot;
  display.showNumberDecEx(timeVal, dot ? 0b01000000 : 0, true, 4, 0);
  delay(500);
}

Установите библиотеки: TM1637Display (Avishay Orpaz) + RTClib (Adafruit).

Заключение

TM1637 — лучший способ вывода цифр на Arduino: 2 пина, 8 уровней яркости, встроенное сканирование, дешево ($0.5–1). Идеален для часов, таймеров, счетчиков, измерительных приборов. Библиотека Avishay Orpaz делает работу тривиальной. Парьте с DS3231 — точные часы на батарее годами. Вопросы по кастомизации символов, мультиплексированию нескольких модулей, SPI-версиям — обращайтесь.

Промышленные технологии

  1. Использование декодера 4511 для 7-сегментного индикатора: практическое руководство по BCD-дисплею
  2. Индикаторные лампы: от КИП к «Кошачьему глазу»
  3. Научная нотация на карманном калькуляторе: практическое руководство
  4. Продвинутый спектральный анализ: интерпретация форм волн и гармоник
  5. Освоение программирования на C: подробное руководство для начинающих
  6. Мастерство проектирования цифровых схем: полное руководство
  7. Основное руководство по выбору держателя 9V батареи
  8. Счетчик десятичный IC4017: Полное руководство для начинающих
  9. Керамические субстраты PCB: экспертные знания и лучшие практики проектирования
  10. Быстрое освоение проектирования PCB в Ultiboard: Полное руководство