#include <TM1637.h>
int8_t DispMSG[] = {0, 0, 0, 0}; // Настройка символов для последующего вывода на дисплей
//Определяем ножки для подключения к плате Arduino
#define CLK 3
#define DIO 2
//Создаём объект класса TM1637, в качестве параметров
//передаём номера ножек подключения
TM1637 tm1637(CLK, DIO);
int i=0;
int t[4]={0,0,0,0};void num(unsigned int value){
t[3]=((value/1000)%10);
t[2]=((value/100)%10);
t[1]=((value/10)%10);
t[0]=(value%10);
}void setup(){
//Инициализация модуля
tm1637.init();
//Установка яркости свечения сегментов
/*
0 Тёмный
-----------
7 Яркий
*/
tm1637.set(2);
//Задание на выключение разделителя
tm1637.point(false);
//Задание на включение разделителя
// tm1637.point(true);
tm1637.display(DispMSG);
//Задержка
delay(1000);
}
void loop(){
num(i);
//Выводим массив на дисплей
tm1637.display(0,t[3]);
tm1637.display(1,t[2]);
tm1637.display(2,t[1]);
tm1637.display(3,t[0]);
//Задержка
delay(500);
i++;
if (i>=9999){
i=0;
}
Кроме вывода числовых символов на экран, так же можно выводить и тестовые значения, для этого внутри библиотеки уже есть готовая таблица:
Но кроме данных символов также можно выводить и любую комбинацию символов, которую позволяет вывести семисегментный индикатор. Если рассмотреть семисегментный индикатор:
так, если мы захотим вывести символ b — нам нужно будем подать логический уровень на все входа кроме A и B, таким образом у нас выходит 0bx01111100, другими словами:
Теперь надо поместить код данного символа 0x7C в специальный массив:
static int8_t TubeTab[] ={ ……. };
который находиться в файле ТМ1637.срр в библиотеке ТМ637. Добавим в конец массива новый символ, Вы сможете выводить его под номером 16.