Создание WiFi-робота на Raspberry Pi и Android-смартфоне
Хотели когда-нибудь управлять роботом с телефона? С Raspberry Pi, драйвером моторов L293D и приложением RootSaid WiFi Command Center вы можете оживить мобильно-контролируемого робота. Это руководство ведет через каждый шаг — от выбора компонентов до написания скрипта-листенера.
Компоненты, которые понадобятся
Кликните ссылки для покупки на Amazon (или предпочитаемом ритейлере).
- Raspberry Pi (любая модель с GPIO пинами)
- 12 V Lithium‑Polymer (LiPo) батарея
- Два DC-мотора
- Робот-шасси (пенопласт, тонкий металл или готовый набор)
- L293D Dual H‑Bridge Motor Driver
- Android телефон с установленным RootSaid – WiFi Command Center
- WiFi сеть (роутер или хотспот)
Пошаговое руководство сборки
1. Сборка шасси
Спроектируйте надежную базу, способную держать Raspberry Pi, L293D и батарею. Легкие материалы вроде пенопласта или тонкого металла держат вес низким. Если предпочитаете, купите готовое робот-шасси онлайн.
2. Настройка системы питания
12 V LiPo питает моторы и внутренний регулятор L293D. Для защиты Raspberry Pi понизьте напряжение до 5 V с помощью DC-DC конвертера или buck-регулятора перед подачей на 5 V вход Pi.
3. Монтаж драйвера моторов
Закрепите L293D на шасси и соедините с двумя DC-моторами. Обратитесь к даташиту L293D для распиновки. Убедитесь, что enable-пины драйвера установлены в HIGH (логика 1) для непрерывной работы.
4. Подготовка Raspberry Pi
Вставьте microSD с загруженным Raspberry Pi OS (ранее Raspbian). Включите Pi, задайте пароль для пользователя pi с sudo passwd pi, и выполните sudo apt update -y && sudo apt upgrade -y для актуализации системы.
5. Подключение к WiFi
Свяжите Pi с вашей WiFi-сетью. Откройте терминал и запишите IP-адрес Pi с ifconfig или hostname -I. Проверьте связность, пропинговав IP телефона с Pi.
6. Проводка GPIO пинов
Используйте шесть GPIO пинов для управления моторами:
- Мотор 1: GPIO 33 (IN1) и GPIO 11 (IN2)
- Мотор 2: GPIO 13 (IN3) и GPIO 15 (IN4)
- Enable пины: GPIO 29 и GPIO 31 (оба HIGH)
7. Установка скрипта-листенера
На Pi скачайте следующий Python-скрипт и сохраните как controller.py. Скрипт слушает UDP порт 5050 и транслирует входящие команды в действия моторов.
import socket import RPi.GPIO as GPIO # GPIO setup GPIO.setmode(GPIO.BOARD) # Мотор 1 GPIO.setup(33, GPIO.OUT) GPIO.setup(11, GPIO.OUT) # Мотор 2 GPIO.setup(13, GPIO.OUT) GPIO.setup(15, GPIO.OUT) # Enable пины GPIO.setup(29, GPIO.OUT) GPIO.setup(31, GPIO.OUT) GPIO.output(29, GPIO.HIGH) GPIO.output(31, GPIO.HIGH) # UDP сокет sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.bind(('', 5050)) print('Listening for commands on port 5050...') while True: data, addr = sock.recvfrom(1024) cmd = data.decode().strip().lower() if cmd == 'forward': GPIO.output(33, GPIO.HIGH); GPIO.output(11, GPIO.LOW) GPIO.output(13, GPIO.HIGH); GPIO.output(15, GPIO.LOW) elif cmd == 'backward': GPIO.output(33, GPIO.LOW); GPIO.output(11, GPIO.HIGH) GPIO.output(13, GPIO.LOW); GPIO.output(15, GPIO.HIGH) elif cmd == 'left': GPIO.output(33, GPIO.LOW); GPIO.output(11, GPIO.HIGH) GPIO.output(13, GPIO.HIGH); GPIO.output(15, GPIO.LOW) elif cmd == 'right': GPIO.output(33, GPIO.HIGH); GPIO.output(11, GPIO.LOW) GPIO.output(13, GPIO.LOW); GPIO.output(15, GPIO.HIGH) elif cmd == 'stop': GPIO.output(33, GPIO.LOW); GPIO.output(11, GPIO.LOW) GPIO.output(13, GPIO.LOW); GPIO.output(15, GPIO.LOW) else: print('Unknown command:', cmd) Запустите скрипт с python controller.py. Pi теперь готов принимать UDP-команды.
8. Установка RootSaid на телефон
Скачайте RootSaid – WiFi Command Center из Google Play Store. Откройте приложение, введите IP-адрес Pi и порт 5050, используйте экранные стрелочные кнопки для отправки команд движения.
9. Тестирование робота
Со всем подключенным и запитанным, попробуйте каждое направление с телефона. Моторы должны отзываться мгновенно, подтверждая успешную связь между вашим Android-устройством и Raspberry Pi.
Поздравляем! Вы построили полностью функциональный WiFi-контролируемый робот, которым можно управлять прямо со смартфона.
Производственный процесс
- Raspberry Pi управляемая аквапоника: гайд по сборке и код
- Умный выключатель питания AC под управлением SMS с Raspberry Pi и Hologram
- Создание умного робота с Bridge Shield — интеграция Raspberry Pi и Arduino
- Создайте своего робота на Raspberry Pi с набором MonkMakes RRB2 — подробное руководство
- Сборка и управление Pi-роботом с живой видеотрансляцией
- Создание XMP‑1: бюджетная мобильная платформа на XMOS и Raspberry Pi
- DIY робот в стиле Wall‑E на Raspberry Pi из коробки от CD
- Создание Bluetooth-робота на Raspberry Pi с аудио-обратной связью
- Создание интернет-управляемого видеostreaming-робота на Arduino и Raspberry Pi
- Создание веб-камер робота на Raspberry Pi — пошаговое руководство по видеопотоку