Это 2-контактная последовательная библиотека микросхем TM1637 для Arduino, оптимизированная по размеру и скорости. Он поддерживает комбинированный контроллер светодиодного драйвера и интерфейс сканирования клавиш для обнаружения одного нажатия клавиши.
Подключите два контакта питания и данных к цифровым контактам платы Arduino:
Следующие контакты TM1637 должны быть подключены к светодиодам и кнопкам в матрице:
Приколоть | ТМ1637 | Arduino UNO/Nano/Micro/Pro Micro/Leonardo/Mega2560 | WeMos D1 и R2 / Узел MCU | ВеМос ЛОЛИН32 |
---|---|---|---|---|
1 | ВКК | 5 В (или 3,3 В) | 3V3 | 3V3 |
2 | Земля | Земля | Земля | Земля |
3 | КЛК | 2 (ЦИФРОВОЙ контакт) | Д2 | 0 |
4 | ДИО | 3 (ЦИФРОВОЙ контакт) | Д3 | 4 |
TM1637 связывается с последовательным интерфейсом MCU с помощью двух проводов:
Примечание. Последовательный интерфейс несовместим с I2C или TWI, поскольку не используется адрес устройства с битом чтения/записи.
Arduino IDE | Примеры | Кнопка Erriez TM1637 и светодиодный драйвер:
ЭрриезTM1637
Инициализация
// Include TM1637 library
# include < ErriezTM1637.h >
// Connect display pins to the Arduino DIGITAL pins
# define TM1637_CLK_PIN 2
# define TM1637_DIO_PIN 3
// Create tm1637 object
TM1637 tm1637 (TM1637_CLK_PIN, TM1637_DIO_PIN);
void setup ()
{
// Initialize TM1637
tm1637. begin ();
}
Дисплей вкл/выкл
// Turn display off
tm1637.displayOff();
// Turn display on
tm1637.displayOn();
Выключите все светодиоды
// Turn all LED's off
tm1637.clear();
Получить ключи
// Get 8-bit key-scan
uint8_t keys = tm1637.getKeys();
Записать байт для отображения регистра
// Write segment LED's to the first display registers 0x00..0x0F with value 0x00..0xff to
// display numbers and characters. Just an example which depends on the hardware:
tm1637.writeData( 0x01 , 0x01 );
Буфер записи для отображения регистров
// Creat buffer with LED's
uint8_t buf[] = { 0b10000110 , 0b00111111 , 0b00111111 , 0b00111111 , 0b00111111 , 0b00111111 };
// Write buffer to TM1637
tm1637.writeData( 0x00 , buf, sizeof (buf));
Библиотека использует оптимизированное управление выводами для целей AVR. Другие цели используют функции управления выводами digitalRead() и digitalWrite() по умолчанию.
Пример выходного теста:
Доска | КЛК | Чтение ключей | Записать байт | Записать 16-байтовый буфер | Четкий дисплей |
---|---|---|---|---|---|
Про Мини 8 МГц | 84 кГц | 352us | 344us | 1080 мкс | 1072us |
УНО 16 МГц | 170 кГц | 156us | 152us | 496us | 480us |
WeMos D1 и R2 80 МГц | 205 кГц | 261us | 137us | 396us | 396us |
WeMos D1 и R2 160 МГц | 300 кГц | 233us | 96us | 275us | 271us |
Пожалуйста, обратитесь к странице Wiki.