目录
LCD1602液晶显示屏
时钟小项目
四位数码管
动态显示
火焰传感器
LCD1602液晶显示屏
有一个背光(led灯珠),方便夜间使用。
不能写汉字,只能显示ASIIC码的字符,汉字太复杂,它的像素点太少了。
LCD12864(128×64点),可以显示图像和汉字。
解释:display(),不是必要的,我们用print(),之后,就可以直接显示出来。
setCursor(),参数从0开始的。
因为没有设置对比度。
语法
analogWrite(pin, value)参数
pin:被读取的模拟引脚号码
value:0到255之间的PWM频率值, 0对应off,255对应on
![]()
一个显示阵列是5*8=40个
点亮两秒,熄灭两秒。
三秒以后:
清屏了
设置光标在第一行,第12列的位置。然后回滚动。
它是五位五位地滚动的,如果想要一位一位滚动,那就for循环。
这样就能一位一位移动了
只移动一位就停止了
这样就是2.5秒向左移动一格
一般write()用于一般输出字符。
下面显示一个汉字
时钟小项目
![]()
四位数码管
正极连在一起就是共阳极, 负极连在一起就是共阴极。
我们发现:四位只能显示一样的数字。
下面我们写函数:
数字0
数字1
数字2
数字3,4,5,6,7,8,9 以此类推
最后写一个清屏的函数
因为这个是共阳极,在负极全部加高电平,又因为二极管的单向导电性,会导致所以的都不会亮。
下面接着演示:
第一位显示1,第二位显示2,其实他们不可能同时显示,因为引脚是公用的,只有通过延时去实现。
你会发现有的不该亮的也有一点亮了,那是因为我们没有进行清屏(图上可能看不太清楚,延时越小,这个现象越明显,尤其是延时1的时候)。
为什么会这样,因为我们没有清屏,数字1和数字2的效果会重合,会导致这种效果。
这是用了清屏的效果:
下面再进行一下改进,把四个公共级封装成函数:
动态显示
123123动态的变化
火焰传感器
补充:有火输出0还是1,和你买到模块有关系,同理,火的大小和电压不一定成反比。具体情况具体看待。
传感器有阈值(yuzhi):临界值。
有正负极,5个数字模拟公共的口。
说明没有火焰时输出1.
有火焰输出0
火越大值越小
也可以用串口绘图器来进行观察。