Создание Bluetooth-робота на Raspberry Pi с аудио-обратной связью
В этом руководстве мы расширим классический проект робота на Raspberry Pi, добавив Bluetooth-управление и динамические звуковые эффекты. Соединим Arduino Uno с Bluetooth-модулем, передадим команды на Raspberry Pi и используем Python для воспроизведения .wav файлов, соответствующих каждой команде. Результат — робот, который движется и «говорит» в реальном времени.
Шаг 1: Детали и железо
- Raspberry Pi (любая модель с USB-портами, Pi 3 или новее рекомендуется)
- Arduino Uno
- Драйвер моторов (напр., L298N) и колеса/оси
- 9‑V батарея или Li‑Po пак (для базы робота)
- Bluetooth серийный модуль (Silversilvermate или HC‑05)
- Питание колонка с 3.5 мм джеком
- Соединительные провода, резисторы, макетная плата (при необходимости)
- Опционально: корпус или шасси для робота
Все основные компоненты покрыты в оригинальном гайде по сборке робота. Bluetooth-модуль можно приобрести у Zagros Robotics.
Шаг 2: Подготовка Raspberry Pi
Используйте последний образ NOOBS (v1.2.1 или новее) чтобы избежать проблем с аудиоджеком, преследовавших старые Raspbian-релизы. После загрузки Pi:
- Откройте терминал и подтвердите Python 2.7 (или 3.x если предпочитаете).
python --version - Если нужна конкретная версия, установите через
sudo apt-get install python2.6(хотя Python 2.7 полностью поддерживается). - Установите библиотеку serial для связи с Arduino:
sudo apt-get install python-serial - Включите 3.5 мм аудиоджек:
amixer cset numid=3 1 - Создайте папку
/home/pi/Soundsи скачайте WAV-файлы:forward.wavbackward.wavleft.wavright.wavstop.wav
- Скачайте Python-скрипт zagbot-bt.py в
/home/piи сделайте исполняемым:sudo chmod +x /home/pi/zagbot-bt.py
Шаг 3: Проводка Arduino и Bluetooth
Подключите Bluetooth-модуль к Arduino через SoftwareSerial на пинах 2 (TX) и 3 (RX). Схема проводки:
- Arduino TX (пин 2) → Bluetooth RX
- Arduino RX (пин 3) → Bluetooth TX
- Arduino 5V → Bluetooth VCC
- Arduino GND → Bluetooth GND
- Bluetooth CTS → Arduino RTS (опционально, для контроля потока)
Загрузите скетч zagbotbt.ino в Uno. Этот скетч пересылает любую строку, полученную по Bluetooth, на USB-серийный порт, подключенный к Raspberry Pi.
Шаг 4: Android-приложение управления
Скачайте пример Android APK Max_Control с Box. Перенесите на SD-карту устройства, установите через приложение вроде ES File Explorer (туториал). Приложение отправляет простые текстовые команды (например, "FORWARD", "BACKWARD") по Bluetooth на Arduino.
Шаг 5: Запуск системы
- Подайте питание на базу робота и убедитесь, что Arduino подключен к Pi через USB.
- Запустите Python-лисенер на Pi:
python /home/pi/zagbot-bt.py - Запустите Android-приложение и спарьте с Bluetooth-модулем.
- Нажмите кнопку движения и услышьте соответствующий звук на колонке Pi.
Поздравляем — у вас теперь полнофункциональный, Bluetooth-управляемый Raspberry Pi робот, реагирующий звуком на каждую команду. Свободно расширяйте проект: добавьте больше звуковых файлов, интегрируйте акселерометр для жестового управления или переключитесь на Python 3 для будущей совместимости.
Производственный процесс
- DIY робот в стиле Wall‑E на Raspberry Pi из коробки от CD
- Создание интернет-управляемого видеostreaming-робота на Arduino и Raspberry Pi
- Жестово-управляемый робот на Raspberry Pi
- Создание WiFi-робота на Raspberry Pi и Android-смартфоне
- Построение Wi-Fi-управляемого робота на Raspberry Pi с Python — пошаговое руководство
- Android-управляемая робот-платформа на Raspberry Pi и Motor Shield
- Управление светодиодами через Alexa с помощью Raspberry Pi – простое пошаговое руководство
- Голосовой робот на Arduino Nano: Управление речью через Bluetooth
- MobBob: Самостоятельная сборка Arduino-робота под управлением Android-смартфона
- Голосовое управление бытовыми приборами: Bluetooth-управление через Google Assistant