Описание
Устройство ввода-вывода данных, состоящее из 8-ми кнопок. 8-ми семисегментных индикатора и 8-ми светодиодов. Индикаторы позволяют отображать цифры и некоторые буквы, а светодиоды могут использоваться в качестве наглядной линейной шкалы. К... Перейти к полному описанию
Артикул: 24255080
Устройство ввода-вывода данных, состоящее из 8-ми кнопок. 8-ми семисегментных индикатора и 8-ми светодиодов. Индикаторы позволяют отображать цифры и некоторые буквы, а светодиоды могут использоваться в качестве наглядной линейной шкалы. Кнопки могут быть использованы для управления широким спектром других приборов. В общем, способов применения данного модуля масса
Работа осуществляется по собственному протоколу из трех сигнальных линий, очень похоже на протокол SPI. Через протокол возможно так же программное управление яркостью свечения светодиодов и индикаторов.
Также, в данном модуле возможно определение нажатия нескольких кнопок одновременно.
Содержит в каждом разряде кроме сегментов отображения символа точку отделяющую целую часть числа от дробной. Отрицательные электроды светодиодов сегментов объединены отдельно в каждом разряде, выводы 6, 8, 9, 12.
Всю логику реализует микросхема TM1638 китайской фирмы Titan Micro Electronics. От микроконтроллера она принимает и передает данные по собственному последовательному интерфейсу из трех сигналов, близкому к интерфейсу SPI. Отличие от SPI состоит в объединении в одну линию двух линий приема и передачи.
В целом, можно не разбираться в хитросплетениях интерфейса и использовать готовые модули для работы с Arduino IDE
Рабочее напряжение 5 В ± 10%
Максимальный ток 130 мА
Рабочая температура: -15…60 °C
VCC – питание
GND – земля
STB – сигнал стробирования
CLK – тактовый сигнал
DIO – двунаправленная линия данных
Можно найти множество библиотек для работы с этим модулем. Один из них https://github.com/rjbatista/tm1638-library
#include <TM1638.h> // define a module on data pin 8, clock pin 9 and strobe pin 10 TM1638 module(8, 9, 10); unsigned long a=1; void setup() { } void loop() { for (a=1; a<=100; a++) { module.setDisplayToDecNumber(a,0,false); delay(100); } module.setDisplayToString("Complete"); delay(1000); }