工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Android加速度センサーで操作するラジコン車両:Raspberry Pi・Arduino・モーターシールド連携

プロジェクト概要

Androidデバイスの加速度センサーで地形走行車両を遠隔操作するシステムです。Raspberry Pi 2 Model BをWebサーバーとして、Arduino 101をI2Cで接続し、DK Electronicモーターシールド経由でDCモーターを駆動します。Windows 10 IoT Core、Visual Studio 2015、CordovaベースのAndroidアプリで構成されています。

構成部品

システムアーキテクチャ

  1. Androidアプリが加速度センサーデータをAJAXリクエストでRaspberry PiのWebサーバーに送信
  2. Raspberry Pi(Windows IoT Core)がデータを受信し、I2C経由でArduinoに転送
  3. Arduinoがデータを解析し、モーターシールドで2つのDCモーター(前進/後進、左/右)を制御

ステップ1:Arduino側 I2Cスレーブ実装

ArduinoをI2Cスレーブ(アドレス0x40)として設定し、Raspberry Piからのデータ受信時に割り込み関数I2CReceived()でモーター制御を行います。受信データの値域でX軸(前進/後進)とY軸(左/右)を区別し、さらに値の範囲で速度と方向を決定します。モーター速度は50〜254の範囲でマッピングされます。ArduinoはRaspberry PiのVoutピンから給電可能です。

Arduinoコード(抜粋)

#include 
#include 
#define MyAddress 0x40
AF_DCMotor motorhiz(3); // 前進/後進
AF_DCMotor motoryon(4); // 左/右

void setup() {
  Wire.begin(MyAddress);
  Wire.onReceive(I2CReceived);
  motorhiz.setSpeed(254); motorhiz.run(RELEASE);
  motoryon.setSpeed(254); motoryon.run(RELEASE);
}

void I2CReceived(int NumberOfBytes) {
  ReceivedData = Wire.read();
  int ReceivedDataInt = (int)ReceivedData;
  // X軸データ (>=100): 100-103=停止, 105-=前進, 155-=後進
  // Y軸データ (<100): 0-3=停止, 5-=前進(左), 55-=後進(右)
  // 速度計算: (値-オフセット)*係数 + 50, 上限254
}

ステップ2:Raspberry Pi Webサーバー

Windows 10 IoT Core上で動作するWebサーバー(C#)がAndroidからのHTTPリクエストを受け、I2CでArduinoにデータを送信します。コードは「Code」セクションの「Windows IOT Web Server」を参照してください。

ステップ3:Androidアプリ

Visual Studio Cordovaで開発したAndroidアプリが加速度センサーを読み取り、定期的にWebサーバーへAJAX送信します。コードは「Code」セクションの「Android Remote Controller」を参照してください。

接続図

ArduinoとRaspberry PiのI2C接続:SDA↔SDA、SCL↔SCL、GND↔GND、Arduino VIN←Raspberry Pi 5V出力。モーターシールドはArduinoにスタックして使用します。

参考リンク

詳細: Hackster.io プロジェクトページ

製造プロセス

  1. Raspberry PiでPIRモーションセンサーとLEDを制御
  2. Bridge Shield でスマートロボットを構築:Raspberry Pi と Arduino の統合
  3. Bluetooth 制御 Raspberry Pi ロボットに音声フィードバックを追加して構築
  4. Arduino & Raspberry Pi でインターネット制御ビデオストリーミングロボットを構築
  5. Raspberry Pi でジェスチャー制御ロボットを構築 – 加速度センサーと RF 通信でハンドフリー操作
  6. Raspberry Pi & Android スマホで Wi-Fi 制御ロボットを構築
  7. Pythonで作るWi-Fi制御Raspberry Piロボット - ステップバイステップガイド
  8. Arduino Unoベースの人間検知レスキューロボット:センサー統合ステップバイステップ
  9. Bluetooth操作のArduinoスパイボットを自作する
  10. Arduinoと1Sheeldで作る万能Androidリモコン──IR制御で家電を一括操作
  11. ラズベリーパイとNode-REDでAlexaからLEDを制御する - 簡単ステップバイステップガイド