在使用arduino uno设计了此直线跟随器机器人之后,我开发了这种计算机控制的机器人。可以通过计算机控制它,我们可以使用特定的键盘键来移动它。它通过串行通信运行,我们在上一个项目-PC控制的家庭自动化中已经讨论过。
所需组件
- Arduino UNO
- 直流马达
- 笔记本电脑
- 电机驱动器L293D
- 9伏电池
- 电池接头
- USB电缆
- 机器人底盘
概念和细节
我们可以将此PC控制的机器人电路划分为不同的部分,它们是-传感器部分,控制部分和驱动器部分。让我们分别查看它们。
命令或PC部分:此部分具有串行通信设备,例如PC,便携式计算机等。在此项目中,我们使用便携式计算机进行演示。我们通过在超级终端或任何其他串行终端(例如超级终端,大力神,腻子,arduino的串行终端等)上键入字符来将命令发送到arduino。
控制部分: Arduino UNO用于控制机器人的整个过程。Arduino读取笔记本电脑发送的命令,并与定义的字符或命令进行比较。如果命令匹配,则arduino将适当的命令发送到驱动程序部分。
驱动器部分:驱动器部分包括一个L293D电机驱动器IC和两个DC电机。电动机驱动器用于驱动电动机,因为arduino无法为电动机提供足够的电压和电流。因此,我们添加了一个电动机驱动器电路,以获得足够的电动机电压和电流。通过从arduino收集命令,电动机驱动器根据命令驱动电动机。
加工
我们已经对PC控制的机器人进行了编程,使其可以通过一些命令运行,这些命令是通过串行通信从PC发送到arduino的。(请参见下面的编程部分)
当我们按“ f”或“ F”时,机器人开始向前移动并继续移动,直到给出下一个命令为止。
当我们按“ b”或“ B”时,机器人将更改其状态并开始向后移动,直到发出任何其他命令为止。
当我们按“ l”或“ L”时,机器人会左转直到下一个命令。
当我们按“ r”或“ R”时,机器人将向右旋转。
为了停止机器人,我们向arduino发出“ s”或“ S”命令。
电路图和说明
上图显示了基于Arduino的PC控制机器人的电路图。arduino仅连接了一个电机驱动器IC来运行机器人。为了向机器人发送命令,我们通过笔记本电脑的USB电缆使用了内置的串行数据转换器。电机驱动器的输入引脚2、7、10和15分别连接到arduino数字引脚6、5、4和3。在这里,我们使用了两个直流电动机来驱动机器人,其中一个电动机连接在电动机驱动器3和6的输出引脚上,另一电动机连接在11和14上。一个9伏电池用于为电动机驱动器供电以驱动电动机。
程序说明
首先,在编程中,我们定义了电动机的输出引脚。
然后,在设置过程中,我们已给出了固定和开始串行通信的说明。
之后,我们通过读取“ serial.read()”函数读取串行缓冲区,并将其值放入一个临时变量中。然后通过使用“ if”语句来操作机器人,使其与定义的命令匹配。
下表列出了移动此PC控制的机器人的四个条件。
输入指令 |
输出量 |
机器人动作 |
||||
左马达 |
右马达 |
|||||
|
|
|
|
|||
S. |
|
|
|
|
|
停止 |
|
|
|
|
|
|
右转 |
|
|
|
|
|
|
转左 |
|
|
|
|
|
|
落后 |
|
|
|
|
|
|
前锋 |
我们已经根据上表条件编写了程序。完整的代码如下。