项目简介
本项目是一个Arduino库,用于驱动基于TM1638、TM1637、TM1640等芯片的LED、按键及LED矩阵模块。通过该库,用户可在7段显示器上使用print()方法,在矩阵显示器上使用Adafruit GFX库,实现多样化的显示和交互功能。
项目的主要特性和功能
- 多芯片支持:支持TM1620、TM1628、TM1630、TM1637、TM1638、TM1640、TM1650和TM1668等芯片,部分其他制造商的类似芯片也可能兼容。
- 显示功能:提供print()和println()方法,便于在7段显示器上显示文本和数字;支持Adafruit GFX库,可在LED矩阵上实现高级图形显示。
- 按键检测:支持检测按键状态,包括释放、单击、双击和长按等事件,可通过回调函数处理。
- 亮度控制:能控制LED的亮度。
- 多模块组合:支持将多个LED矩阵模块组合成一个大矩阵。
安装使用步骤
- 假设你已下载本项目的源码文件。
- 将所需文件(如TM16xx.cpp、TM16xx.h、TM16xxMatrix.cpp、TM16xxMatrix.h等)复制到你的Arduino项目目录中。
- 在Arduino IDE中打开项目,包含必要的头文件,例如: ```C++
include
include
4. 实例化芯片对应的类对象,例如:
C++
TM1638 module(8, 9, 7); // DIO=8, CLK=9, STB=7
TM16xxDisplay display(&module, 8); // TM16xx object, 8 digits
5. 在setup()函数中进行初始化设置,如设置显示强度、显示初始文本等:
C++
void setup() {
display.setupDisplay(true, 2); // on=true, intensity-2 (range 0-7)
display.setDisplayToString("HALO"); // display simple text
}
6. 在loop()函数中实现具体的显示和交互逻辑,如显示时间、检测按键等:
C++
void loop() {
int nTime = ((millis() / 1000) / 60) * 100 + (millis() / 1000) % 60; // convert time to minutes+seconds as integer
display.setDisplayToDecNumber(nTime, _BV(4)); // display milliseconds with dot on digit 4
uint32_t dwButtons=module.getButtons(); Serial.println(dwButtons, HEX); } ```
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】