一年一度的新电杯又再度拉开帷幕,每年的新电杯题目都是给大一的新生量身定做的,所以希望17级新生能够在比赛中收获知识与智慧,并且获得好成绩。
针对于这次比赛,我特地为此写了3个博客,一篇就是当前这个,每天都会在原网址更新内容。
以下是三篇博客的网址:
更多比赛内容和消息,请添加微信公众号:新电社
1、十大滤波算法的网址:https://blog.csdn.net/qq_38351824/article/details/80289621
适用:A题、B题
无论是B题的成吨传感器,还是A题的一个传感器,都需要滤波。A题侧重于算法,那么首要就是做到精确无误地采集数据、识别颜色。对于B题似乎就更加重要了,ADC采集会有很多无效数据、震荡数据,并且如果需要采集精确的数据,都需要滤波。
注意:使用滤波的前提是采集回来的数据出现跳变、震荡、精度不准等情况时,才需要我们去使用滤波。是否使用还需要根据实际情况去判断。
2、B题分析:
① 先来撒一波资料(配套资料):
DHT11:点击打开链接
土壤湿度传感器:点击打开链接
红外遥控:点击打开链接
双路电机驱动:点击打开链接
测速模块:还未到货
电流检测模块:还未到货
② 题目分析:
one. 基本要求(1)可在显示屏上显示温度值及土壤湿度值;
考察温度传感器和土壤湿度传感器的驱动方法,均使用ADC采集,请注意使用的通道和时序是否冲突。
考察温度传感器和土壤湿度传感器精确采集。
考察lcd和oled库函数调用,一般stm32或者k60都是有这方面的库(如有需要请在下面留言)。
(2)通过红外遥控手动开启/停止电机及水泵;
考察库函数的调用、红外传感器的原理。
考察PWM的配置与使用、电机驱动的使用。
(3)当温度低于 26 度 时,电机静止;当温度高于 26 度 时,电机转动,当温度大于 32 度时,电机转速最快,并伴随 声光警报;
考察简单的C语言知识点---条件语句。
考察ADC的精确采集。
考察PWM的配置与使用、电机驱动的使用。
考察GPIO的配置、蜂鸣器类型(有源、无源两类)的知识。
(4)电机转速随温度线性变化,且变化明显、稳定,即不可有明显的转速过快或过慢现象;
考察ADC的精确采集。
考察PWM的配置与使用、电机驱动的使用。
考察自学能力和算法。
two. 发挥部分
(1)通过红外遥控调整电机转速、水泵流速;
考察库函数的调用、红外传感器的原理。
考察PWM的配置与使用、电机驱动的使用。
考察简单的C语言知识---自加算法。
(2)可在显示屏上显示电机转速;
考察lcd和oled库函数调用,一般stm32或者k60都是有这方面的库(如有需要请在下面留言)。
考察输入捕获知识点。
( 3 )可通过检测电机回路电流,实时检测电机功率,并将电流及功率都显示出来 考察ADC的精确采集。
考察阅读技术报告的能力。
考察简单的功率的公式。
单片机的几个基础:ADC采集、OLED 屏幕(或lcd或数码管等)、输入捕获、PWM的配置、GPIO的配置;
外加一些非常简单的算法(依靠C语言);
滤波算法的使用;
③ 注意事项:
(1)ADC使用过多,最好配置完一个ADC测试一个,配置好两个,都一起测试一下。
(2)输入捕获和PWM注意不要使用冲突的通道。
(3)写程序,要勤编译,常保存,多下载,勤调试。
(4)连接电路时,不要接反正负极,不要断路、短路。
3、A题分析:
① 先来撒一波资料(配套资料):
颜色模块传感器:点击打开链接
步进电机电机驱动:点击打开链接
② 题目分析:
one. 基本要求 (1)可以判断其前方有无红色 LED 灯;
(2)找到随机方向上的红色 LED 灯;
(3)找到随机方向上的绿色 LED 灯;
(4)找到随机方向上的蓝色 LED 灯;
不难发现基础要求部分,就是举一反三的操作。
考察输入捕获的配置方法。
考察准确采集数据从而判断颜色的方法。
考察C语言的一些基础知识。
着重对于算法的研究,能做到举一反三。
two. 发挥部分(1)识别不同颜色的红绿灯的位置,并按照红到绿顺序旋转;
(2)红、绿、蓝灯 6 个,灯亮灭不定,颜色不定,亮灯时长10s,在灯亮期间找到灯的位置,一共 5 次;
(3)红绿蓝灯 6 个,先扫描一圈,识别出哪种颜色的灯最多,再扫描一圈,识别颜色最多的灯,并在每个灯处停留 2s
不难发现发挥部分,同样也是举一反三的操作,无非就是:
①颜色传感器扫描的策略;
②步进电机的准确控制;
③当获取到需要的数据(识别出需要的灯的颜色)时,如何将目前的数据(位置和灯的颜色信息)存储下来;
考察识别的策略。
考察输入捕获的配置方法。
考察准确采集数据从而判断颜色的方法。
考察基础C语言的知识---可用数组、条件语句搭配完成。
考察C语言的一些基础知识。
着重对于算法的研究,以及对步进电机的控制。
③ 注意事项:
(1)算法使用过多,最好将代码片段化、勤注释。
(2)想算法和策略时,不妨拿出纸和笔,在纸上呈现你的思想,再将你的思想变成伪代码,最终写出代码。
(3)写程序,要勤编译,常保存,多下载,勤调试。
(4)连接电路时,不要接反正负极,不要断路、短路。