55 lines
3.8 KiB
Plaintext
55 lines
3.8 KiB
Plaintext
RTOS多任务模式实现如下功能:
|
||
|
||
1.RFID卡片读取,基于RC522模块
|
||
模块引脚定义:
|
||
#define RFID_RST_PIN 14 //RC522 复位引脚
|
||
#define RFID_SS_PIN 10 //RC522 片选引脚
|
||
#define RFID_MISO_PIN 13 // MISO 引脚
|
||
#define RFID_MOSI_PIN 12 // MOSI 引脚
|
||
#define RFID_SCK_PIN 11 // SCK 引脚
|
||
|
||
将读取到的卡片中用户数据区的字符信息发送给串口,发送格式为“SORC_XXXXX”,比如,如果读取到HA001就发送"SORC_HA001",卡片在读取状态下不要持续发送,只需要发送1次,如果卡片离开读卡器,再次放入读卡器又读取到相同的信息,则需要发送。注意,这里要把读取到的数据转换为ASCII字符
|
||
|
||
|
||
2.基于FASTLED库,控制位于GPIO4 引脚上的1颗WS2812灯珠,并接受如下来自串口的指令。
|
||
串口指令“MO_LED_0”,灯珠熄灭
|
||
串口指令“MO_LED_1”,灯珠亮蓝色
|
||
串口指令“MO_LED_2”,灯珠亮绿色
|
||
串口指令“MO_LED_3”,灯珠亮橙色
|
||
串口指令“MO_LED_4”,灯珠亮红色
|
||
串口指令“MO_LED_5”,灯珠亮紫色
|
||
串口指令“MO_LED_6”,灯珠亮黄色
|
||
串口指令“MO_LED_7”,灯珠亮白色,为默认色
|
||
|
||
|
||
3.基于FASTLED库,控制位于GPIO5 引脚上的160颗ws2812灯带,灯带有5个状态。可被串口指令控制。
|
||
串口指令“MO_LEDN_0”,灯珠全灭
|
||
串口指令“MO_LEDN_1”,灯珠全部亮白色
|
||
串口指令“MO_LEDN_2”,彩虹流水灯效果
|
||
串口指令“MO_LEDN_3”,彩虹呼吸灯效果 串口指令“MO_LEDN_4”,彩虹火车灯效果,灯珠从第1颗开始出来,往灯带尾部前进,火车灯长度为16颗,当走到尾部时,所有灯珠要全部要进站,也就是一颗颗减少,直到灯带上没有灯珠亮起,再一颗颗倒回来,一直走到所有灯珠倒进第一颗灯珠进站。每次从一头出来就变换一种彩虹色。
|
||
|
||
状态0 全部熄灭状态,串口指令“MO_LEDN_0”;
|
||
状态1 纯白色,串口指令“MO_LEDN_1”;
|
||
状态2 彩虹流水灯,串口指令“MO_LEDN_2”,次
|
||
状态3 彩虹呼吸灯,串口指令“MO_LEDN_3”
|
||
状态4 马卡龙火车灯,串口指令“MO_LEDN_4”,效果为每次从5种马卡龙色中选择一种,以16颗灯珠为一列,从灯带头跑到灯带尾,变色后又从灯带尾跑到灯带头,以此循环。
|
||
|
||
4.在GPIO6上输出1000hz的pwm控制信号,默认信号强度为80%,根据串口的指令,来控制输出信号强度。
|
||
串口指令“MO_PWM_0”,输出为0;
|
||
串口指令“MO_PWM_20”,输出为20%;
|
||
串口指令“MO_PWM_40”,输出为40%;
|
||
串口指令“MO_PWM_60”,输出为60%;
|
||
串口指令“MO_PWM_80”,输出为80%;
|
||
串口指令“MO_PWM_1”,输出为100%;
|
||
|
||
5.检测GPIO15的电平变化,GPIO15接入一个触点按钮,按钮另一端接入GND。按钮或引脚按照下述行为,进行响应。
|
||
GPIO15默认为高电平,当按钮按下后,出发导通GND低电平,向串口发送1次“SO_BT0_HIGH”,如果按键持续按下超过2秒,则向串口发送一次“SO_BT0_HIGHL”,如果按钮松开,则向串口发送“SO_BT0_LOW”。
|
||
|
||
|
||
6.检测GPIO16的电平状态,默认为低电平,如果检测到高电平信号,则向串口发送1次“SO_WAKEUP1”,如果恢复为低则向串口发送1次“SO_WAKEUP0”。
|
||
|
||
7.检测GPIO17的电平状态,默认为低电平,如果检测到高电平信号,则向串口发送1次“SO_BT1_HIGH”,如果恢复为低,则向串口发送1次“SO_BT1_LOW”,
|
||
|
||
8.检测GPIO18的电平状态,默认为低电平,如果检测到高电平信号,则向串口发送1次“SO_BT2_HIGH”,如果恢复为低,则向串口发送1次“SO_BT2_LOW”,9
|
||
|
||
9.位于gpio48的引脚设置为一颗ws2812灯珠,默认关闭状态。 |