华中科技大学传感器课设报告分解

上传人:大米 文档编号:505252373 上传时间:2023-04-27 格式:DOC 页数:15 大小:109KB
返回 下载 相关 举报
华中科技大学传感器课设报告分解_第1页
第1页 / 共15页
华中科技大学传感器课设报告分解_第2页
第2页 / 共15页
华中科技大学传感器课设报告分解_第3页
第3页 / 共15页
华中科技大学传感器课设报告分解_第4页
第4页 / 共15页
华中科技大学传感器课设报告分解_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《华中科技大学传感器课设报告分解》由会员分享,可在线阅读,更多相关《华中科技大学传感器课设报告分解(15页珍藏版)》请在金锄头文库上搜索。

1、华中科技大学计算机科学与技术学院传感器技术课程设计课程实验报告专业班级:IOT1201姓名:韩雨桥学号:U201215110指导老师:宋恩民、高鹏毅完成日期:2015年6月1 6日#目录一、课程设计的目的3二、课程设计的内容3三、课程设计相关器材3四、课设具体结构分析与实现4五、课设各部分功能实现5六、调试结果15七、课设心得与感想15、课程设计的目的机器人创意设计与制作课程的总目标是提高学生的创新能力、综合设计能 力和动手实践能力,进而培养和提升学生的STEM素养,强调学生在直接经验和亲身经历的基础上,通过观察、思考、设计、制作、试验等活动获得丰富的学 习体验,在生活中发现问题,在实践中解决

2、问题,在活动中获得知识。二、课程设计的内容设计并制作一个小型机器人,要求满足一下几点:1)通信功能:机器人上安装蓝牙模块,手机通过蓝牙串口助手与机器人蓝 牙建立联系,实现在手机上分别发送1,2,3,4指令,机器人分别完成“追踪”、“避 障”、“漫游”和“循迹”四种不同的控制功能和利用键盘方式或智能手机重力感 应模块,遥控机器人做出前进、后退、左转、右转、原地旋转以及停止等动作的 功能。2)红外追踪功能:无目标时,机器人静止;当目标较远时,机器人快速接 近;目标较近时,机器人慢速接近;距离过近时,机器人停止。机器人可以随目 标左转或右转弯。3) 前进避障功能:机器人先静止,拍手后(声控启动),机

3、器人开始前进。 传感器检测到障碍时,如果障碍在正前方且距离较近时, 机器人减速前进;距离 过近时,机器人停止,并后退一小段,然后右转绕行。如果障碍在左前方或右前方,机器人则右转或左转绕行。无障碍时,机器人全速前进。如果连拍两次手, 机器人停止。4)悬崖漫游功能:机器人沿着桌子边沿行走,既不远离,也不会掉下去, 遇到桌角能良好转弯。5) 循迹功能:机器人可以沿着黑色或白色的直线、S形线、丁字形线或十 字形轨迹行走。三、课程设计相关器材硬件要求:计算机教室、机器人比赛场地、配套 ECT-EK实训箱(含全套实 训设备)、PC机软件环境:需要安装 Arduino IDE软件,可以采用图形化编程插件一一

4、 Ardublock,也可以直接使用IDE环境编写代码。四、课设具体结构分析与实现根据课程设计的内容和要求,我们需要搭建一个对应的系统结构,同时将 机器电机、红外传感器、灰度传感器、声音传感器和蓝牙模块与主控板进行通讯 连接。具体实现结构应为差速运动控制、声控运动、红外追踪、前进避障、悬崖 漫游、循迹追踪、蓝牙通讯递进式功能实现。1、差速运动控制编写代码,实现以下动作:(1)一侧电机转动,另一侧不转,实现转动;(2)侧电机快动,另一侧慢转,实现转动;(3)原地等速旋转;2、声控运动加装声控传感器,编写一段代码,使你拍手后,机器人做出一套动作。3、红外追踪安装近红外传感器,并编写代码,用手做追踪

5、目标,实现以下功能:(1)无目标时,机器人静止;(2)有目标时,机器人向目标行驶靠近。 若左传感器检测到目标而右传感器没有检测到,则向左转。 若右传感器检测到目标而左传感器没有检测到,则向右转。 若两侧传感器同时检测到则前进。4、前进避障为机器人安装2个或以上近红外传感器,并编写代码,实现以下功能:(1)无障碍时,机器人前进;(2)左前方有障碍时,机器人右转绕行;(3)右前方有障碍时,机器人左转绕行;(4)正前方有障碍时,机器人后退一段距离,右转,绕行。5、悬崖漫游为机器人加装近红外传感器和灰度传感器,编写代码,将机器人放置于桌子 边缘,使机器人可以沿着悬崖漫游,既不远离,也不会掉下去,遇到桌

6、角能良好 转弯。6循迹追踪#为机器人加装2个灰度传感器,在地面粘贴黑胶带(也可用深色地面粘白胶 带)形成平滑的轨迹,编写代码,将机器人放置于胶带轨迹附件,使机器人可以 沿着轨迹行走。7、蓝牙通讯机器人上安装蓝牙模块,手机通过蓝牙串口助手与机器人蓝牙建立联系,实现在手机上分别发送1,2,3,4指令,机器人分别完成“追踪”、“避障”、“漫游” 和“循迹”四种不同的控制功能和利用键盘方式或智能手机重力感应模块,遥控机器人做出前进、后退、左转、右转、原地旋转以及停止等动作的功能。五、课设各部分功能实现定义左右轮电机端口:char getstr;const int right = A4;const in

7、t left = A3;定义各端口输入输出关系与电位关系:void setup()Serial.begi n(9600);pi nM ode( A3, INPUT);pi nM ode( A2 , INPUT);pi nM ode( A4, INPUT);pi nM ode( A1 , INPUT);pi nM ode( left, INPUT);pi nM ode( right, INPUT);pi nM ode( 5 , OUTPUT);pi nM ode( 9 , OUTPUT);pi nM ode( 6 , OUTPUT);pi nM ode( 10 , OUTPUT);digital

8、Write( 5 , LOW );digitalWrite( 6 , LOW );digitalWrite( 10 , LOW );定义进程循环:void loop()char a;char getstr;getstr=Serial.read();a=getstr;红外追踪部分功能实现:while(a=1) / 红外追踪if ( !( digitalRead(right) ) & digitalRead(left) digitalWrite( 5 , LOW );digitalWrite( 10 , LOW );delay( 200 );digitalWrite( 6 , HIGH );dig

9、italWrite( 9 , LOW );elseif ( digitalRead(right) & !( digitalRead(left)digitalWrite( 6 , LOW );digitalWrite( 9 , LOW );delay( 200 );digitalWrite( 10 , HIGH );digitalWrite( 5 , LOW );#elseif ( !( digitalRead(right) ) & !( digitalRead(left)digitalWrite( 5 , LOW );digitalWrite( 9 , LOW );delay( 200 );d

10、igitalWrite( 6 , HIGH );digitalWrite( 10 , HIGH );elsedigitalWrite( 6 , LOW );digitalWrite( 10 , LOW );delay( 200 );digitalWrite( 5 , LOW );digitalWrite( 9 , LOW );getstr=Serial.read();if(getstr=2|getstr=3|getstr=4|getstr=5|getstr=6|getstr=7|getstr=8|get str=9|getstr=0)a=getstr;前进避障部分功能实现:while(a=2)

11、 / 前进避障if ( !( digitalRead(right) ) & !( digitalRead(left) digitalWrite( 5 , HIGH );digitalWrite( 6 , LOW );digitalWrite( 9 , HIGH );digitalWrite( 10 , LOW );delay( 1000 );digitalWrite( 9 , LOW );digitalWrite( 10 , HIGH );delay( 1000 );elseif ( !( digitalRead(right) ) & digitalRead(left) digitalWrit

12、e( 5 , LOW );digitalWrite( 6 , HIGH );digitalWrite( 9 , HIGH );digitalWrite( 10 , LOW );delay( 500 );digitalWrite( 9 , LOW );digitalWrite( 6 , HIGH );digitalWrite( 5 , LOW );elseif ( digitalRead(right) & !( digitalRead(left)digitalWrite( 6 , LOW );#digitalWrite( 5 , HIGH );digitalWrite( 9 , LOW );di

13、gitalWrite( 10, HIGH );delay( 500 );digitalWrite( 5 , LOW );digitalWrite( 9 , LOW );digitalWrite( 10 , HIGH );elsedigitalWrite( 6 , HIGH );digitalWrite( 10 , HIGH );digitalWrite( 5 , LOW );digitalWrite( 9 , LOW );getstr=Serial.read();if(getstr=1|getstr=3|getstr=4|getstr=5|getstr=6|getstr=7|getstr=8|

14、get str=9|getstr=0)a=getstr;悬崖漫游部分功能实现:while(a=3) / 悬崖漫游if ( digitalRead(right) ) & ( digitalRead(left)an alogWrite( 5,200 );digitalWrite( 6 , LOW );an alogWrite( 9,200 );delay( 50 );if ( ( !(digitalRead(right) ) & (digitalRead(left)digitalWrite( 5 , LOW );an alogWrite( 6,200 );an alogWrite( 9,200 );digitalWrite( 10 , LOW );delay( 50 );if( digitalRead(right) ) & ( !(digitalRead(left)an alogWrite( 5,200 );an alogWrite( 10,200 );digitalWrite( 6 , LOW );digital

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号