使用 Arduino 和 Raspberry Pi 构建您的 Internet 控制的视频流机器人
我是@RedPhantom(又名 LiquidCrystalDisplay / Itay),来自以色列的 14 岁学生,在 Max Shein 初中学习高级科学和数学。我正在制作这个项目供大家学习和分享!
你可能想过:嗯……我是个极客……我的孩子们想让我和他们一起做一个项目……
他想建造一个机器人。她想把它打扮成一只小狗。这是一个很好的周末项目!
Raspberry Pi 适合各种用途:今天我们将展示这款微型计算机制造机器人的能力。这个机器人可以:
- 使用连接到与 Raspberry Pi 相同的 WiFi 网络的任何计算机通过 LAN (WiFi) 驾驶和控制。
- 使用 Raspberry Pi 摄像头模块直播视频
- 使用 Arduino 发送传感器数据
要了解这个漂亮的灯光项目需要什么,只需阅读下一步(警告),然后阅读通缉:组件步骤。
这是 GitHub 存储库:我的 GITHUB 存储库
这里是项目网站:PROJECT SITE BY ME
第 1 步:警告:在家尝试时要小心
注意:本教程的作者假设您对电力和电气设备的基本操作有足够的了解。如果您不小心并且不遵守本教程中的说明,您可能会:损坏电子设备、自焚或引起火灾。请小心并使用常识。如果您不具备本教程所需的知识(焊接、电子基础知识),请与具备相关知识的人员一起进行。谢谢你。并且:
本说明书的作者免除他本人对造成或丢失财产或物理损坏的任何责任。使用常识。
并且:
这是树莓派竞赛的参赛作品。如果您在右角为我投票,我将不胜感激。谢谢!享受。
许可
此 Instructable 提供的程序已根据 GPL v3 获得许可。
GPL 许可为您提供:
- 出于任何目的自由使用该软件,
- 可以自由更改软件以满足您的需求,
- 与您的朋友和邻居共享软件的自由,
- 以及分享您所做更改的自由。
第 2 步:需要:组件
这个轻松的周末项目只需要:
- 树莓派
任何型号都可以:我们将使用两个 USB 端口:一个用于 WiFi 适配器,另一个用于 Arduino。
我使用的是 Raspberry Pi 2 B 型
- 适合您的 Raspberry Pi 的 WiFi 适配器。占用 1 个 Pi USB 端口。 (连接到树莓派)
- 一根 USB-A 转 USB-B 短电缆。占用 1 个 Pi USB 端口。 (连接到树莓派)
- 一个 Arduino
(连接到 Raspberry Pi)
同样,任何型号都可以。这个小型微控制器将接收我们传感器的输出并将信号发送到我们的直流电机。
我使用的是 Arduino Uno。 - 传感器(可选)。 (连接到 Arduino)
这些将从环境中获取信息并为我们收集。
- 双 H 桥
H桥用于控制电机,就像一个大晶体管。 Arduino 将脉冲(PWM,请参阅解释的最后一步)发送到 H 桥,该桥从外部电源为直流电机供电。 (请参阅最后一步(说明)中的逻辑电压和操作电压)。
我使用基于 L298N 的双 H 桥。
(连接到Arduino)
- 直流电机
注意:它们必须是相同的型号,以便它们的速度相同。使用伺服电机也是一种选择:将 GND(地)线连接到 arduino 和电源。微控制器上 PWN-able 引脚的信号和外部电源的 PWR 线。这种方法不需要 H 桥。
- 适用于 Pi 和 Arduino 的电池组。
我推荐电池组,因为它带有充电电路,可以从任何计算机充电
我使用 5V 5000mAh 1A 电池组。
注:机器人正常运行至少需要1A。低于此值会导致发热并可能损坏电池。
(连接到 H 桥)
- 面包板跳线
他们是非常有用的小混蛋。它们无需焊接即可将您的所有组件连接在一起 - 原型设计的终极解决方案。
- 6v 电池组 / 电机电池组
因为我使用 4 节 AA 电池,所以您应该使用适合您的直流电机的电池组。注意:与其他组件不同,直流电机(如 LED)使用提供给它们的所有电流,因此您应该使用普通碱性电池而不是充电电池。小心点|
(连接到 H 桥)
- 平台
由于 Raspberry Pi 是创建此机器人的绝佳平台,因此我们需要一个物理平台来放置所有组件。你可以使用任何你想要的东西:木材和铝都是很好的材料。
注意:如果你决定用金属或导电材料建造你的机器人,用一层透明塑料/任何其他非导电材料,当您将电路板放在上面时,通孔引脚可能会短路并损坏您的电路板。不好。
我用的是从 E-Bay 花 12 美元买的塑料底座。有很多可供选择。即使是带有电机的(比如我的)。 - 知识
您主要需要简单的编程理解和基本的 Linux 环境操作技能。这些很容易获得——我通过一本电子书学习了 Python 和其他编程语言!
第 3 步:阅读材料
建议你过去看看:
- L298N H 桥
- 基础电子
- 超声波距离传感器教程
并访问:
- Raspberry Pi 站点
- Arduino 网站
- Python 站点
该项目的 GitHub 存储库和站点位于第一页!
在 GitHub 上 fork 我们!
第 4 步:电源管理
首先,我们必须查看组件的电源使用情况。通常它们都工作在5V。
Raspberry Pi 2 B(任何型号都可以):~500mA
摄像头模块:~250mA
Arduino (Uno):~150mA
超声波距离传感器:~50mA
总和:950mA。我的电池能够提供高达 1A 的电流,所以一切都很好。如果您的设置需要超过电池容量的 10%,请考虑并联两个或购买更高安培数的一个。
关于 H 桥的重要说明:如果您的电机需要超过 6V 的电压,则将 H 桥的电源连接到 12 In DC 引脚而不是 5V 输入。在这种情况下,5V 输入充当 5V 输出。查看您的数据表和/或说明。
第 5 步:连接
在我们加热烙铁之前,我们需要回顾一下应该连接什么。我制作了这个简单的图表(MS Paint 永远不会让我失望),它描述了这个机器人内窗帘部分的位置(顺便说一句,我的妹妹因为轮胎发出的有趣噪音而将其称为 FartBot。妈妈说服我将名称更改为 SmartBot )
图像已构建,因此您可以放大并以全分辨率查看并阅读我留在那里的小消息。
第 6 步:Pi 的地址
Arduino 按照计划与 Pi 对话。 Pi 与计算机对话,那么这一切是如何工作的?
让我们看看我们的 CIS(连接启动序列):
- 树莓派启动
- Arduino 开始
- Raspberry Pi 启动 TCP 客户端。它通过 LED 发出其 IP 地址。
- Raspberry Pi 启动串行通信服务并连接到 Arduino
因此我们建立了某种沟通:
计算机 <-> 树莓派 <-> Arduino
我使用 Visual Basic .NET(Microsoft Visual Studio 2013 社区)编写了与 Raspberry Pi 和 Python 对话的程序,以编写 Arduino/Raspberry Pi 协议。
要知道您的 Pi IP 地址,您只需将其连接到 HDMI 屏幕,登录到 Shell 并键入命令:
主机名 -I
确保使用大写的“I”(字母“Eye”)使命令生效。
第 7 步:计划
现在我们已经获得了 Pi 的 IP 地址,我们将通过 SSH 访问它(访问文件,SSH 是 Secure Shell)并编写一个包含服务器 IP 地址的文件。启动时的 pi 也会这样做并写入它正在侦听的端口。在这里,我将仅提供代码中的几个示例,但可以从此步骤和我创建的 github 分支下载。稍后详述。
它是这样工作的:
- RPi 启动。
- RPi 在其本地 IP 和指定端口上启动 Tcp 程序。
- RPI 开始流式传输视频
- RPI 关闭。
第 8 步:进行体能训练
现在,我们已准备好开始物理构建整个事物。如果您还没有阅读第 1 步(警告文本和许可),请在继续之前阅读。我对造成的任何损坏概不负责。如有疑问,该机器人不得用于军事目的,除非它是僵尸启示录。即便如此,也要运用常识。
建议您阅读阅读清单中的教学内容。
从“连接”步骤下载连接方案。
电机
您购买的电机可能看起来像这样,如果没有也没关系:如果它们只有两根电线(大多数情况下是黑色和红色),它应该可以工作。在线查找他们的数据表以查看其工作电压和电流。欢迎在评论区提问。我总是读它们。
H 桥
我以前从未与 H 桥合作过。我用谷歌搜索了一下,发现了一个很好的指导,解释了 HB 的原理。您也可以在那里查看(请参阅阅读列表步骤)并勾住您的。我不会解释太多。您可以在那里阅读并了解有关该电路的所有信息。
LED
这个小灯泡可以从逻辑电压运行,因为它几乎不需要电流,电压为 3V-5V 4mA-18mA。可选。
阿杜诺
Arduino 将通过 Raspberry Pi 的串行连接获取信号和命令。我们使用 Arduino 来控制我们的电机,因为 Raspberry Pi 无法通过 GPIO 输出模拟值。
欲了解更多详情:使用 Arduino 和 Raspberry Pi 构建您的互联网控制的视频流机器人
制造工艺
- 用三星 SAMIIO、Arduino UNO 和 Raspberry Pi 在几分钟内制作一个火灾探测器
- 使用 Raspberry Pi、DHT11 传感器和 Thingspeak 构建您的第一个物联网。
- 带有 Raspberry Pi 和湿度传感器的 Aeroponics
- XMOS startKIT:构建 XMOS 和 Raspberry Pi 机器人 XMP-1
- 使用 Raspberry Pi 和 Python 构建机器人
- 通过蓝牙控制的树莓派机器人
- 使用 Raspberry Pi 的手势控制机器人
- 带视频的树莓派网络控制机器人
- 使用 Raspberry Pi 的 Wifi 控制机器人
- Pi-Arduino Internet Radio
- 带伺服电机的机器人避障
- Alexa 通过 Raspberry Pi 控制 LED