Arduino TM1637 как подключить индикатор + скетч, схема
Перейти к содержанию
Модуль дисплея TM1637 Ардуино подключение

Модуль дисплея TM1637 Ардуино подключение

Модуль индикатора TM1637 Arduino (семисегментный дисплей) позволяет выводить информацию с датчиков и сенсоров или собрать часы с термометром на базе Ардуино. Рассмотрим в этой статье, как подключить 4-разрядный семисегментный дисплей на основе драйвера TM1637 к плате Ардуино с примерами программ для вывода символов и переменных, а также информации с датчика освещенности с фоторезистором.

Необходимые компоненты:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • модуль индикатора TM1637
  • фоторезистор или датчик света
  • макетная плата
  • коннекторы
  • библиотека TM1637Display.h

Дополнительные материалы на эту тему:
  1. Часы с будильником на индикаторе TM1637
  2. Термометр на Ардуино с индикатором TM1637
  3. Таймер на LCD дисплее с обратным отсчётом

Дисплей ТМ1637 с двоеточием в центре — это самое простое решение для создания на Ардуино секундомера или часов реального времени. Сам модуль дисплея состоит из четырех семисегментных дисплеев, каждый из которых состоит из семи светодиодов, обозначенных буквами от «a» до «g», которые загораются независимо друг от друга. При подключении к плате Arduino дополнительные резисторы в схеме не требуются.

Дисплей TM1637 распиновка, характеристики

Дисплей TM1637 распиновка, характеристики

TM1637 display Arduino характеристики

  • Источник питания: 5 В или 3,3 В
  • Рабочий ток: 0.2 – 80 мА
  • Использует 2 провода для связи
  • Чипсет: TM1637
  • Размеры: 43 х 23 х 11 мм

Модуль дисплея имеет максимально простую конструкцию и основан на драйвере TM1637 с интерфейсом двухпроводной шины. Четырехразрядный модуль дисплея TM1637 не поддерживает стандартный протокол i2c, поскольку модуль не имеет адреса ведомого устройства. Производители предлагают модели дисплеев с белыми, красными, синими и зелеными светодиодами; дисплей ТМ1637 имеет размер 0,36 или 0,56 дюйма.

Как подключить дисплей TM1637 к Arduino

Как подключить дисплей TM1637 к Arduino

Модуль 4-сегментного дисплея TM1637 подключается к Ардуино с помощью четырех контактов — два провода предназначены для питания (5V и GND), а два других (CLK и DIO) подключаются к любым цифровым портам микроконтроллера. Для работы с индикатором TM1637 необходимо установить библиотеку TM1637Display.h в Arduino IDE, которая позволяет отображать на дисплее не только цифры, но и некоторые символы и буквы.

Скетч для индикации символов и букв на TM1637


#include "TM1637Display.h"
TM1637Display display(3, 2); // CLC, DIO

const uint8_t tire[] = {
  SEG_G // -
};

const uint8_t C[] = {
  SEG_A | SEG_F | SEG_E | SEG_D // C
};

const uint8_t DONE[] = {
  SEG_B | SEG_C | SEG_D | SEG_E | SEG_G, // d
  SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F, // O
  SEG_C | SEG_E | SEG_G, // n
  SEG_A | SEG_D | SEG_E | SEG_F | SEG_G // E
};

void setup() {
  display.setBrightness(4); // яркость от 0 до 7
  display.clear();
  
  display.setSegments(tire, 1, 0); // -___
  delay(200);
  display.setSegments(tire, 1, 1); // _-__
  delay(200);
  display.setSegments(tire, 1, 2); // __-_
  delay(200);
  display.setSegments(tire, 1, 3); // ___-
  delay(200);
  display.clear();
  display.setSegments(DONE, 4, 0); // dOnE
  delay(500);
  display.clear();
}

void loop() {
  display.showNumberDec(1, true, 1, 0); // 1___
  delay(500);
  display.showNumberDec(2, true, 1, 1); // 12__
  delay(500);
  display.showNumberDec(3, true, 1, 2); // 123_
  delay(500);
  display.showNumberDec(4, true, 1, 3); // 1234
  delay(500);
  display.clear();
  
  display.showNumberDec(00, true, 2, 1); // _00_
  delay(500);
  display.setSegments(C, 1, 3); // _00C
  delay(500);
  display.clear();
}

Как подключить TM1637 с датчиком освещенности

Как подключить TM1637 с датчиком освещенности

Символы для индикатора создаются с помощью массива const uint8_t [] = {};. А в следующем примере переменная в программе будет хранить в себе значения с аналогового датчика света, но можно использовать любой другой датчик для микроконтроллера Arduino. В этом примере модуль отображает трехзначное число из переменной, а четвертый сегмент отображает букву ‘c’, которая была создана в программе.

Скетч для вывода переменных на TM1637 display

#include "TM1637Display.h"
TM1637Display display(3, 2); // CLC, DIO

int c;

const uint8_t c[] = {
  SEG_G | SEG_E | SEG_D // c
};

void setup() {
  Serial.begin(9600);
  pinMode(A1, INPUT);
  display.setBrightness(4); // яркость от 0 до 7
  display.clear();
}

void loop() {
  c = analogRead(A1);
  Serial.println(c);

  display.showNumberDec(c, false, 3, 0);
  display.setSegments(c, 1, 3);

  delay(500);
}

Описание команд библиотеки TM1637Display.h

Описание команд библиотеки TM1637Display.h

setBrightness(brightness, true/false) — эта функция может быть использована в любом месте кода и устанавливает яркость дисплея. Вы можете задать уровень от 0 (наименьшая яркость) до 7 (наибольшая яркость). Второй параметр используется для включения и выключения дисплея, false означает, что дисплей TM1637 будет выключен.

clear() — команда для очистки дисплея

setSegments(segments, length, position) — эта функция используется для установки отдельных сегментов, где segments — массив (созданный в начале программы с помощью const uint8_t). Аргумент length задает количество символов в массиве, для термометра в сборе TM1637 используются два символа — °C. position — задает позицию, с которой символ должен быть выведен на светодиодный четырехразрядный дисплей.

showNumberDec(number, leading_zeros, length, position), где первый аргумент number — это число, которое отображается на четырёхразрядном индикаторе. Второй аргумент leading_zeros используется для включения (true) или отключения (false) ведущих нулей. Цифра 10 без ведущих нулей печатается как __10, а с ведущими нулями — как 0010. Третий и четвертый аргументы функции такие же, как и в предыдущей функции.

showNumberDecEx(number, dots, leading_zeros, length, position) — эта функция позволяет задействовать точки на дисплее. Она отличается от функции showNumberDec только аргументом dots. Для модулей у которых есть точки на дисплее необходимо указать 0b01000000 для включения точек и 0b000000 для их отключения.

Заключение. На примере первого скетча вы сможете самостоятельно разобраться, как создать новый символ или букву для модуля дисплея. Во второй программе вы выводили информацию с аналогового датчика, как вывести информацию с цифрового датчика DHT11, можно посмотреть в наших проектах — термометр на TM1637. Если у вас остались вопросы или вы нашли ошибку, оставляйте их в комментариях к данной записи.

5/5 - (2 голоса)


Уроки и проекты на Ардуино (теги) совместно с

| | Raspberry


Pinout, datasheet Модуль дисплея TM1637 Ардуино подключение

  • Подключение лазерного модуля KY-008 к Ардуино
    Подключение лазерного модуля KY-008 к Ардуино
  • Подключение Wi-Fi модуля ESP-12E к Ардуино
    Подключение WiFi модуля ESP-12E к Ардуино
  • Подключение TFT дисплея к Ардуино по SPI
    Подключение 1.8 TFT дисплея к Ардуино по SPI

Комментарии 1

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  2023 - 2024 © не официальный сайт ардуино ру - уроки программирования в среде Arduino IDE, подключение датчиков и модулей, обзор
 команд и библиотек, разработка простых электронных устройств и DIY проектов на базе микроконтроллеров Arduino, STM32 и Raspberry Pi