Индикатор tm1637 Подключение к Ардуино
Вот так выглядит дисплей TM1637.
У него всего 4 контакта.
Простое подключение к Ардуино. Как видите можно подключить индикатор всего двумя проводами не считая питание.
Описание, библиотека TM1637 driver. Я покажу как буквально за несколько строчек кода построить счётчик с выводом значений.
#include <TM1637.h>
TM1637 tm(2, 3); // CLK, DIO
const int DELAY_MS = 100; // 0,1 секунды
void setup() {
tm.init();
tm.set(7); // яркость (0–7)
}
void loop() {
tm.display(0, 0); // устанавливаем все сегменты в 0
for (int count = 0; count <= 300; count++) {
tm.display(0, count / 100); // сотни
tm.display(1, (count / 10) % 10); // десятки
tm.display(2, count % 10); // единицы
delay(DELAY_MS);
}
delay(5000); // пауза после отсчёта
}
отображает на TM1637 трёхзначный счётчик от 000 до 300.
каждое значение обновляется каждые 100 мс.
после завершения делает паузу 5 секунд.
Пример 1. Счётчик.
Это простой пример вывода значений на экран дисплея TM1637.
Здесь простой цикл, который увеличивает значения от 0 до 9999.
Скорость увеличения можно регулировать паузой между выводами цифр.
Если задать 1 секунда, то получится секундомер.
Дойдя до 9999 счётчик обнулится и начнёт считать заново.
Пример 2. Секундомер.
Я подключил пищалку.
Если вы не знаете что это или как подключить, то можете посмотреть предыдущие видео.
Дойдя до определённого значения которое вы сами установили сработает сигнализация.
И цикл начнётся заново.
Пример 3. Таймер.
Добавил кнопку и сделал отсчёт назад.
Когда таймер дойдёт до нуля раздастся сирена и таймер остановится.
Запустить его можно снова нажав на кнопку.
Более подробно смотрите на видео.
Есть ещё одна библиотека TM1637.
Она более полная, а поэтому немного сложнее. Зато у неё много функций.
Описание функций библиотеки TM1637
init() - инициализация
set(n) - яркость сегментов от 0 до 7
clearDisplay() - очистить экран
point(True) - выключить/включить разделитель(две вертикальные точки)
displayInt(value) - вывести на экран четырёхзначное число
displayIntZero(value) - вывести на экран четырёхзначное число с нулями слева
display(posit, Byte) - вывести на экран символ Byte (0-9) в одну из четырёх позиций posit(0-3)
display(array) - вывести на экран массив array из четырёх символов
displayByte(posit, Byte) - вывести на экран символ Byte в одну из четырёх позиций posit(0-3)
displayByte(ARRAY_BYTE) - RRAY_BYTE - массив ( 0x7d, 0x7d, 0x7d, 0x7d )
displayByte(Byte1, Byte2, Byte3, Byte4) - вывести на экран четыре знака
runningString(buf, sizeof(buf), delay) - бегущая строка из массива (массив, размер массива, задержка в мс)
scroll(BitAddr, DispData, delayms); - обновить значение пролистыванием (адрес, символ, задержка в мс)
scroll(DispData[], delayms); - обновить значение пролистыванием (массив символов, задержка в мс)
scrollByte(BitAddr, DispData, delayms); - обновить значение пролистыванием (адрес, БАЙТ, задержка в мс)
scrollByte(DispData[], delayms); - обновить значение пролистыванием (массив, задержка в мс)
twist(BitAddr, DispData, delayms) - обновить значение вращением (адрес, символ, задержка в мс)
twist(DispData[], delayms) - обновить значение вращением (массив символов, задержка в мс)
twistByte(BitAddr, DispData, delayms) - обновить значение вращением (адрес, БАЙТ, задержка в мс)
twistByte(DispData[], delayms) - обновить значение вращением (массив, задержка в мс)
displayClock(hrs, mins) - выводит часы, минуты
displayClockScroll(hrs, mins, delayms) - выводит часы, минуты с эффектом пролистывания экрана вниз
displayClockTwist(hrs, mins, delayms) - выводит часы, минуты с эффектом вращения знакоместа