大学生电子仿真实训、课程设计 报告
- 格式:doc
- 大小:602.00 KB
- 文档页数:8
大学生电子仿真实训、课程设计报告实验(实习、实训)报告
课程(项目)名称:电子仿真实训
学院:北联大特教院专业:计算机应用技术
班级:200906124301 学号:
姓名:成绩:
2011年12月19日
摘要
计算机仿真是一门利用计算机软件模拟实际环境进行科学实验技术。它具有经济、可靠、灵活、安全、实用、可反复使用优点。它已成为对许多复杂系统(工程、非工程)进行分析、设计、实验、评估必不可少手段。
本次计算机仿真实训课,选择用通用机器人软件、竞赛用器人(四轮驱动车)进行机器人走迷宫遇到黑色线停止过程(原题是遇到火源灭火,由于机房内部不能有明火,因此改为遇到黑色线停止),在实际应用中,机器人灭火设备可以很好帮助搜救员完成搜救任务,提高搜救工作效率。而在科学实验室中,利用机器人走迷宫做研究也很常见。本次通用机器人仿真实训课就是要模拟类似场景,完成实验任务。
研究方法
在实验过程中我们需要用到计算机,“通用机器人”软件,竞赛用机器人(四轮驱动车),数据传输线。
我们需要给机器人配置光敏传感器,来判断地面颜色,使之能够实现遇到黑色线停止。还需要配置红外传感器,来判断前方是否有障碍物,使之能够实现自动避障功能。
光敏传感器光敏传感器是最常见传感器之一。它敏感波长在可见光波长附近,包括红外线波长和紫外线波长。光传感器不只局限于对光探测,它还可以作为探测元件组成其他传感器,对许多非电量进行检测,只要将这些非电量转换为光信号变化即可。
红外传感器是利用红外辐射与物质相互作用所呈现出来物理效应探测红外辐射传感器,多数情况下是利用这种相互作用所呈现出电学效应。此类探测器可分为光子探测器和热敏感探测器两大类型。而在实验中我们所用到是光子探测器。
可以说光敏传感器和红外传感器相当于机器人眼睛,帮助机器人辨别光线明暗、色彩变化,以及周围环境大致信息,比如:前方是否有障碍物、前方色彩明暗等等。
方案设计和工作原理
配置场地
打开通用机器人软件,标题栏菜单“设置”——“设计场地”,绘制场地如下图所示:
需要注意是,黑直线默认宽度为0.05,需要手动更改宽度为0.1。更改方法:选择已画好黑直线,选择标题栏“窗口属性”,弹出对话框,选择“元件属性”对话框,在“粗细”一栏将数值更改为0.1即可。更改黑直线粗细目是增强传感器识别度。
然后点击“保存”,保存好场地设计文件,为了在后面编程和配置机器人过程中,不与其它文件发生混淆,将此实训单独建立一个文件夹保存这次试验用场地文件(.fld)、机器人配置文件(.set)和程序文件(.bas)。
配置机器人
标题栏菜单“设置”——“配置机器人”
在打开机器人配置界面中选择“打开车体”,在自己安装目录中选择一个机器人车体,然后为机器人添加红外传感器和光敏传感器,红外传感器于左右侧和正前方各放置一个,光敏传感器放置于机器人正前方两端。如下图所示:
然后为传感器设置安装端口,机器人共有16个双向I/O(输入输出端)口,打开和关闭不同I/O(输入输出端)口,机器人会有不同反应。端口和各功能匹配如下:
功能I/O 值为0 值为1 左电机正转PIN0 关开
左电机反转PIN1 关开
右电机正转PIN2 关开
右电机反转PIN3 关开
调制脉冲PIN4 关开前红外线传感器PIN5 发现避障没有发现避障
左红外线传感器PIN6 发现避障没有发现避障
右红外线传感器PIN7 发现避障没有发现避障
左光敏传感器PIN14 浅颜色(白色)深颜色(黑色)
右光敏传感器PIN15 浅颜色(白色)深颜色(黑色)
根据上面表格,我们要为传感器配置“安装端口”,配制方法如下:选择已配置好传感器,点击标题栏“窗口属性”选项,弹出对话框“传感器属性”,在“安装端口”输入相应数值。如下图所示:
设计流程图
非本次实训重点,由于期末考试时卷面已写过,故不再做累述。只要知道这一步在开始一个新仿真设计时候必不可少就行了。
编写QBasic语言程序代码
编写程序代码如下:
dirb0=%11100000
dirb1=%11110000
pinb0=0
pinb1=0
pin9=0
li:
if pin14=1 and pin15=1 then
if pin5=0 then rt1
if pin5=1 then rt2
goto li
rt1:
if pin6=0 and pin7=0 then
pinb0=%00011001
pause 200
if pin6=1 and pin7=0 then pinb0=%00011001
pause 200
if pin6=0 and pin7=1 then pinb0=%00010110
pause 200
if pin6=1 and pin7=1 then pinb0=%00010110
pause 200
end if
end if
end if
end if
goto li
rt2:
if pin6=0 and pin7=0 then pinb0=%00010101
pause 1
if pin6=1 and pin7=0 then pinb0=%00011001
pause 200
if pin6=0 and pin7=1 then pinb0=%00010110
pause 200
if pin6=1 and pin7=1 then pinb0=%00010101
pause 1
end if
end if