Line Follower Robot是一个非常简单的机器人,它跟随一条直线(黑线或白线)。这类机器人的构建非常简单,并且通常是入门机器人技术的初学者的首选。基本上,有两种类型的线跟随器机器人:一种是跟随黑线的黑线跟随器,另一种是跟随白线的白线跟随器。线路跟随者实际上会感知并跟随线路。尽管这个想法听起来很简单,但经过进一步的发展,与此类似的机器人实际上已在许多应用中使用,例如工厂车间管理机器人或仓库机器人。
线路跟随器的概念
线路跟随器的工作概念与光有关。我们在此使用黑色和白色表面上的光的行为。当光落在白色表面上时,它几乎被完全反射,而在黑色表面上,光被完全吸收。光的这种行为用于构建线路跟随器机器人。
在这个基于Arduino的线路跟随器机器人中,我们使用了IR发射器和IR接收器(也称为光电二极管)。它们用于发送和接收光。红外透射红外光。当红外线落在白色表面上时,它会反射回来并被光电二极管捕获,从而产生一些电压变化。当红外光落在黑色表面上时,黑色表面会吸收光,并且不会反射任何光线,因此光电二极管不会接收任何光线。在此Arduino线路跟随器机器人中,当传感器感测到白色表面时,Arduino将输入1,当感测到黑色线时,Arduino将输入0。
由于Line Follower机器人是一个有趣的初学者项目,因此我们还使用了Arduino以外的其他开发板来构建它,如果感兴趣的话,您也可以使用以下链接进行检查
- 使用8051单片机的线跟随机器人
- 使用Raspberry Pi的Line Follower机器人
- 基于德州MSP430 Launchpad的线路跟随器
- 使用PIC单片机的简单线路跟随器
- 使用ATmega16 AVR微控制器的线路跟随器
电路说明
整个Arduino线路跟随器机器人可以分为3个部分:传感器部分,控制部分和驱动器部分。
传感器部分:
本节包含IR二极管,电位计,比较器(Op-Amp)和LED。电位计用于在比较器的一个端子上设置参考电压,IR传感器用于感测线路并在比较器的第二个端子上提供电压变化。然后,比较器将两个电压进行比较,并在输出端生成数字信号。在此线路跟随器电路中,我们为两个传感器使用了两个比较器。LM 358用作比较器。LM358内置了两个低噪声运算放大器。
控制部分:
Arduino Pro Mini用于控制线路跟随器机器人的整个过程。比较器的输出连接到Arduino的数字引脚2和3。Arduino读取这些信号并将命令发送到驱动器电路,以传递给传动系跟随器。
驱动程序部分:
驱动器部分由电动机驱动器和两个直流电动机组成。电动机驱动器用于驱动电动机,因为Arduino无法为电动机提供足够的电压和电流。因此,我们添加了一个电动机驱动器电路来为电动机获取足够的电压和电流。Arduino将命令发送到该电机驱动器,然后驱动电机。
使用Arduino的Line Follower机器人的工作
使用Arduino构建Line Follower机器人很有趣。线路跟随器机器人使用传感器感应到黑线,然后将信号发送到Arduino。然后Arduino根据传感器的输出驱动电机。
在此项目中,我们使用两个红外传感器模块,即左传感器和右传感器。当左右传感器都感应到白色时,机器人将向前移动。
如果左传感器出现黑线,则机器人会向左旋转。
如果右传感器感应到黑线,则机器人会向右转,直到两个传感器都到达白色表面。当白色表面出现时,机器人将再次开始向前移动。
如果两个传感器都在黑线上,则机器人将停止。
电路原理图
上图显示了arduino直线跟随器机器人的完整电路图。如您所见,比较器的输出直接连接到Arduino数字引脚2和3。电动机驱动器的输入引脚2、7、10和15分别连接到Arduino数字引脚4、5、6和7。一台电机连接到电机驱动器3和6的输出引脚,另一台电机连接到引脚11和14。
程序说明
在程序中,首先定义输入和输出引脚,然后在循环中检查输入,并根据输入将输出发送到驱动电机的输出引脚。为了检查输入引脚,我们使用了“ if”语句。完整的线路跟随者机器人代码可在此页面底部找到。
在我们使用Arduino阅读的机器人之后的这一行中,有四个条件。我们使用了两个传感器,即左传感器和右传感器。
输入值 |
输出量 |
运动 机器人的 |
||||
左传感器 |
右传感器 |
左马达 |
右马达 |
|||
LS |
RS |
LM1 |
LM2 |
RM1 |
RM2 |
|
0 |
0 |
0 |
0 |
0 |
0 |
停止 |
0 |
1个 |
1个 |
0 |
0 |
0 |
右转 |
1个 |
0 |
0 |
0 |
1个 |
0 |
转左 |
1个 |
1个 |
1个 |
0 |
1个 |
0 |
前锋 |
我们根据上表所示的条件编写arduino行跟随器代码。
所需组件
Arduino的
在我们的项目中,我们使用微控制器来控制整个系统,即ARDUINO。Arduino是开源硬件,对于项目开发非常有用。市场上有许多类型的arduino,例如Arduino UNO,arduino mega,arduino pro mini,Lilypad等。这里我们在这个项目中使用了arduino pro mini,因为arduino pro mini很小,因此面包板兼容。为了刻录线路跟随器机器人的arduino代码,我们使用了FTDI刻录机。
L293D电机驱动器
L293D是一种电机驱动器IC,具有两个通道来驱动两个电机。L293D具有两个内置的达林顿晶体管对,用于电流放大;还有一个单独的电源引脚,用于为电动机提供外部电源。
红外模块
红外模块是由红外LED /光电二极管对,电位计,LM358,电阻和LED组成的传感器电路。红外传感器发送红外光,而光电二极管接收红外光。
电源供应
我添加了一个稳压器,可为Arduino,比较器和电机驱动器获得5伏电压。并且使用9伏电池为电路供电。