TM1638深圳天微生产的一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用IC,内部集成有MCU数字接口、数据锁存器、LED驱动、键盘扫描等电路。使用TM1638的显式模块在市场上非常多,价格也很便宜。某宝10元左右就可以买到。例如下面的数码管+LED+按键模块(可以使用TM1638+led+key进行搜索): 本文通过简单示例介绍Arduino环境中使用ESP32开发板驱动TM1638的方法。其中也包含作者本人踩过的坑,希望可以对读者有些帮助。 连接UNO D1 R32和TM1638扩展板 下图的连法不是必须,只是后续程序的基础,由于拍照角度,文字和端口位置稍微有些偏差,实际的接法以后面的连接表为准。 连接表 Arduino D1 R32 TM1638 Led Key Board 3V3 VCC GND GND IO16 STB IO17 CLK IO25 DIO 代码说明 首先定义使用的每个引脚。如果读者希望使用其他的引脚,只要代码中的定义和前面的接续方式一致即可。: const int strobe = 16; const int clk = 17; const int dio = 25; 从连接方式应该可以看出,数据线只有一根,也就是说所有的数据都是以串行方式传送的。第一段代码就是以串行方式写入数据的函数,内容就是从低位开始的移位和输出操作。 void