Bridge Shield でスマートロボットを構築:Raspberry Pi と Arduino の統合
Bridge Shield は学生、ハッカー、研究者向けに設計されたオープンソース開発ボードです。Raspberry Pi または Arduino Uno と組み合わせると、幅広い DIY ロボティクスとホームオートメーションプロジェクトが可能になります。
現在、Kickstarter でプロジェクトを支援中です。バックするか、以下のリンクを友人や家族と共有してください。
Bridge Shield Kickstarter Link
主な特徴(第 2 世代)
- 10-DOF IMU(慣性計測ユニット)
- 温度センサー
- デュアルブリッジモータードライバー(チャンネルあたり 1 A)
- 8 チャンネル I²C サーボドライバー
- コインセルバックアップ付きリアルタイムクロック
- 双方向 5 V↔3.3 V レベルシフター
- SPI、I²C、UART のレベルシフト(Arduino Uno ↔ Raspberry Pi)
- Arduino ブートローダー搭載 ATtiny85 マイコン
- ESP8266 Wi-Fi、HC-05 Bluetooth、IR リモコン、USB-to-UART 用ヘッダー
- 単一 12 V 入力で Pi、Arduino を給電、3 A、5 V/3 A、3.3 V/1 A レギュレーター内蔵
- LED ステータスインジケーター付きデュアルセル Li-Ion 充電器
- I²C 制御可変輝度 LED
すべてのコンポーネントは、標準的な Arduino Uno と Raspberry Pi のシールドスタックに適合するよう機械的に設計されています。
これまでに構築されたプロジェクト
- インターネット制御ロボット
- 任意のプラグイン家電向けホームオートメーションコントローラー
- IP カメラ
- バッテリーバックアップ付きモバイル Raspberry Pi プラットフォーム
できること
- 自律または自己平衡ロボット
- DIY ドローン(責任を持って使用 – プライバシー免責事項適用)
- I²C センサーとオンボードモータードライバー(サーボ、DC、ステッピング)を使ったスマートホームオートメーション
最初のプロトタイプを完成させ、現在テスト中です。第 2 世代ではさらに強力な機能が追加されます。詳細についてはウェブサイトと YouTube の動画をご覧ください。
はじめに:インターネット制御ロボット
ステップ 1:Raspberry Pi のセットアップ
必要なもの:
- Bridge Shield(または L293D ボード)
- SD カードと電源付き Raspberry Pi
- USB または Pi カメラモジュール
- ロボットシャーシ、モータークランプ、ナット/ボルト、周辺機器
- 2× DC モーター(BO モーター)
- 2 セル Li-Ion バッテリー(1,000–2,000 mAh)
- Arduino Uno(オプション)
- ESP8266 Wi-Fi モジュール(オプション)
- 1.3 インチ OLED ディスプレイ(オプション)
まず Pi に Web サーバーと PHP をインストール。この 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 のモータードライバーで Pi の GPIO から直接モーターを駆動。ピンマッピング例:
- GPIO 4 → ドライバーピン 2
- GPIO 17 → ドライバーピン 7
- GPIO 22 → ドライバーピン 15
- GPIO 23 → ドライバーピン 10
Shield と Pi をシャーシに搭載、Li-Ion バッテリーを取り付け、指定スロットに Wi-Fi ドングルを固定。
ステップ 5:オプションの ESP8266 と Arduino UNO でホームオートメーション
家電を Wi-Fi 制御するには、control.py に ESP8266 の IP とポートを設定:
$ 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 ページで。
製造プロセス
- Python、SQLite、LabVIEWによるRaspberry Pi高精度温度プロファイリング
- Raspberry PiとPythonでリモート温度センサーを構築 – ステップバイステップガイド
- Raspberry Pi 3とPubNubでリモート気象監視
- TI SensorTagをNode-RED経由でBlynkと統合 – Raspberry Pi Zero編
- Raspberry PiでPIRモーションセンサーとLEDを制御
- Raspberry PiでGPIO経由のボタン押下を読み取り - ステップバイステップガイド
- Raspberry Piダッシュボードで家庭の温度を監視する
- LIRCなしでRaspberry PiにIRリモコンを接続 - Python UARTアプローチ
- MCP3008 ADCでRaspberry Piにアナログセンサーを読み取る
- MonkMakes RRB2 キットで自作 Raspberry Pi ロボット – 詳細ガイド
- XMP-1 の構築:低コスト XMOS-Raspberry Pi モバイルプラットフォーム