项目四十一 按键控制RGB灯#

1.实验说明#

在前面课程中,利用旋转编码器计数然后控制RGB模块。在这一课程中,利用代码,计算出按下模块上按键的次数。设置计数代码时,可以参考第四章实验十七的计数代码。然后将所得数据除以三,所得余数为0 1 2三种。然后通过不同的余数,控制RGB模块上LED显示不同的颜色。

这样,就可以通过不断的按下按键,任意调节RGB模块上LED显示不同颜色了(三种颜色)。

2.实验器材#

  • keyes brick 插件RGB模块*1

  • keyes UNO R3开发板*1

  • keyes brick 按键传感器*1

  • 传感器扩展板*1

  • 4P双头XH2.54连接线*1

  • 3P 双头XH2.54连接线*1

  • USB线*1

3.接线图#

4.测试代码#

5.代码说明#

  1. 单元内,找到以下元件。

  1. 通过以下表格,我们可以了解这个代码的逻辑设置。

初始设置

PushCounter设置为0(累计通过物体数目) PushCounter1设置为0(累计通过物体数目除以3的余数) State设置为1(传感信号端数值) lastState设置为1(传感器信号端上一循环数值)

按键按下(一瞬间)

State检测到变为0,lastState为1,两个数据不相等。

PushCounter设置为PushCounter加1

PushCounter1加1或变为0

长按按键(循环)

State检测到变为0,lastState设置为0,两个数据相等。

PushCounter不变

PushCounte1不变

松开按键(一瞬间)

State检测到变为1,lastState设置为0,两个数据不相等。

PushCounter不变

PushCounte1不变

按键松开(循环)

State检测到变为1,lastState设置为1,两个数据相等。

PushCounter不变

PushCounte1不变

PushCounte1为0

设置RGB模块上LED显示红色

PushCounte1为1

设置RGB模块上LED显示绿色

PushCounte1为2

设置RGB模块上LED显示蓝色

6.测试结果#

上传测试代码成功,按照接线图接好线,利用USB上电后,打开串口监视器,设置波特率为9600;串口监视器显示数据,不断按下按键,数据在0 1 2中变化。当为0时,RGB模块上LED显示红色;当为1时,RGB模块上LED显示绿色;当为2时,RGB模块上LED显示蓝色。

image-20251209151240551