版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《单片机基础》课程总结报告第页《单片机基础》总结报告避障+蓝牙小车目录1 作品简介 32 设计方案 43 制作概况 44 设计总结 54.1 硬件设计 64.2 软件设计 105 调试过程 206 测试结果 217 总结 218附录 21作品简介本组作品是超声波避障+蓝牙小车,用到了一个Arduino、一个L298电机、一个HC-SR04超声波、一个HC-05蓝牙、两个红外避障传感器、一个OLED12864显示屏、一个LED。该作品可通过手机端蓝牙串口软件实现自动避障和遥控两个模式的切换,并且在切换时车头LED灯会闪烁。在遥控模式中可实现控制小车的前进、后退、左转、右转、加速、减速。在自动避障模式中小车通过车头的超声波模块判断前方是否有障碍物,并利用两个红外模块检测两边是否有障碍物,从而决定如何进行避障处理。显示屏模块在小车运动状态发生改变时会显示当前运动状态,并且在自动避障模式下会显示距离前方障碍物的距离。经过测试,小车能够稳定地实现以上的功能。实现以上功能所用到的技术主要是Arduino的基本操作,利用L298电机进行小车的驱动,利用HC-SR04超声波实现测距,利用HC-05蓝牙实现手机与Arduino的通信,利用红外传感器辅助避障,OLED12864显示屏的使用,控制LED灯的亮灭。本小车的两个模式对应着两种不同的应用场景,遥控模式是实现小车和外部的通信,外界可对小车实现精准的控制,自动避障模式更偏向的是小车的自动控制,通过预先设定好的一些情景时小车在实际行进中如果遇到了同样的情景可以做出预想的反应。本项目实现的功能是最基础的,并没有实际的商业用途,但就其已有的功能来看,可以用于车辆的近程控制和自动控制。表1组员内部工作分工学号姓名负责内容工作量占比备注17373206胡用代码的整体编写、小车的安装与调试40%组长17373184彭尧蓝牙模块、小车外壳制作、撰写总结报告20%组员17373185冯佳琪蓝牙模块、小车外壳制作、准备答辩PPT20%组员16711036王佳星绘制电路图、剪辑小车展示视频20%组员注:以上的分工为每个人主要负责的部分,但在实际过程中每个人对其他人负责的部分都有一定程度的参与。设计方案(1)小车的车轮数量方案一:三轮小车方案二:四轮小车最初考虑到电机的驱动能力,设计的是三轮小车。但在后期的测试中发现三轮小车的控制性差,可自主转动的单前轮易受到地面凹凸、摩擦等影响从而脱离蓝牙对小车运动状态的控制。在将小车改进为四轮后,小车的前进、后退基本能够依照直线进行。因此最后选择了方案二。(2)实现测距和避障模块的选择方案一:超声波测距,红外避障方案二:超声波测距和避障,红外辅助左右避障利用车头的超声波实现测距和前方物体的避障。没有使用红外测距是因为红外可测得的距离范围很小,而且精度不高,容易由于距离前方障碍物过近而直接撞上。而采取红外辅助左右避障是因为红外实现避障在代码编写层面更为简单,并且红外的避障是在前方有障碍物时需要根据左右两边是否有障碍物来选择小车的转向,此时尽管小车距离左右障碍物较近,对于小车的正常转弯躲避也不会产生影响。综上,我们选择了方案二。制作概况1、9月16号进行了小组第一次讨论,确定了选题、制作材料。明确了将小车的功能分为蓝牙遥控、红外避障、超声波测距、屏幕显示,并进行初步的任务分配。2、第二周进行了理论知识的学习、完成了零件的采购。3、9月22号进行小组第二次讨论,开始进行代码的编写和小车的初步拼装。4、第三周进行小车结构的基本组装,安装底盘、电机驱动、主板等模块,实现项目的底层基础功能。5、第四周安装超声波、蓝牙模块,并根据实际情况将原定的超声波测距改为超声波测距加避障,基本实现了超声波测距和避障以及红外避障。6、第五周实现蓝牙控制小车的前进、后退、左转、右转、停止。7、第六周处理已完成模块存在的问题,使可通过蓝牙稳定实现对小车的控制。8、10月26号进行小组第三次讨论,汇总所有人前几周的工作,处理代码汇总后出现的调试问题,根据选题要求确定作品还有哪些功能需要完善。9、第八、九周着手实现作品的显示功能。10、第十周整体处理作品存在的问题,包括红外避障、显示模块。11、第十一周进行小车的包装,增加了小车换挡的功能。12、第十二周由于小车存在跑不直的问题,将小车由三轮改为四轮,对小车重新进行包装。13、第十三周检查小车的各项功能,对小车的外壳进行细节性的处理。14、第十四周完成电路图、设计报告、展示PPT。设计总结首先确定了要做蓝牙遥控小车,并且具有自动避障功能,那么自然地就将项目分成了两大块。而实现遥控以及两个模式的自由切换最为重要的模块是蓝牙模块。在能成功实现手机和小车的通信后,小车大的架构基本搭好,接下来需要做的就是通过手机传来的指令来选择小车需要做出何种反应。按照要求,小车需要能够前进、后退、停止、转弯、加速、减速,这部分通过学习电机的使用就能解决。超声波测距、红外避障、显示屏显示同样均可通过相关模块的学习能够解决。所以从理论上来看该项目是很容易实现的,但在实际操作中,由于外部环境的影响以及各模块之间的参数需要进行协调,所以在制作过程中还是遇到了许多问题的。硬件设计图1硬件设计实物连接图总览图arduinouno开发板模块功能:单片机黑箱核心,烧录程序,通过传感器收取信号,运行代码执行模块功能电源模块功能:为系统提供电能,使单片机能够正常运作面包板功能:方便杜邦线串并联,此处主要便于各模块VCC与GND的串联步进式直流电驱动模块L298N功能:驱动电机转动,带动车轮运动实现arduino小车的行动。OLED12864显示模块功能:显示小车当前模式及传感器当前参数红外测距模块FC-51功能:实现arduino小车的避障功能的测距传感模块二脚LED灯功能:闪烁指示arduino小车的指令,如模式变更和转向等超声波测距HC-SR04模块功能:传感数据读取模块,实时测量前方障碍物距离,并反馈到显示屏蓝牙遥控HC-05模块功能:实现从手机收取指令,控制arduino小车的遥控模块软件设计蓝牙遥控模块代码如下:蓝牙型号:HC-05softwareSerial可将任意串口设置为通信串口,在Arduino中0、1默认为通信串口,0、1串口可与蓝牙连接实现手机和Arduino之间的通信。使用上述代码可以实现蓝牙遥控。getstr=a时为小车进入自动避障模式,getstr=t时小车退出自动模式,getstr=g时小车前进,getstr=b时小车后退,getstr=L时小车边前进边左转,getstr=r时小车边前进边右转,getstr=s时小车停止,getstr=L时小车原地左转,getstr=R时小车原地右转,getstr=r时小车右转,getstr=7/8/9时分别对应一档速度。(2)下面分别是蓝牙遥控模式下实现小车停止、前进、后退、左转、右转、原地左转、原地右转的代码:使用的是L298电机(3)调速模块代码如下:为小车设计了三档可任意切换的速度(4)避障模块代码如下:超声波型号:HC-SR04红外避障模块利用超声波获取车头距离前方障碍物的距离,用到的公式为:distance=pulseIn(pin,HIGH)/58.0得到的距离单位为cm。在前面和左边有障碍物以及仅前面有障碍物以及前面和右边都有障碍物时的避障处理:前方无障碍物时小车的避障处理:此模块用于自动避障模式。利用超声波测量小车车头到前方障碍物的距离,若距离小于某一定值,则采取避障处理,左右障碍物的检测是利用红外模块,利用digitalRead()根据返回电平的高低判断是否有障碍物。(4)显示模块代码如下:显示屏型号:OLED12864初始化:当小车退出自动时显示屏可显示:显示距离前方障碍物的距离:显示当前小车的模式:(5)控制车头小车闪烁本项目将此函数加入进入自动和退出自动模块,因此小车在进入自动或退出自动是车头的小灯会闪烁。调试过程(1)蓝牙模块蓝牙模块首先独立于小车进行测试,测试蓝牙模块能否与手机蓝牙连接,并通过蓝牙串口APP进行手机和Arduino之间的通信。在确保手机和Arduino能正常通信后再考虑后续实现控制小车。在接线时特别需要注意Arduino的RX端要和蓝牙模块的TX端相连,Arduino的TX端要和蓝牙模块的RX端相连,必须要形成一个闭合的回路才能进行正常的通信在实验过程中。在上传代码时蓝牙模块不能与Arduino连接,这样会导致代码上传失败,在调试过程中因为没有注意到这些而导致代码一直无法传上去,后来通过CSDN博客发现了失败的原因。在蓝牙模块的调试中还出现了手机无法控制小车的问题,通过在串口监视器中输出信息,发现Arduino无法接收到蓝牙发送的信息。确定了问题产生的原因,我们便就此方向检查蓝牙模块的代码,最后发现应将原错误代码中的Serial.available()改为Blueteeth.available(),因为通过蓝牙串口APP发送的信息是由蓝牙模块读入的。超声波模块在调试过程中发现超声波测距有时会不准确,这可能是由于电池电量不够导致超声波模块没法正常启动,因为在更换了新电池后超声波又能准确测距。在第一次实物展示时由于小车车头的包装对超声波有遮挡,导致测距不准,在第二次实物展示时去掉了车头的包装,测距进行地十分顺利。自动避障模块这个模块相比于其它模块调试时间更长,出现的问题也更多。最开始存在的问题是安装在小车左侧的红外模块始终返回低电平,因此小车一直处于右转状态。在经过对代码的反复检查后,认为可能是红外传感器坏掉了,在更换新的红外传感器后,该问题得到了解决。红外传感器能够实现避障功能,但撞在障碍物上后并且过一段时间才会转弯,我们猜测该问题产生的原因是延时过长、小车运动速度过快而红外模块能检测但障碍物的最大距离过小,于是我们尝试缩短delay的时间、改变小车自动避障模式下的速度,通过不断的尝试找到了较为适合的速度,在这个过程中,为了得到更好的避障效果,在转弯时不是边前进便转弯,而是原地转弯,这样小车从检测到障碍物到完成障碍物的躲避的反应时间和反应距离控制在很好的范围内。小车的直行在小车功能基本实现后我们进行现有功能的测试,却发现小车不论是前进还是后退都没有办法做到直行,而查看代码,从理论上分析左右轮给的速度时一样的,应该不会出现跑不直的问题。于是我们将问题的关注点转到了小车轮子。最开始设计的小车是三轮的,后两轮为驱动轮,前面的一个轮子可自主绕轴转动,因此控制性差,遇到凹凸路面前轮的运动方向容易发生改变。因此我们将车子改装成四轮,虽然四轮的阻力更大,但我们可通过加大供电量来保证小车的正常启动。换位四轮后小车基本能够实现直行。测试结果小车可实现遥控模式和自动避障模式的切换,在遥控模式下可稳定实现对小车前进、后退、停止、左转、右转、加速、减速的控制,在自动避障模式下可较好地实现对障碍物的躲避。同时,在转弯时能有灯光的提示,并在显示屏幕上显示出对应的状态,在模式切换时,也有相应的提示,较好地完成了课程设计的目标,同时将两个题目的选坐部分完成,效果十分的好。总结本次项目的整个过程算是比较顺利,从一开始就明确了要如何实现哪些功能以及可以通过什么办法去实现这些功能。但在各个模块功能的实现过程中,由于对一些模块,特别是蓝牙模块之前没有任何接触,所以在实现这些模块功能时出现了一系列问题,这些问题在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 挤塑板地面保温施工方案(3篇)
- 施工方案格式模板下载(3篇)
- 服务营销方案传递方式(3篇)
- 梁底砌体施工方案(3篇)
- 水电四局施工方案(3篇)
- 洗衣液营销方案模板(3篇)
- 游戏剧情营销方案(3篇)
- 猪药销售营销方案(3篇)
- 登革热应急预案演练脚本(3篇)
- 祈福引流活动策划方案(3篇)
- 《烹饪美学》课件-第五章 饮食器具美学
- 实习律师培训结业考试题目及答案
- 2025年北京市中考数学真题试卷及答案
- 蛛网膜下腔出血疑难病例讨论
- T/CHES 43-2020水利水电工程白蚁实时自动化监测预警系统技术规范
- 烟草入职培训大纲
- 针灸治疗学-蛇串疮(带状疱疹)
- 第七单元跨学科实践活动6调查家用燃料的变迁与合理使用课件九年级化学人教版(2024)上册
- 六年级下册数学试题-比例-单元测试卷-人教版(含答案)
- 教师与小学生“一对一”谈心谈话记录表及文字内容
- 《江蓠栽培学》课件
评论
0/150
提交评论