Создание умного робота с Bridge Shield — интеграция Raspberry Pi и Arduino
Bridge Shield — это открытая разработка для студентов, хакеров и исследователей. В паре с Raspberry Pi или Arduino Uno она раскрывает широкий спектр DIY-робототехники и домашней автоматизации.
В данный момент проект поддерживается на Kickstarter — рассмотрите возможность поддержки или поделитесь ссылкой с друзьями и семьей.
Bridge Shield Kickstarter Link
Ключевые особенности (2-е поколение)
- 10‑DOF IMU (инерциальный измерительный блок)
- Датчик температуры
- Два моторных драйвера H‑моста (1 А на канал)
- 8‑канальный I²C драйвер сервоприводов
- Часы реального времени с батарейным резервом
- Двунаправленный преобразователь уровней 5 В↔3.3 В
- Преобразование уровней для SPI, I²C, UART (Arduino Uno ↔ Raspberry Pi)
- Микроконтроллер ATtiny85 с загрузчиком Arduino
- Разъемы для ESP8266 Wi‑Fi, HC‑05 Bluetooth, ИК-пульт, USB‑to‑UART
- Единый вход 12 В питает Pi, Arduino, включает стабилизаторы 3‑А, 5 В/3 А и 3.3 В/1 А
- Зарядное устройство для двух Li‑Ion элементов с LED-индикацией
- I²C-управляемый LED с переменной яркостью
Все компоненты механически спроектированы для совместимости со стандартными стеками шилдов Arduino Uno и Raspberry Pi.
Реализованные проекты
- Интернет-управляемый робот
- Контроллер домашней автоматизации для любых сетевых приборов
- IP-камера
- Мобильная платформа Raspberry Pi с батарейным резервом
Что можно сделать
- Автономный или самобалансирующийся робот
- DIY дрон (используйте ответственно — заявление о конфиденциальности)
- Умная домашняя автоматизация с I²C-датчиками и бортовыми драйверами моторов (сервы, DC, шаговые)
Завершен первый прототип, сейчас идет тестирование. Второе поколение принесет еще более мощные функции. Смотрите видео на сайте и YouTube для деталей.
Начало работы: Интернет-управляемый робот
Шаг 1: Настройка Raspberry Pi
Ингредиенты:
- Bridge Shield (или плата L293D)
- Raspberry Pi с SD-картой и блоком питания
- USB-камера или модуль камеры Pi
- Робот-шасси, крепления моторов, гайки/болты, периферия
- 2× DC моторы (BO motors)
- 2‑элементный Li‑Ion аккумулятор (1000–2000 мАч)
- Arduino Uno (опционально)
- ESP8266 Wi‑Fi модуль (опционально)
- 1.3" OLED дисплей (опционально)
Начните с установки веб-сервера и PHP на Pi. Следуйте этому instructable для деталей, затем выполните:
$ sudo apt‑get update $ sudo apt‑get install apache2 php5 libapache2-mod-php5
Проверьте, зайдя на https://your‑pi‑IP в браузере. Опционально установите FTP-сервер:
$ sudo apt‑get install vsftpd $ sudo nano /etc/vsftpd.conf
Внесите правки:
- Замените
anonymous_enable=YESнаanonymous_enable=NO - Раскомментируйте
local_enable=YESиwrite_enable=YES - Добавьте
force_dot_files=YESв конец
Перезапустите сервис:
$ sudo service vsftpd restart
Шаг 2: Установка MPEG‑Streamer
MPEG‑Streamer транслирует видеопоток камеры в интернет. Установите зависимости:
$ sudo apt‑get install libjpeg8-dev imagemagick
Клонируйте, соберите и запустите стример:
$ cd ~ $ mkdir tmp $ cd tmp $ svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg… mjpg-streamer $ cd mjpg-streamer/mjpg-streamer $ make $ cd /home/pi/code/mjpg-streamer $ ./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -p 8080 -w ./www"
Просмотр потока на https://pi‑IP:8080 или https://pi‑IP:8080/?action=stream.
Шаг 3: Интерфейс PHP & Python с GPIO
Установите WiringPi (инструкции на официальном сайте). Разместите файлы в /var/www/server/:
- control.html
- control.php
- control.py
Отредактируйте control.html для указания потока:
$ sudo nano /var/www/server/control.html
Замените img src на:
img src="https://pi‑IP:8080/?action=stream"
Доступ к странице: https://pi‑IP/server/control.html. Кнопки будут переключать GPIO-выводы через PHP-скрипт.
Шаг 4: Подключение железа (Pi & Bridge Shield)
Используйте драйвер моторов Bridge Shield для питания моторов прямо от GPIO Pi. Сопоставление пинов (пример):
- GPIO 4 → Driver pin 2
- GPIO 17 → Driver pin 7
- GPIO 22 → Driver pin 15
- GPIO 23 → Driver pin 10
Установите Shield и Pi на шасси, прикрепите Li‑Ion батарею, закрепите Wi‑Fi донгл в отведенном слоте.
Шаг 5: Опционально ESP8266 & Arduino UNO для домашней автоматизации
Для Wi‑Fi управления приборами обновите control.py с IP и портом ESP8266:
$ sudo nano /var/www/server/control.py
Установите:
TCP_IP = "esp‑ip"TCP_PORT = esp‑port
Загрузите скетч в Arduino и установите библиотеки Adafruit OLED. Настройте проброс портов на роутере (например, Netgear) для экспозиции порта ESP8266. См. руководство по пробросу портов.
Для глубокого погружения посетите страницу Robot Using Raspberry Pi & Bridge Shield.
Производственный процесс
- Точный температурный профиль Raspberry Pi с Python, SQLite и LabVIEW
- Создание удалённого датчика температуры на Raspberry Pi и Python — пошаговое руководство
- Удалённый мониторинг погоды на Raspberry Pi 3 с PubNub
- Интеграция TI SensorTag с Blynk через Node‑RED на Raspberry Pi Zero
- Управление светодиодом с PIR-датчиком движения на Raspberry Pi
- Чтение нажатий кнопки через GPIO на Raspberry Pi: пошаговое руководство
- Мониторинг домашней температуры с панелью управления на Raspberry Pi
- Перехват команд ИК-пульта на Raspberry Pi без LIRC: подход через Python UART
- Использование АЦП MCP3008 для чтения аналоговых датчиков с Raspberry Pi
- Создайте своего робота на Raspberry Pi с набором MonkMakes RRB2 — подробное руководство