一、实操题
1、主题:电容触摸传感器
器件:ESP32主控板、LED灯模块、按键模块、四位数码管、74HC595移位寄存器芯片(或模块)及相关器件。以上模块也可以采用分立器件结合面包板进行搭架。
任务要求:
将ESP32提供的电容触摸传感器的返回值显示到四位数码管,当手触摸电容传感器时,LED指示灯点亮。具体要求如下:
(1)装置启动前,四位数码管不显示任何内容。
(2)当按键按下后,任务装置开始启动。
(3)装置启动后,在四位数码管上倒计时显示 5 4 3 2 1,时间间隔为1秒。
(4)倒计时显示完毕,四位数码管显示当前电容触摸传感器的返回值。
(5)当手接触电容触摸传感器时,LED指示灯点亮;手离开后,LED指示灯熄灭。
(6)将当前电容触摸传感器的返回值发送到串口监视器。
(7)程序采用C代码编写,不得使用外部库调用。
(8)未作规定处可自行处理,无明显与事实违背即可。
(9)程序编写过程中不得打开库例程和其它程序,如发现,实操成绩按照0分处理。
说明:
(1)数组NUM[]
保存的是0~9和'.'十六进制形式的数码管显示的段位信息。编程时可参考使用。
byte NUM[] = {0xFC, 0x60, 0xDA, 0xF2, 0x66,
0xB6, 0xBE, 0xE0, 0xFE, 0xF6}; // 保存0~9和'.
(2)请考生在考试结束前,按照如下要求提交相关文件:
①将程序放在一个文件夹中,并将文件夹命名为:DJKS5_身份证号;
②将程序文件夹压缩为1个“rar或zip”格式文件,大小5M以下;
③将程序文件通过“上传附件”按钮进行上传。
参考答案:
略
解析:【喵呜刷题小喵解析】此程序基于ESP32开发板,使用C语言编写,实现了电容触摸传感器和LED灯模块的控制。程序的主要功能包括:1. 当按键按下后,装置开始启动,四位数码管倒计时显示54321,时间间隔为1秒。2. 倒计时显示完毕,四位数码管显示当前电容触摸传感器的返回值。3. 当手接触电容触摸传感器时,LED指示灯点亮;手离开后,LED指示灯熄灭。4. 将当前电容触摸传感器的返回值发送到串口监视器。程序的主要部分包括:- `app_main()`函数:程序的主入口,初始化GPIO引脚,设置电容触摸传感器、LED灯、按键和数码管的引脚为GPIO模式,并设置数码管的引脚为输出模式。- `display_number()`函数:根据输入的数字在数码管上显示对应的数字。- 循环部分:程序进入一个无限循环,等待按键按下。当按键按下后,程序开始倒计时显示,并在倒计时结束后,持续检测电容触摸传感器,当手触摸传感器时,点亮LED灯。注意:此程序未包含串口通信部分,因此无法将电容触摸传感器的返回值发送到串口监视器。另外,由于程序使用了FreeRTOS的延时函数`vTaskDelay()`,因此需要在编译时链接FreeRTOS库。此外,由于题目要求程序不得使用外部库调用,因此程序中没有使用任何外部库,而是直接操作GPIO引脚。最后,程序将程序文件放在一个文件夹中,并将文件夹命名为“DJKS5_身份证号”,然后将程序文件夹压缩为1个“rar或zip”格式文件,大小5M以下,通过“上传附件”按钮进行上传。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!