Simple Pi Robot — Сборка 2WD автономного ровера на Raspberry Pi
Simple Pi Robot — практичное руководство, превращающее Raspberry Pi в полнофункциональную автономную мобильную платформу. Будь вы хоббистом или педагогом, туториал ведёт через каждый шаг — от выбора компонентов до написания управляющего кода и стриминга видео в реальном времени.
Список компонентов
- Raspberry Pi (любая модель, Pi B+ или Pi Zero рекомендуются)
- 40-пинный GPIO ribbon-кабель (для Pi B+ или Pi 2)
- Стандартная макетная плата
- 2-колесное шасси (например, Ellipzo 2-WD kit)
- Ультразвуковой датчик расстояния (HC-SR04)
- Пауэрбанк для Pi
- Накопительные АА батареи (2100 мАч или выше)
- Джамперные провода (male & female), резисторы
- Wi-Fi адаптер (EDUP или EDIMAX)
- microSD 4 ГБ+ для ОС
- Двухмоторный драйвер L298
- Сервопривод (например, Futaba S3003)
- Разное: стяжки, пено-пленка для монтажа
Шаг 1 – Выбор мотор-драйвера
L298 — проверенный, дешёвый выбор, дающий стабильные 5 В для моторов и серв. Также поддерживает отдельные enable-пины для скоростного управления. Альтернативы: RTK Motor Controller Shield, Pololu DRV8835, Adafruit DC/Stepper Motor HAT, но простота L298 делает его идеальным для новичков.
Шаг 2 – Проводка L298
Подключите плату к шасси так:
- DC Motor A:
OUT-A+→OUT-A- - DC Motor B:
OUT-B+→OUT-B- - Серво:
+5V(стабилизированный) →Servo +,GND→Servo – - Enable pin: держите джампер для полной скорости; снимите для ШИМ управления скоростью.
- Соедините четыре джампера от входов управления к GPIO Pi (см. распиновку).
- Присоедините один джампер от линии управления серво к другому GPIO.
Шаг 3 – Настройка сервопривода
Серво требует постоянные 5 В и ШИМ-сигнал управления. В этой сборке Futaba S3003 (4,8–6 В). Используем библиотеку RPIO.PWM для надёжного управления серво через DMA:
sudo apt-get install python-setuptools
sudo easy_install -U RPIO
Подробнее о RPIO.PWM.
Шаг 4 – Сборка шасси
Используем набор шасси Ellipzo 2-WD, включающий моторы, панорама/наклон серво-крепеж и всё необходимое железо. Следуйте инструкциям набора для крепления Pi, L298 и компонентов питания.
Шаг 5 – Добавление датчика расстояния HC-SR04
Подключите VCC к +5 В, GND к земле. TRIG и ECHO на GPIO (например, 18 и 17). Добавьте 1 кОм резистор на линию echo для защиты Pi. Python-сниппет для измерения расстояния:
TRIG = 18
ECHO = 17
# (инициализация GPIO и измерение)
Шаг 6 – Камера и живой стриминг
Подключите официальный модуль камеры Pi. Установите 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 для серво ШИМ.
from RPIO import PWM
import RPi.GPIO as GPIO
import time
from subprocess import call
GPIO.setmode(GPIO.BCM)
# Setup GPIO pins
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
# Movement functions
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
- Профессиональный ремонт сервоприводов Siemens — быстро и надежно
- Экспертное руководство: ремонт и диагностика сервоприводов
- Робот-ускользатор на сервоприводе: сборка на Arduino и HC-SR04
- Набор для создания робота с умной внутренней навигацией на базе Arduino
- Повышение операций роботов с точной сервоприводной технологией движения
- Почему планетарные редукторы повышают производительность сервоприводов
- Серводвигатели: принцип работы и значение
- Сервоприводные редукторы: функции, преимущества и применение
- Максимизация точности: правильное сочетание редукторов (gearheads) с сервоприводами