2.红外避障

您当前位置: 首页 > Building:bit积木套件 > 3.Python课程

H.寻迹小车.zip  点击下载

寻迹小车红外避障

image.png

1.实验目的:

下载好程序后,打开寻迹小车的电源开关,寻迹小车就会往前跑,如果遇到障碍物就会后退1秒然后右转1秒,如果没有障碍物,小车会一直往前跑。

 

2.入手准备:

积木寻迹小车*1

USB数据线*1

 

3.红外避障原理

红外传感器具有一对红外发射与接收管,发射管发射出一定频率的红外线。在一定范围内,如果没有障碍物,发射出去的红外线,因为传播的距离越来越远而逐渐减弱,最后消失。如果有障碍物,红外线遇到障碍物,会被被反射到达传感器接收头。注意,红外避障传感器不可以在阳光下使用,阳光会干扰红外传感器的信号,请在室内无阳光下使用。下图为红外避障传感器的位置。

image.png

4.编写程序

接下来我们开始编写积木寻迹小车红外避障的程序,编写完成之后,用microUSB数据线连接电脑和microbit主板,请点击Flash按钮,将程序下载到micro:bit主板上。

image.png

首先导入buildingbit的库:import buildingbit 这里还需要用到display库;

display.off()关闭LED点阵屏。由于红外传感器与LED点阵屏有冲突,所以使用红外传感器前,需要关闭LED点阵屏,否则会出现错误;

avoid变量用于保存传感器返回的值,如果检测到障碍物,则buildingbit.avoid_sensor()返回True,如果检测不到障碍物则返回False

如果检测到前方有障碍物,则运行buildingbit.car_back(100, 100, 1000)函数让小车后退,第一个参数控制左边电机速度(0~255),第二个参数控制右边电机速度(0~255),第三个参数是延迟(ms),表示小车后退的时间;

再运行buildingbit.car_spinright(100, 100, 1000)让小车右旋,第一个参数控制左边电机速度(0~255),第二个参数控制右边电机速度(0~255),第三个参数是延迟(ms),表示小车右旋的时间,小车右旋的时间和速度都可以自己调节,来达到自己想要的效果。

当没有检测到障碍物时,小车一直向前buildingbit.car_run(100, 100, 0)

 

以上就是本次课程的程序。编写完成之后,大家别忘了把它下载到micro:bit主板上面哦~

如果出现下载失败的问题,请确认已经下载了buildingbit的库,如果没有请参考基础课程-课前准备-导入buildingbit库。

下载完成之后,看一下具体的效果和我们实验目的是不是一样的呢?

!注意事项:这个实验必须在室内进行,以减少太阳光对红外传感器的干扰哦。

 

 

 

程序代码:

       请用MU软件打开本课程的寻迹小车红外避障.py文件查看。