视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
实验二 机器人检测与显示实验
2025-09-27 23:26:45 责编:小OO
文档
智能机器人实验报告

(二)

班    级:01540802班

姓    名:  南  征

学    号: 20080705

信息与电子学院

实验二  机器人检测与显示实验

08级   通信工程专业   01540802班   南征(20080705)   第11组

一、实验目的

学习机器人通过几种主要类型的传感器进行数据采集的基本方法,学习LCD的基本知识及其显示与控制方法。

二、实验仪器设备

PC机,组装后的Boe-Bot机器人,USB连接线,PING)))超声波测距传感器,红外线发光管,红外线接收器,220欧姆电阻,1k电阻,光敏电阻,2k电阻,发光二极管,470欧姆电阻,HM55B电子罗盘,连接导线,Parallax 2×16 Serial LCD。

三、实验原理

通过对单片机编写程序控制车轮电机的转速,实现机器人小车的行走。

四、实验内容

1.LCD显示实验

(1)需要部件:Parallax 2×16 Serial LCD,连接导线。

(2)关闭电源。

(3)连接部件:

(4)LCD自检及对比度调节

按图2-2所示LCD背面图及其设置方法,将LCD背面的SW1和SW2均拨至OFF位置,打开电源。LCD将进行自检。

调节LCD背面的电位器使显示出的字符清晰可见。

关闭电源。

(5)LCD字符串信息显示

新建程序LCD_ASCII.bs2,输入下述代码。

' {$STAMP BS2}

' {$PBASIC 2.5}

SEROUT 14,84,[22,12]

PAUSE 5

SEROUT 14,84,[“See this?”,13,“The LCD works!”]

END

连接USB连接线,并打开电源。

下装、运行程序,并观察运行结果,分析其工作原理。

关闭电源。

(6)LCD数字信息显示

新建程序LCD_Number.bs2,输入下述代码。

' {$STAMP BS2}

' {$PBASIC 2.5}

counter VAR Byte

SEROUT 14,84,[22,12]

PAUSE 5

FOR counter = 0 TO 12

SEROUT 14,84,[DEC counter,“ ”]

PAUSE 500

NEXT

END

连接USB连接线,并打开电源。

下装、运行程序,并观察运行结果,分析其工作原理。

关闭电源。

2.超声波测距及LCD显示实验

(1)需要部件:PING)))超声波测距传感器,连接导线,Parallax 2×16 Serial LCD。

(2)关闭电源。

(3)连接部件:

(4)超声波测距传感器检测及显示

新建程序PingLCD.bs2,输入下述代码。

' {$STAMP BS2}

' {$PBASIC 2.5}

CmConstant CON 2260

cmDistance VAR Word

time VAR Word

SEROUT 14,84,[22,12]

PAUSE 5

DO

PULSOUT 15,5

PULSIN 15,1,time

cmDistance = CmConstant ** time

SEROUT 14,84,[12] 4

SEROUT 14,84,[“Distance=”,DEC cmDistance,“cm”]

PAUSE 500

LOOP

END

连接USB连接线,并打开电源。

下装、运行程序,并通过移动机器人改变与物体间的距离观察运行结果,分析其工作原理。

关闭电源。

3.电子罗盘检测及LCD显示实验

(1)需要部件:HM55B电子罗盘,Parallax 2×16 Serial LCD,连接导线。

(2)关闭电源。

(3)连接部件:

(4)热敏电阻检测及LED显示

新建程序HM55B_LCD.bs2,输入下述代码。

' {$STAMP BS2px}

' {$PBASIC 2.5}

DinDout PIN 6 ' P6 transceives to/from Din/Dout

Clk PIN 5 ' P5 sends pulses to HM55B's Clk

En PIN 4 ' P4 controls HM55B's /EN(ABLE)

Reset CON %0000 ' Reset command for HM55B

Measure CON %1000 ' Start measurement command

Report CON %1100 ' Get status/axis values command

Ready CON %1100 ' 11 -> Done, 00 -> no errors

NegMask CON %1111100000000000 ' For 11-bit negative to 16-bits

x VAR Word ' x-axis data

y VAR Word ' y-axis data

status VAR Nib ' Status flags

angle VAR Word ' Store angle measurement

' -----[ Main Routine ]-------------------------------------------------------

SEROUT 14,84,[22,12]

PAUSE 5

10

DO ' Main loop

GOSUB Get_Compass_Axes ' Get x, and y values

angle = x ATN -y ' Convert x and y to brads

angle = angle */ 360 ' Convert brads to degrees

SEROUT 14,84,[12]

SEROUT 14,84,[“Angle=”,DEC angle]

PAUSE 150 ' Debug delay for slower PCs

LOOP ' Repeat main loop

' -----[ Subroutines ]--------------------------------------------------------

Get_Compass_Axes: ' Compass module subroutine

HIGH En: LOW En ' Send reset command to HM55B

SHIFTOUT DinDout,clk,MSBFIRST,[Reset\\4]

HIGH En: LOW En ' HM55B start measurement command

SHIFTOUT DinDout,clk,MSBFIRST,[Measure\\4]

status = 0 ' Clear previous status flags

DO ' Status flag checking loop

HIGH En: LOW En ' Measurement status command

SHIFTOUT DinDout,clk,MSBFIRST,[Report\\4]

SHIFTIN DinDout,clk,MSBPOST,[Status\\4] ' Get Status

LOOP UNTIL status = Ready ' Exit loop when status is ready

SHIFTIN DinDout,clk,MSBPOST,[x\\11,y\\11] ' Get x & y axis values

HIGH En ' Disable module

IF (y.BIT10 = 1) THEN y = y | NegMask ' Store 11-bits as signed word

IF (x.BIT10 = 1) THEN x = x | NegMask ' Repeat for other axis

RETURN

连接USB连接线,并打开电源。

下装、运行程序,并通过转动机器人改变其方位角,观察运行结果,分析其工作原理。

关闭电源。

五、思考与练习

1.如何通过添加机器人运动控制指令,利用超声波测距传感器、红外线传感器、光敏电阻实现机器人避撞功能?

当机器人通过超声波测距传感器、红外线传感器、光敏电阻检测到与前方障碍物的距离很近时,可以编写指令让机器人立即减速最终静止。

2.如何通过添加机器人运动控制指令,利用红外线传感器和光敏电阻实现边缘检测和躲避?

当机器人通过红外线传感器和光敏电阻检测到机器人侧面的障碍物与机器人距离很近时,可以编写指令控制机器人两轮的转速,使其向对侧稍作转向;当与障碍物的距离超出一定范围之后,再令机器人沿直线前行。

3.如何利用超声波测距传感器和红外线传感器同时实现避撞和边缘检测与躲避两项功能?

可分别在机器人的前方和两侧同时安装超声波测距传感器和红外线传感器,并按照以上1、2两题中的思想对机器人进行控制即可同时实现避撞和边缘检测与躲避的功能。

4.如何通过添加机器人运动控制指令,利用电子罗盘实现机器人的方位角控制,使其始终朝向某个指定方向?

当机器人的行进方向与指定方向的偏离角度超过某一值时,可通过指令调整机器人两轮的转速。若机器人的行进方向偏左,则将左轮转速设置稍快于右轮。反之亦然。

5.SEROUT的控制命令包含哪些参数?分别说明其含义。

SEROUT的功能为在输出引脚写入串行数据。

六、心得体会

本次实验中使用了超声波测距传感器、红外线传感器、光敏电阻等多种传感器,并利用这些传感器实现了测距和定向等功能。同时在本次实验中引入了液晶显示器,可以将测量的到的结果显示出来。蔽障和定向是今后实验中将要实现的功能,而本次实验实现的这些基本功能都为将来实现诸如上述更复杂的功能,完成更艰难的任务打下了基础。本次实验中用到了多种外部设备,这也使我对外部设备与CPU的数据指令传输机制有了一个更为深刻的认识。下载本文

显示全文
专题