bisai必备技能

基本技能:

IO输入
IO输出
外部中断
定时器
OLED屏幕的使用;
定时器产生PWM使用。电机调速等。

、、、、、、、、、、、/、/、、、、、、、、、、、、、、、、、、、
1、点亮LED灯;当做报警或者是信息提示使用;信号状态灯等;
2、蜂鸣器,状态显示;
3、5个独立按键,参数调试使用;
很多时候,5个按键已经够用了。
如果IO口够多空闲,那么可以设置更加多的按键。
按键的实现,有长按,短按,双击,可以通过读取外部状态进行判断,可以通过定时器10ms等定时查询的方式,也可以通过中断方法,其中中断方法有外部中断,以及AD中断(这个需要内部有ADC转换的单片机)。

如果外部中断不够多,那么需要使用74LS08芯片进行中断扩展;
普通的51单片机外部中断只有两个,所以不够多,如果需要外部做扩展的话,稍微复杂一点,所以,可以根据实际的使用场合,判断是利用定时查询,还是外部中断扩展的方式。

stm32外部中断够多,可以够用。

4、OLED屏幕的使用,显示信息;
显示字符串,比如wendu,等
显示整型数据,比如显示物体的个数,这是整数,显示时间,这也是整数;
显示小数,比如温度,不如距离等,就是小数。
电赛这个已经够用了。

5、PWM呼吸灯。
可以使用定时器产生PWM;普通51只能通过内部的定时器产生PWM,如果是stc15W1K内置有PWM,或者stc8a内置有PWM可以直接使用内部PWM。
stm32也有PWM模块,可以直接使用。

实现PWM呼吸灯的使用。

如果做项目,可能需要显示汉字等,那么就得自己做字库了。
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

三大通讯协议的学习。UART串口通信,I2C通信,SPI通信。

5、串口使用(必须),和一些芯片或者传感器做通信;或者和电脑进行串口通信。
这个功能比较有用。
在比赛中,经常需要和一些传感器通信,比如角度,比如温度传感器等;
可以先和电脑通信,电脑通过串口助手,发送数据到单片机,单片机能解读里面的数据。然后回传到电脑中。
然后可以和OPENMV模块通信;OPENMV图像处理得到坐标之后,发送数据给单片机,单片机显示坐标,然后单片机再重新收发。

6、I2C使用(必须),很多传感器都是利用IIC进行数据通信的,单片机通过IIC和传感器进行通信,包括发命令,接收数据,接收命名等。那么什么是I2C协议,如何规定其中的时序呢?这个需要弄明白。
目前开发板的资料比较多使用24C02进行学习。
正好,可以根据这个学习I2C协议的机会,进行24C02的学习,保存一些数据。24C02比喻成一个房间,里面能放一些数据,
有时候我们需要断电或者关机能重复调出来,比如恢复出厂设置等,就是一些固定的参数。如果24C02房间不够大,那么就换24C08都一样。

7、SPI通信(可以暂时跳过)
SPI也是经常需要进行学习的。
常用的SPI训练芯片有W25Q16,以及DS1302(变种的SPI)。

经过上述的基本使用之后。开始实际的控制类的技能训练。

(1)测温,之后控制温度;(控温)

温度测量
可以根据实际情况使用,比如DS18B20等;
控制温度,可以通过继电器,等控制加热块。后续使用控温的算法有PWM等;

(2)直流电机控制(至少懂得如何控制四路直流电机,包括换向,调速,测速)

直流电机控制模块包括L298N,TB6612,以及DRV系列,以及自己搭建H桥电路。实验室用L298N和TB6612较多,基本够用。
至少懂得L298N的控制,TB6612的控制,后面如果不够用,可以根据实际的备用物品进行方案调整;

调速,这个就是前面的PWM的功能了。如果是普通的51单片机,用定时器产生PWM,占据比较多资源;
因此建议使用IAP15W4K有内置的PWM,或者是stc8a8k有内置的PWM。
如果熟悉32单片机,那么就用他的PWM。

必须能够自己写一个函数,三个参数,PWM通道,PWM频率,PWM占空比
如setpwm(u8 pwmchannel,int pwmfre,int pwmzkb)
注意这里用占空比是int类型,因为浮点数运算,单片机运算压力比较大,因此,尽量用整型进行计算。

测速采用光电码盘进行测速。
可以采用定时器采集脉冲个数,
可以采用stm32的编码器模式。

后续做PID等需要速度数据。

(3)舵机控制

一般都是多路舵机,可以用IIC和PCA9685模块通信,这个模块可以控制16路的舵机。
必须能够自己写一个函数,三个参数,舵机号码,舵机角度
如setpwm(u8 pwmchannel,int jiaodu)
注意这里用占空比是int类型,因为浮点数运算,单片机运算压力比较大,因此,尽量用整型进行计算。
要能够进行舵机调速。

(4)步进电机控制

至少完成两路步进电机的控制。
这里的步进电机是42或者57步进电机。采用步进电机驱动器。
而不是那种小小的步进电机。

需要掌握电机的方向切换,
速度调速
等。

(5)OPENMV模块的使用

OPENMV模块,主要是图像处理。 需要实现颜色识别,以及测距等。通过这两个掌握python的基本语法。 将识别的结果,通过串口发送给单片机。进行显示。

(6)常用算法的使用。

滤波算法

采集到的数据,有时候不稳定,有噪音,因此需要过滤取一个有效的数值。
常用的滤波算法有中值滤波等等。

PID算法。—必须要做的。

PID有很多种,什么积分分离的,各种套路的都有。
可以进行学习。
设定一个数据,然后测量一个数据,两者对比,有误差,然后通过一定的算法,进行加速到达,但是误差较小。

(7)实战训练:

水温控制系统(测温+算法);
四轮车循迹小车(要求测速,爬坡);
板球控制系统(结合OPENMV)

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值