首页 » 科学 » 和爷爷一路学Arduino:玩LED点阵(HT16K33)1_点阵_组件

和爷爷一路学Arduino:玩LED点阵(HT16K33)1_点阵_组件

乖囧猫 2024-12-09 16:26:41 0

扫一扫用手机浏览

文章目录 [+]

左为Mixly代码,右为Arduino代码

2019年,爷爷买了一个很便宜的LED灯点阵。
不知道是啥型号,淘宝店家也说不清。
只瞥见电路板上印着“8X8 Matrix”。
这个不印我们也知道,外表便是八八六十四个LED灯排列成8X8显示点阵。
我们试了很多库,终于弄清了,它与HT16K33兼容。

和爷爷一路学Arduino:玩LED点阵(HT16K33)1_点阵_组件 科学

8X8点阵有64个LED,按常规要用64个数字口。
这是不现实的,由于,Arduino UNO一共只有14+6=20个数字口。
这个组件用了I2C接口。
Arduino掌握板因此串行形式向HT16K33送数据的,采取的是I2C(Inter-Integrated Circuit,芯片间)接口。
这样,只须要占用两个数字口,一个传时钟旗子暗记,SCL(Serial Clock Line,串行时钟线);另一个传数据旗子暗记,SDA(Serial Data Line,串行数据线)。

这个组件有4个引脚。
自下而上,V:接Arduino板的VCC;C:便是I2C的SCL,我们接Arduino板的D3;D:便是I2C的SDA,我们接D2;G:接GND。

#include <Matrix.h>Matrix myMatrix(2,3);void setup(){ myMatrix.begin(0x70); myMatrix.clear();}void loop(){ myMatrix.scrollMessage("Michael",300);}

代码解释,首先要引入(C措辞叫“包含”,用宏指令#include)Matrix.h头文件。
它里面有类Matrix,按这个类天生一个工具,并指定SCL与SDA所连接的数字口编号。
在初始化setup()函数里,调用工具里的clear()函数,对点阵清零,也便是让64个灯都熄灭。
主体程序loop()函数只有一句,调用工具里的scrollMessage()函数,让显示滚动。
这函数有两个参数,一是指定要滚动的,这里送的是我的英文名Micael;二是滚动速率,300是比较慢的。

现在这个是用Mixly 1.1.5重新编的。
2019年,那时还没有正式版的Mixly,只有β版,彷佛是0.996版,库函数有问题,做这个滚动没问题,做其它显示是反的。
这个点阵组件也有问题,我们把组件按它的印字放,显示的字是倒着从左到右滚动的。

玩这个组件,可以学习I2C接口,这个接口是很主要的。
其余,这个组件玩法还有很多,往后再接着说。

末了还是那句话:希望大家批评,一起学习进步。

标签:

相关文章

硬盘电机负载能力_电扇_电机

驱动板范例电路芯片各脚用tda5144at做了一个无刷电机驱动。用来驱动硬盘电机做的小风扇,电源12伏。不加风扇,单电机运转,用调...

科学 2024-12-12 阅读0 评论0