Часто проекты требуют от нас вывода данных с различных датчиков и устройств в монитор порта или же на дисплей, например, для вывода данных с датчика температуры. Многие из вас уже знакомы с бюджетным дисплеем LCD 1602, подключаемым с помощью i2c интерфейса.
Но существуют также и LED дисплеи. С их помощью можно выводить те же данные, но в более удобном формате: за счет большего размера дисплея данные легче считывать, а еще с их помощью можно создать проект наподобие настоящих часов!
В данной статье разберем устройство LED индикатора TM1637, научимся подключать его к Arduino и писать программный код для работы с ним!
Для реализации проекта из этой статьи нам потребуются следующие компоненты:
13 комментариев. Оставить новый
Удобные модули.
Из минусов, там двухпроводной интерфейс не совсем i2c, в даташите на TM1637 пишут:
Microprocessor data realize the communication with TM1637 by means of two–wire bus interface (Note: The communication method is not equal to I2C bus protocol totally because there is no slave address).
То есть не получится на шину подключить несколько модулей, как с настоящей i2c, так как не поддерживаются адреса устройств.
Там и близко не IIC.
Пробовал управлять как I2C – половина модулей на TM1637 не работает, если единица реализуется через подтягивающие резисторы, как в I2C. Подаёшь нормальную единицу с выхода МК – работают все. А I2C уже бы дым пускал. Да и заливка данных с другого конца байта идёт. Абсолютно ничего общего с I2C
подскажите, как вывести на этот дисплей показания датчика холла?
Во втором скече датчик температуры и тм-ка на одном пине сидят?
Ничего страшного . На работу это не влияет.
Arduino: 1.8.10 (Windows 10), Плата:”Arduino/Genuino Uno”
Несколько библиотек найдено для “TM1637.h”
Используется: C:\Users\e_pas\OneDrive\Documents\Arduino\libraries\Grove_4-Digit_Display
exec: “{runtime.tools.ctags.path}/ctags”: file does not exist
Ошибка компиляции для платы Arduino/Genuino Uno.
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
“Показать подробный вывод во время компиляции”
У меня ошибка по библиотеке датчика
exit status 1
DHT.h: No such file or directory наверное надо 11 приписать?
У тебя просто не установлена библиотека (или IDE ее не видит). Установи ее и все заработает.
Добрый день, а к raspberry pi кто нибудь пробовал подключать ?
Доброго всем времени суток! Вопрос – нашел скетч с дисплеем ТМ. но там 11 выводов. Как подключить обычный четырех контактный. Помогите. С ув. Петр
Здравствуйте! В статье есть подробная схема и скетч для подключения TM1637
Здравствуйте, хочу сделать вольтметр 220В с выводом на индикатор, но видимо пенсию не зря назначают, мозг высох видимо, не получается вывести на индикатор, в мониторе порта показывает всё хорошо, а на индикаторе не понятно что, может кто подправит код
real_U_A = coff * sqrtUsum_A; //вычисляем реальное напряжение для фазы А
Usumm_A = 0;
counter = 0;
flag = 0;
Serial.println(real_U_A); //вывод напряжения 220
//Задание на выключение разделителя
tm1637.point(false);
int digitoneV = real_U_A/100; // После деления на 100 остаётся разряд сотен.
int digittwoV = real_U_A/10; // Выделяем разряд. десятков.
int digitfriV = real_U_A*10; // Выделяем разряд едениц.
//Выводим массив на дисплей
tm1637.display(1, digitoneV);
tm1637.display(2, digittwoV);
tm1637.display(3, digitfriV);
tm1637.display(4, 28); // U
//Задержка
delay(1000);
int digitoneV = real_U_A/100; // Выделяем разряд сотен.
int digittwoV = (real_U_A%10) /10; // Выделяем разряд. десятков.
int digitfriV = real_U_A%100; // Выделяем разряд едениц.