Simple Pi Robot:用树莓派打造 2WD 自主巡航车
Simple Pi Robot 是一份实操指南,将树莓派变为全功能自主移动平台。无论你是爱好者还是教育者,本教程带你走过每一步——从选型到编写控制代码和实时视频流。
零件清单
- 树莓派(任意型号,推荐 Pi B+ 或 Pi Zero)
- 40 针 GPIO 排线(Pi B+ 或 Pi 2 用)
- 标准面包板
- 双轮底盘(如 Ellipzo 2WD 套件)
- 超声波测距传感器 (HC-SR04)
- 树莓派移动电源
- 可充电 AA 电池(2100 mAh 或更高)
- 公母杜邦线、电阻
- Wi-Fi 适配器(EDUP 或 EDIMAX)
- 4GB+ microSD 卡装系统
- L298 双电机驱动板
- 舵机电机(如 Futaba S3003)
- 杂项:扎带、泡沫胶带用于固定
步骤 1 – 选择电机驱动
L298 是经验证、高性价比的选择,为电机和舵机提供稳压 5V,且支持独立使能引脚实现调速。其他选项包括 RTK 电机控制扩展板、Pololu DRV8835、Adafruit DC/Stepper Motor HAT,但 L298 简洁性适合新手。
步骤 2 – L298 接线
按以下方式连接板卡到底盘:
- 直流电机 A:
OUT‑A+→OUT‑A‑ - 直流电机 B:
OUT‑B+→OUT‑B‑ - 舵机:
+5V(稳压) →Servo +,GND→Servo – - 使能引脚:保留跳线全速;拔除用 PWM 调速。
- 四根跳线从控制输入接到 Pi GPIO 引脚(见引脚图)。
- 一根跳线从舵机控制线接另一 GPIO 引脚。
步骤 3 – 设置舵机
舵机需恒定 5V 供电和 PWM 控制信号。本构建用 Futaba S3003 (4.8-6V)。用 RPIO.PWM 库通过 DMA 可靠控制舵机:
sudo apt-get install python-setuptools
sudo easy_install -U RPIO
详见 RPIO.PWM。
步骤 4 – 组装底盘
使用 Ellipzo 2WD 底盘套件,含电机、云台舵机支架和所有五金。按套件说明安装 Pi、L298 和电源组件。
步骤 5 – 添加 HC-SR04 测距传感器
VCC 接 +5V,GND 接地。TRIG 和 ECHO 接 GPIO(如 18 和 17)。回波线串 1kΩ 电阻保护 Pi。Python 片段测距:
TRIG = 18
ECHO = 17
# (初始化 GPIO 并执行测量)
步骤 6 – 摄像头与实时流
安装官方 Pi Camera 模组。安装 VLC 用于流媒体:
sudo apt-get install vlc
RTSP 推流:
raspivid -o - -t 0 -n | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' :demux=h264
任意设备用 VLC 打开流:rtsp://<PI‑IP>:8554/。
步骤 7 – 引脚图 & Python 控制代码
下方完整 Python 脚本控制机器人运动、测距和舵机。用 RPi.GPIO 处理电机逻辑,RPIO.PWM 处理舵机 PWM。
from RPIO import PWM
import RPi.GPIO as GPIO
import time
from subprocess import call
GPIO.setmode(GPIO.BCM)
# 设置 GPIO 引脚
GPIO.setup(19, GPIO.OUT)
GPIO.setup(26, GPIO.OUT)
GPIO.setup(16, GPIO.OUT)
GPIO.setup(20, GPIO.OUT)
GPIO.setup(21, GPIO.IN)
GPIO.setup(8, GPIO.OUT)
GPIO.setup(27, GPIO.OUT)
GPIO.setup(9, GPIO.OUT)
TRIG = 18
ECHO = 17
# 运动函数
def fwd():
GPIO.output(19, True)
GPIO.output(26, False)
GPIO.output(16, True)
GPIO.output(20, False)
# (其他运动和传感器函数为简洁省略)
while True:
inp = raw_input()
if inp == "1":
fwd()
print("robot moving forward")
# ... (处理其他指令)
GPIO.cleanup()
步骤 8 – 组装照片
参考随附图片获取接线、安装和最终组装的视觉指导。
完整源码和额外资源见原始 Simple Pi Robot 页面。
制造工艺
- 专业 Fanuc 伺服电机维修服务
- 专业西门子伺服电机维修:快速可靠,恢复生产核心动力
- 伺服电机故障排查与专业维修指南:6 步 DIY 测试法与选维修商 6 大硬指标
- 舵机驱动避障机器人:基于 Arduino 与 HC-SR04 构建
- Joy Robot:基于 Arduino 与 ESP8266 的开源 3D 打印智能机器人
- Arduino UNO 自制循迹小车:从零构建自主巡线机器人
- 适用于 Arduino 项目的智能室内导航机器人套件
- 行星减速机为何能提升伺服电机性能
- 伺服电机深度解析:工作原理、分类与核心价值
- 伺服电机减速机:功能原理、优势与应用场景全解析
- 齿轮箱与伺服电机完美搭配:精准运动控制的黄金法则
- 精准伺服运动技术赋能机器人系统集成与协同作业