×

使用Raspberry Pi和BluPants进行编码

消耗积分:0 | 格式:zip | 大小:0.30 MB | 2023-07-05

王强

分享资料个

由您决定要向机器人添加多少额外的小工具。无论您使用何种文档,只要确保将正确的BluPants 映像文件闪存到您的 SD 卡即可。

pYYBAGOYpE6ADnfJAAL6j6TimPk936.png
将带有 BluPants 映像的 SD 卡插入您的 Raspberry Pi
 

零件(基本机器人)

基本机器人是可与 BluPants 一起使用的最小可行产品 (MVP)。它只会在所有方向上导航(前进、后退、左转和右转)。它是您将来用于构建更复杂的机器人的基础。

建议先组装 MVP,然后随着经验的增加添加额外的功能(距离传感器、抓爪、摄像头、额外的伺服系统等)。

对于基本的 MVP 机器人,我们将需要以下部件:

 
 
 
pYYBAGOYpFeAX7e2AAQmi5tRHB0241.png
 
1 / 2基本 MVP 机器人零件
 

首先要做的是在焊接之前将电线连接到电机。确保电线和电机之间有良好的物理连接。

poYBAGOYg9KARGLKAAaVi15sCrY57.jpeg
连接到电机的电线
 

您可能需要使用电压表或将 AA 电池连接到电线末端,以测试您是否有良好的物理连接。之后,您可能需要焊接它。

焊接电机
 

拿到底盘,把它放在电机的顶部,按照我们目前桌子上的设置:

 
 
 
pYYBAGOYpHaAJ1pgAALH8o6z3lY663.png
 
1 / 3将底盘安装在顶部的电机布置
 

将电机固定在底盘上并将其翻转。请注意,字母“L”和“R”将不再可见,因为底盘连接到电机的表面与我们写字母的表面相同。

 
 
 
pYYBAGOYpHmAW8jkAAH5IH6oTOM093.png
 
1 / 3连接剩余的两个外部紧固件
 

翻转底盘后,将另外两个外部紧固件靠近电机并使用螺栓固定。螺栓应该从外到内。螺母应从机箱内部安装。

将旋转轮安装到底盘背面。

 
 
 
pYYBAGOYpHyAWxX9AAFizcV9JcE018.png
 
1 / 4将旋转轮安装在背面。如图所示放置4个螺栓
 

将电机线带到底盘顶部并连接两个电机轮。

 
 
 
poYBAGOYpICAN_MZAAHQM8MIhdk54.jpeg
 
1 / 3红色和黑色电机线应放在顶部
 

将 L298N 电机驱动控制器固定在机箱顶部。图片显示 L298N 板固定在机箱左前方。后来,我意识到把它放在我的项目的右上角会更有意义(这样我将来会有更多的空间来添加额外的设备,比如相机、距离传感器等)。随意将其放置在对您的项目更方便的任何地方。

 
 
 
poYBAGOYpIWAQpVQAAJ8yg2JoYw739.png
 
1 / 2使用螺栓和螺母固定 L298N 电机驱动控制器
 

电机极性

黑线和红线与 L298N 控制器的连接将定义通电时电机是向前驱动还是向后驱动(极性)。如果您的任何车轮向错误的方向旋转,请交换 L298N 控制器上的黑色和红色线位置,并重复本节中描述的所有步骤。

将左侧电机线连接到 L298N 控制器左侧的连接器,将右侧电机线连接到右侧,如图所示。左侧电机线应连接到 MOTOR A(OUT1 和 OUT2),右侧电机线应连接到 MOTOR B(OUT3 和 OUT4)

 
 
 
poYBAGOYpIiAQoUXAADw_VZ_EQ8099.jpg
 
1 / 3L298N 电机驱动器控制器引脚
 

在我们的例子中,我们将左侧电机的黑线连接到 OUT 1,将左侧电机的红线连接到 OUT2。右侧电机的红线连接到 OUT3,右侧电机的黑线连接到 OUT4。

你的可能不一样。完成整个组装后,尝试对机器人进行编码以继续前进。假设您注意到您的左侧电机正在以正确的方向运行,但右侧电机正在向后驱动。在此示例中,机器人将顺时针旋转而不是向前移动。在这种情况下,您应该保持 OUT1 和 OUT2(左)不变,但交换 OUT3 和 OUT4(右)。尝试更改设置,直到您的电机极性正确。

将 L298N 电机驱动器控制器连接到您的 Raspberry Pi

本项目中使用的 L298N 板需要连接到树莓派。其他板的连接方式可能不同,有些板可以简单地作为 HAT 放置在 Raspberry Pi GPIO 引脚上。请务必查看您的电路板的文档,看看是否是这种情况。

在这里使用的板上有标记为In1 In2 In3In4的引脚您使用 Pi 上的哪些 GPIO 引脚取决于您;在这个项目中,已经使用了GPIO 7 8 910 。如果您使用不同的 GPIO 引脚,您还需要更新blupants.json文件以反映您的选择并重新启动 blupants 服务。查看“调整”部分了解更多详情。

使用四个母对母跳线将 Raspberry Pi GPIO 引脚连接到电机控制器板上的引脚。

  • GPIO pin7连接到In1
  • GPIO pin8连接到In2
  • GPIO pin9连接到In3
  • GPIO pin10连接到In4
 
 
 
pYYBAGN6wiOATJGnAAKH1CTGtt8572.png
 
1 / 3Raspberry Pi GPIO 引脚排列
 

将 L298N 和 Raspberry Pi 连接到移动电源

在该项目中,我们使用一个经济实惠的移动电源为 Raspberry Pi 和 L298N 板以及电机供电。您可能想探索其他选项,例如官方Raspberry Pi 项目页面的“制作您自己的移动电源”中显示的选项

在这个项目中,我们使用 2 条公对公红色跳线和 1 条公对公黑色跳线。然后连接到 L298N 板上的 +12V、GND 和 +5V 端口,如下图所示。

 
 
 
poYBAGOaajmAB2vyAAQnRrNKvb8936.png
 
1 / 3将跳线连接到 L298N 板上的 +12V、GND 和 +5V
 

将红色跳线连接到“+”电源轨,将黑色跳线连接到面包板上的“-”电源轨。

现在电源接线已完成,让我们将移动电源(电池)放在机箱顶部,但在 Raspberry Pi 和面包板下方。

 
 
 
pYYBAGOaajyAHw-7AAJaBAnWBiQ823.png
 
1 / 2面包板下方的移动电源
 

在这个项目中,修补板用于将移动电源固定到机箱上。您可能需要使用不同的方法(胶带、螺栓和螺母、电缆扎带等)。

 
 
 
pYYBAGOaaj-AAxysAAJKzdPMgf472.jpeg
 
1 / 2修补板将移动电源固定到机箱
 

Raspberry Pi 使用螺栓和螺母固定在底盘上,还有一些电缆扎带将其固定在修补板上。

poYBAGOaakKAfrw6AAPIFNHzGWI755.png
用于将 Raspberry Pi 板固定到机箱的螺栓和螺母
 

电缆扎带用于将面包板固定到底盘上

 
 
 
pYYBAGOaakaAB2QWAAJa6OrMClI862.png
 
1 / 2连接到机器人的面包板
 

要将电源连接到面包板“+”和“-”导轨,请使用跳针将 USB 鳄鱼夹连接到导轨。

 
 
 
poYBAGOaakiAEkOlAAIe3sKU9N4631.png
 
1 / 4获得两个跳线针
 

要记住的一件非常重要的事情是为所有电路板和设备使用一个共同点。因此,请确保您还将 Raspberry Pi GND 品脱连接到面包板上的“-”电源轨。您将需要使用男性对女性(最好是黑色)来做到这一点。

pYYBAGOaakuAdcuQAALuaxhuVA077.jpeg
将 Raspberry Pi GND 连接到面包板“-”导轨
 

请注意,两个负极 (-) 电源轨通过面包板底部的黑色跳线连接。

将 USB 红色鳄鱼夹连接到“+”导轨,将黑色鳄鱼夹连接到面包板上的“-”导轨。

*注意:我只有 USB 转鳄鱼夹。更好的选择是使用 USB 调试电缆,因为它们更安全且更容易连接到面包板。您只需将红色和黑色公对公跳线连接到 TTL 连接器。以下是 USB 调试电缆的两种经济实惠的选择:

pYYBAGOaak-AOeF4AAMHyIl80tA802.png
将“鳄鱼夹到 USB 公头”连接到面包板
 

将USB端连接到移动电源,检查L298N板是否通电。如果不是,请检查您的接线。

 
 
 
poYBAGOaalKALNk8AAIvP-smcBQ176.png
 
1 / 2将 USB 连接到移动电源
 

通过将 USB-C 电缆连接到移动电源,打开 Raspberry Pi 4 板。如果您使用的是 Raspberry Pi 3 或 Zero,请使用 Micro USB 转 USB-A 并将其连接到移动电源(本教程中建议的移动电源有 2 个 USB-A 输出端口和 1 个 USB-C 输入/输出端口)。

 
 
 
poYBAGOaalSABQGBAALDak4AVHQ85.jpeg
 
1 / 4将 USB-C 电缆连接到 Raspberry Pi 和移动电源
 

给机器人上电后,在我们最终开始编码之前还有最后一步:将机器人连接到 WiFi 网络。

将树莓派连接到 WiFi

请参阅官方Raspberry Pi 文档,了解如何将机器人连接到 WiFi。您可以在此处找到非常详细的文档您需要做的就是确保将机器人(运行 BluPants SD 卡映像)和浏览器(台式机、平板电脑或手机)连接到同一个 WiFi 网络,这样您就可以使用BluPants Studio对机器人进行编程

编码时间!

打开 Raspberry Pi 并连接到 WiFi 后,打开浏览器并访问http://blupants.org。确保您用来浏览的计算机也连接到您连接 Raspberry Pi 的同一个 WiFi 网络。

在“Robot”下拉菜单(右下角)中,选择您的 Raspberry Pi 的 WiFi IP 地址,然后单击“Play”:

poYBAGN6XHuADGD6AAGJcY7IM_o724.png
将 BluPants 连接到您的机器人
 

在此示例中,Raspberry Pi WiFi 地址为“10.0.0.119”。如果您看不到任何 IP 地址,请尝试重新加载页面,或打开和关闭浏览器。如果仍然无法连接,请参阅“BluPants 连接故障排除”部分。

现在您已连接,拖放一两个“向前移动”命令块,然后单击“播放”执行它。

poYBAGOYhC6ACn4pAAI7egLhT4Q154.png
向前移动机器人
 

如果电机未按所需方向运行,则将红线和黑线连接反转以恢复极性并再次运行测试。查看下一节了解更多详情。为了克服它,需要调整。我们希望从以下位置更改默认值:

"raspberrypi":
{
    "motor":
    {
        "turn_right_period": 0.005,
    },
}

类似于:

"raspberrypi":
{
    "motor":
    {
        "turn_right_period": 0.004,
    },
}

您可以做的另一件事是,例如,您可能希望机器人在执行“move_forward()”命令时进一步移动。为此,您需要做的就是增加默认值

"block_length": 0.5,

"block_length": 0.9,

您还可以补偿物理问题,例如一个电机运行速度比另一个电机快(这会阻止机器人直线移动)。

假设您希望电机 2(右侧的电机)运行速度慢 20%。为此,您将 duty_ratio 的第二个值从 1.0 更改为 0.8。

原始设置:

"raspberrypi":
{
    "motor":
    {
    "duty_ratio": [1.0, 1.0, 1.0, 1.0],
    },
}

右侧电机运行速度慢 20% 的设置:

"raspberrypi":
{
    "motor":
    {
    "duty_ratio": [1.0, 0.8, 1.0, 1.0],
    },
}

随意编辑文件并测试您的代码,直到您获得所需的准确性。如果由于某种原因,您破坏了 json 文件并且机器人不再工作,只需从github 下载原始副本。

wget https://raw.githubusercontent.com/blupants/blupants/master/src/python/blupants/blupants.json

恢复损坏的blupants.json文件后,您可能需要重新启动服务。要重新启动服务,请打开命令提示符,然后运行:

sudo service blupants restart

如果您需要任何进一步的帮助,请随时在本文中添加任何评论。

BluPants 连接故障排除

如果您无法将浏览器连接到 Raspberry Pi,请确保您的 BluPants 服务正在运行。登录到您的 Raspberry Pi(默认凭据是用户:pi,密码:raspberry)并打开命令提示符。然后运行命令:

sudo service blupants status

预期的结果应该是这样的:

pYYBAGOaal2ACqfQAAGwxN_Y9zU791.png
蓝裤服务状态
 

如果需要重启服务,可以尝试:

sudo service blupants restart

并再次检查状态。确认服务正常运行后,在浏览器上访问http://blupants.org并尝试再次连接到您的 Raspberry Pi 机器人。

或者,您可以尝试直接在 URL 上提供您的 Raspberry Pi WiFi IP 地址。为了手动获取您的 WiFi IP 地址,请从您的 Raspberry Pi 命令外壳运行以下命令:

ifconfig wlan0

你应该得到类似的东西:

poYBAGOaamCAX7UmAAEBS1pMjYI553.png
树莓派 WiFi IP 地址
 

IP 地址在第三行 (inet) 上显示为“10.0.0.14”。您的 IP 很可能会有所不同。现在我们知道了我们的 IP 地址,我们可以像这样直接在浏览器 URL 上使用它:

http://blupants.org/?robot_ip=10.0.0.14

确保将“10.0.0.14”替换为您自己的 IP 地址并将其粘贴到浏览器地址栏中。打开页面并单击“播放”按钮进行连接。

poYBAGOaamKAW3d5AAFnhmqot5A138.png
手动连接机器人IP地址
 

如果您需要任何进一步的帮助,请在本文中添加任何评论,我们将为您提供帮助。在Twitter 上关注我们以随时关注所有新版本。爪教程是第一次扩展基本 MVP 机器人的好选择。您还可以按照本教程向您的机器人添加距离传感器和/或按照教程向其添加相机

将来,我们将涵盖机器学习、文本到语音、使用 OpenCV 4 的计算机视觉等主题。所有这些内容已经原生包含在您今天刚刚刷入 micro SD 卡的 BluPants 图像中。

您可能想进一步探索它并自己尝试新事物。如果您有这种感觉,请尝试自己构建更多东西。BluPants 是一个旨在让您边做边学的平台。如果您想给我们留言,请随时添加评论和/或直接与我们联系。

下次见!

Robot4() {
  return Humans++;
}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !