滑杆控制下灯带的不同效果(庆祝树莓派日)1
尽管在手柄等其它创客硬件中接触过滑杆,但在树莓派上却从没有试成功过,主要是因为滑杆移动产生的是一个模拟的值,我不知道应当怎样将其与模数转换器相连。2020年3月份,在古德微树莓派的钉钉直播课堂上,有老师讲解模数转换器,于是在硬件编程方面我又有了新的收获。
首先,我们要知道数字信号与模拟信号的区别:
在没有连接模数转换器时,树莓派扩展板上24号接口为数字接口,连接红外传感器时,可测试有无障碍,所传递是“0”或“1”的信号。但是当扩展板上连接模数转换器后,再将滑杆连接,我们通过系统调试程序可以看到的滑杆变动的数值在0~32767之间,就起到模拟信号传递的作用了。
我们只需要将模数转换器与树莓派扩展板上的端口相对应插入既可。
此后,我利用杜邦线将滑杆连接到24号接口。
(两组接线柱任意一组即可)
GND与GND相线,VCC与VCC相连,OTA与A0相连;
一、滑杆控制下某一盏小灯亮(滑杆位置决定哪一盏灯亮)
编写 程序如下:
定义变量i=0;定义变量滑杆值=0设置GPIO(18号)可控灯带60个灯并设置亮度为60;
重复执行以下指令:
将滑杆值定义为“映射数字:ADS(0)获取滑杆值”从区间到区间",并且为之取整;
为查看程序运行情况,增加“调出调试信息”滑杆值“
将变量i赋值为滑杆值;
设置灯带第i盏小灯的颜色为:红色:50,绿色:30,蓝色:10
等待0.1秒
灯带刷新显示
####上面程序让第i盏小灯亮,下面3句为让第i盏小灯灭:
设置灯带第i盏小灯的颜色为:红色:0,绿色:0,蓝色:0
等待0.1秒
灯带刷新显示
重复结束
运行效果如下
https://v.youku.com/v_show/id_XNDU4NTMyNTgwOA==.html
二、滑杆控制下的流水灯程序如下:
重复执行以下指令:
将滑杆值定义为“映射数字:ADS(0)获取滑杆值”从区间到区间",并且为之取整;
为查看程序运行情况,增加“调出调试信息”滑杆值“
将变量i赋值为滑杆值;
重复执行变量i从0到滑杆值每次增加1##依次执行从0~滑杆位置
设置灯带第i盏小灯的颜色为:红色:50,绿色:30,蓝色:10
等待0.1秒
灯带刷新显示
####上面程序让第i盏小灯亮,下面3句为让第i盏小灯灭:
设置灯带第i盏小灯的颜色为:红色:0,绿色:0,蓝色:0
等待0.1秒
灯带刷新显示
重复结束
重复结束
运行效果如下:
https://v.youku.com/v_show/id_XNDU4NTI1ODEwOA==.html?spm=a2hbt.13141534.app.5~5!2~5!2~5~5~5!2~5~5!2~5!2~5!2~5~5!3~A
注意:两段程序执行效果的相同是在程序执行的某一时刻有一盏小灯亮灭,前一段是滑杆位置对应数值就是相应灯带上的小灯亮,而后一程序 是从0开始,到滑杆值,依次亮灭第i盏灯,向流水一样递推前行;
三、滑杆控制下的跑马灯
程序如下:
重复执行以下指令:
将滑杆值定义为“映射数字:ADS(0)获取滑杆值”从区间到区间",并且为之取整;
为查看程序运行情况,增加“调出调试信息”滑杆值“
将变量i赋值为滑杆值;
重复执行变量i从0到滑杆值每次增加1##依次执行从0~滑杆位置
设置灯带第i盏小灯的颜色为:红色:50,绿色:30,蓝色:10
等待0.1秒
灯带刷新显示
重复结束
重复执行变量i从0到滑杆值每次增加1##依次执行从0~滑杆位置 ####上面程序让前i盏小灯亮,下面为让前i盏小灯灭:
设置灯带第i盏小灯的颜色为:红色:0,绿色:0,蓝色:0
等待0.1秒
灯带刷新显示
重复结束
重复结束
运行效果如下:
https://v.youku.com/v_show/id_XNDU4NTI0Nzg2OA==.html?spm=a2hbt.13141534.app.5~5!2~5!2~5~5~5!2~5~5!2~5!2~5!2~5~5!4~A
四、滑杆控制灯带前N盏灯亮灭闪烁
程序如下:
重复执行以下指令:
将滑杆值定义为“映射数字:ADS(0)获取滑杆值”从区间到区间",并且为之取整;
为查看程序运行情况,增加“调出调试信息”滑杆值“
将变量i赋值为滑杆值;
重复执行变量i从0到滑杆值每次增加1##依次执行从0~滑杆位置
设置灯带第i盏小灯的颜色为:红色:50,绿色:30,蓝色:10
重复结束
等待0.1秒
灯带刷新显示 重复执行变量i从0到滑杆值每次增加1##依次执行从0~滑杆位置 ####上面程序让前i盏小灯亮,下面为让前i盏小灯灭:
设置灯带第i盏小灯的颜色为:红色:0,绿色:0,蓝色:0
重复结束
等待0.1秒
灯带刷新显示重复结束
程序运行效果如下:
https://v.youku.com/v_show/id_XNDU4NTI1OTUwNA==.html?spm=a2hbt.13141534.app.5~5!2~5!2~5~5~5!2~5~5!2~5!2~5!2~5~5!2~A
在这一实验中,硬件上我第一次运用了滑杆和模数转换器,在软件上,我深刻理解了同样几句指令,在循环语中“重复执行变量i从0到滑杆值每次增加1”语句的相对位置不同,程序的意义不同所产生的效果也有所不同。
滑杆控制灯带,真不错 谢谢鼓励!
页:
[1]