机器人光敏电阻感测导航学年设计.doc_第1页
机器人光敏电阻感测导航学年设计.doc_第2页
机器人光敏电阻感测导航学年设计.doc_第3页
机器人光敏电阻感测导航学年设计.doc_第4页
机器人光敏电阻感测导航学年设计.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

附件1:课程设计(学年设计、学年论文)任务书模版机器人光敏电阻感测导航课程设计任务书 学 院计算机与信息工程学院专 业物联网工程课程名称机器人光敏电阻感测导航题 目机器人光敏电阻感测导航完成期限自2016年8月22日至2016年8月26日共1周内容及任务一、项目的目的 1、巩固和加深个人对机器人与智能车基础知识的理解和掌握; 2、掌握机器人与智能车编程和程序调试的技巧; 3、了解软件与硬件连接的基本思想,学会科学分析和解决问题。 4、了解和掌握光敏电阻构成的光检测传感器的原理和使用方法。 5、利用Parallax智能小车、Arduino套件进行基本的系统设计,提高运用C语言开发机器人与智能车的能力; 6、提高书写系统设计说明文档的能力;二、项目任务的主要内容和要求内容:Boe Shield-Bot集成套件中的光传感器用来探测可见光,并且可以检测不同的光亮度水平。这样可以编程使Boe Shield-Bot识别周围环境的明暗,报告探测到的明暗水平,来改变Boe Shield-bot的行驶速度、转向、避障等功能,并且可以寻找手电筒光束或从门口射进黑暗的屋子的光这样的光源。要求: 1、请装配智能小车并了解相关光敏电阻传感器模块的功能及使用方法。 2、撰写程序控制轮式机器人。 3、沿着制定地图路线行走,要求通过光照强度的改变控制小车进行转弯,并停止在相应指定位置。3、 项目设计(研究)思路 1、认识需要使用的硬件,了解其功能 2、BOE Shield-Bot的组装 3、BOE Shield-Bot舵机的校准 4、编写代码,控制机器人小车的运动 5、了解光敏电阻传感器的工作原理和性质,并安装到BOE Shield-Bot套件上 6、编写全部代码,进行运行4、 具体成果形式和要求 1、BOE Shield-Bot沿着制定地图路线跑道行走,通过光照强度的改变控制小车进行转弯,并停止在相应指定位置。 2、BOE Shield-Bot安装了光敏电阻传感器后,使其满足在跑道上运动通过隧道时进行减速,出隧道后恢复原来行驶速度,最终停止在跑道上相应指定位置。进度安排起止日期工作内容2016.8.22至2016.8.23选题,明确任务,查找相关资料。2016.8.23至2016.8.25连接硬件并测试光敏电阻电路,编写程序沿着制定地图路线行走,满足过隧道减速,并停止在相应指定位置。2016.8.25至2016.8.26撰写学年设计报告、答辩。主要参考资料1、赵负图.国内外传感器手册M.沈阳:辽宁科学技术出版社,1998.2、杨崇志.特殊新型电子元器件手册M.沈阳:辽宁科学技术出版社,2003指导教师意见(签字): 年月日系(教研室)主任意见(签字): 年月日机器人光敏电阻感测导航设计说明书学院名称: 计算机与信息工程学院 班级名称: 物联网141 学生姓名: 刘沛然 学 号: 2014211637 题 目: 机器人光敏电阻感测导航 指导教师姓 名: 尹禄 起止日期: 2016.8.23-2016.8.26 第一部分:正文部分1、 选题背景本次课题要求机器人小车按照预定轨道形式,并且在穿过轨道上的隧道中时降低行驶速度,防止小车因行驶过快在经过隧道中时因跑道过滑导致的小车碰撞到隧道壁上,损伤小车的零器件。光在机器人和工业控制领域有很广泛的应用。比如在纺织工业中感应织物转筒的边沿,确定一年中不同时期什么时候打开街灯,什么时候拍照或者什么时候给许许多多的庄稼灌溉,不同的光传感器能提供各种独特功能。Boe Shield-Bot集成套件中的光传感器用来探测可见光,并且可以检测不同的光亮度水平。这样可以编程使Boe Shield-Bot识别周围环境的明暗,报告探测到的明暗水平,来改变Boe Shield-bot的行驶速度、转向、避障等功能,并且可以寻找手电筒光束或从门口射进黑暗的屋子的光这样的光源。(标题:四号仿宋加粗,顶格,行间距:24磅,上下间距:段前0.5行,段后0.5行)(内容:用小四号仿宋,首行空两格)(说明本课题应解决的主要问题及应达到的要求。)2、 方案论证(或设计理念)1、实验项目要求: (1)请装配智能小车并了解相关光敏电阻传感器模块的功能及使用方法。(2)撰写程序控制轮式机器人。(3)沿着制定地图路线行走,要求通过光照强度的改变控制小车进行转弯,并停 止在相应指定位置。2、理论依据:(1)光照强度的信号采集部分采用光敏电阻作为信号采集器件。光敏电阻是基于光电导效应的一种光电器件,无光照时,光敏电阻值(暗电阻)很大,电路中的电流(暗电流)很小;当受到光照时,半导体材料电导率增加,电阻减小,其阻值随光照增强而减小。光敏电阻作为光电式传感器的一种,它具有灵敏度高、光谱响应范围宽、体积小、重量轻、机械强度高、耐冲击、耐振动、抗过载能力强和寿命长等特点。所以选择光敏电阻采集光照信号,并把不同的光照强度转化为不同的电阻值。把光敏电阻串联在直流电路中即可把不同的电阻值转化为不同的电压值,于是,就把对光照信号的处理转化为对电压信号V的处理。(2) BOE Shield-Bot与Arduino开发板BOE Shield-Bot是将Arduino开发板,BOE Shield和车体机构这三者进行结合。Arduino是一类便捷灵活、方便上手的开源电子原型平台包含硬件(各种型号的Arduino板)和软件(Arduino IDE),同时还有各种各样的周边的硬件去兼容Arduino这个平台,并且这些硬件通常都已经带有了兼容Arduino控制的函数库,让人们更加简单方便的控制机器人。(3) BOE Shield-Bot特性 BOE: Board of Education 与Arduino开发板轻松结合,简化电路设计 与面包板(2 x17)整合容易与轮式机器人地盘、旋转马达、传感器结合 透过四个角落的孔(Hole)和伺服电动机埠(Servo Port) 三处电源开关,可单独控制或监控Servo、传感器是否正常运作3、 过程论述1、 使用硬件的介绍Arduino UNO R3BOE Shield底盘(Chassis)部分轮子(Wheel)部分小零件部分电子零件部分2、 BOE Shield-Bot的组装(1) BOE Shield与Arduino开发板结合(2)车体的组装(3) BOE Shield&Arduino开发板与车体结构结合(4)连接Servo至BOE Shield(5)组装完成示意图3、 舵机的校准通过传送“stay-still”信号给舵机来调校舵机以确定其真正处于still状态。如果未调校,则当servo收到“stay-still”信号时可能会转动(turn)、震动(vibrate)或者发出嗡嗡的噪音声(humming noise)。调校的步骤:(1) 切换power switch至”2”。(2) 供电给servo。(3) 分別执行 “LeftServoStayStill” 及 “RightServoStayStill” 程 序分別调校左、右两个舵机。(4) 调教操作如图(5) “LeftServoStayStill” 及 “RightServoStayStill” 程序代码4、 编写代码由于该电机装的方向不同所以控制端口输出的PWM的值也不同,所以我们要经过测试才知道如何运动。 关键代码如下:(1)前进代码: #include Servo servoLeft; /左边电机Servo servoRigth; /右边电机void setup() Serial.begin(9600); servoRigth.attach(12); /左边电机对应开发板上的端口为12引脚 servoLeft.attach(13); /右边电机对应开发板上的端口为13引脚void loop() servoLeft.writeMicroseconds(1700); /左边电机对应开发板上的端口为12引脚 输出1700 servoRigth.writeMicroseconds(1300); /左边电机对应开发板上的端口为12引脚 输出1300 (2)后退代码:#include Servo servoLeft; /左边电机Servo servoRigth; /右边电机void setup() Serial.begin(9600); servoRigth.attach(12); /左边电机对应开发板上的端口为12引脚 servoLeft.attach(13); /右边电机对应开发板上的端口为13引脚void loop() servoLeft.writeMicroseconds(1700); /左边电机对应开发板上的端口为12引脚 输出1300 servoRigth.writeMicroseconds(1300); /左边电机对应开发板上的端口为12引脚 输出1700 (3)左转代码#include Servo servoLeft; /左边电机Servo servoRigth; /右边电机void setup() Serial.begin(9600); servoRigth.attach(12); /左边电机对应开发板上的端口为12引脚 servoLeft.attach(13); /右边电机对应开发板上的端口为13引脚void loop() servoLeft.writeMicroseconds(1500); /左边电机对应开发板上的端口为12引脚 输出1300 servoRigth.writeMicroseconds(1300); /左边电机对应开发板上的端口为12引脚 输出1700 (4)右转代码 #include Servo servoLeft; /左边电机Servo servoRigth; /右边电机void setup() Serial.begin(9600); servoRigth.attach(12);/左边电机对应开发板上的端口为12引脚 servoLeft.attach(13); /右边电机对应开发板上的端口为13引脚void loop() servoLeft.writeMicroseconds(1700); /左边电机对应开发板上的端口为12引脚 输出1300 servoRigth.writeMicroseconds(1500); /左边电机对应开发板上的端口为12引脚 输出1700 5、 安装光敏电阻传感器(1) 光电晶体工作原理 光电晶体对于不同的亮度可以感测到不同的电压 Arduino的类比输入有10位元的精准度,因此可以感应01023共1024个等级的亮度(数值越大,亮度越强) 我们可以利用读取到亮度的值来控制BOE Shield-Bot的动作(2) 安装完成图(2)读取光电晶体数据6、运行全部代码#include int z,y; /左边 右边采集值int i=0; Servo servoLeft; /左边电机Servo servoRigth; /右边电机void setup() Serial.begin(9600); servoRigth.attach(12);/左边电机对应开发板上的端口为12引脚 servoLeft.attach(13); /右边电机对应开发板上的端口为13引脚void loop() unsigned long S=millis(); /获取当前的系统运行时间长度 y = volts(A0); /获取A0口即左边光敏电阻采集的值 z = volts(A1)+5; /获取A1口即右边光敏电阻采集的值 /如果系统运行时间大于10*1000切i=0,进行右转弯 if(S10*1000&i=0) servoLeft.writeMicroseconds(1700); servoRigth.writeMicroseconds(1500); i=1; delay(1400); /如果系统运行时间大于S15*1000切i=1,进行左转弯 else if(S15*1000&i=1) servoLeft.writeMicroseconds(1700); servoRigth.writeMicroseconds(1500); i=2; delay(1400); /如果光照正常全速直行 else if(z200&y200&y200) servoLeft.writeMicroseconds(1550); servoRigth.writeMicroseconds(1450); /如果时间大于行驶26*1000切i=2 停车 while(S26*1000&i=2) servoLeft.writeMicroseconds(1500); servoRigth.writeMicroseconds(1500); i=2; delay(1400); /采集传感器值函数float volts(int adpin) return float(analogRead(adpin); 四、结果分析1、BOE Shield-Bot通过利用Parallax智能小车、Arduino开发板进行基本的系统设计,撰写程序控制轮式机器人。沿着制定地图路线跑道行走,通过光照强度的改变控制小车进行转弯,并停止在相应指定位置。实验结果演示图如下:2、BOE Shield-Bot安装了光敏电阻传感器,了解相关光敏电阻传感器模块的功能及使用方法,撰写程序控制轮式机器人,使其满足在跑道上运动通过隧道时进行减速,出隧道后恢复原来行驶速度,最终停止在跑道上相应指定位置。实验结果演示图如下:5、 结论(或总结)通过本次学年设计的学习,第一次对BOE Shield-Bot小车有了深刻的认识和了解,更加深刻的理解了书本中的相关知识,并且在实践中进行了相应的扩展,很多平时模棱两可的知识点都认真复习并实践了。对智能车设计提升了认识,我意识到我们所学的东西将来都是要付诸实践的,所以一切要从实际情况出发,理论联系实际,这样才能真正发挥我们所具备的能力。让我受益匪浅。在这次的学年设计里,经过查阅收集相关资料,让我加深了理论的基础,最重要的是让我能够学以致用,让我意识到仅仅死学书本上的知识是远远不够的,要想设计出一个完整的智能车系统,还需要按照一定的科学分析方法,用严谨的思路一步一步的进行。在设计智能车系统的过程中,我也遇到了很多问题,比如说:电路是否断路、传感器采集值等问题,在逐个的解决问题之后,我的操作能力也有了一定的提升,对于智能车与机器人设计有了更深刻的认识。当然,设计出的智能车还有许多不足,比如代码冗余问题,这让我意识到自己对于机器人与智能车还有很多需要学习的地方。同时,我也强烈地意识到动手能力的重要性,理论知识学得扎实的同时,也一定要加强自身的动手能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论