AndroidとArduinoをUSBホストシールドを使って通信するMicroBridgeを利用して
チョロQを操縦するアプリのソースを公開しました。
先人の知恵をお借りすることで簡単に操縦が出来ました。
http://code.google.com/p/iwatan-lab/downloads/list
ArduinoにMicroBridgeのライブラリを追加する方法は
AndroidとArduinoをUSBホストシールドでつなぐ(非ADK編)
を参照してください。
Google Codeで公開しているのはAndroid側のアプリのソースです。
Arduino側のソースはここを参考にさせて頂いているので改変部分のみ公開します。
以下のソースに参考元からコピペで追加してください。
- void setch(byte bb)
- void setbit(byte bb)
- void execpwm()
- void setpwm(int pwm)
- void runpwm()
- void sendpwm()
#include <spi.h> #include <adb.h> #define LED 2 // Adb connection. Connection * connection; int data[15]; int g = 0; byte b = B001111; // Event handler for the shell connection. void adbEventHandler(Connection * connection, adb_eventType event, uint16_t length, uint8_t * data) { // Data packets contain two bytes, one for each servo, in the range of [0..180] if (event == ADB_CONNECTION_RECEIVE) { char ch = data[0]; Serial.println(ch, DEC); if (ch < 0x20) { setbit(ch); } else { setch(ch - 0x20); } } } void setup(){ Serial.begin(57600); Serial.println("Ready"); pinMode(LED , OUTPUT); // Initialise the ADB subsystem. ADB::init(); // Open an ADB stream to the phone's shell. Auto-reconnect connection = ADB::addConnection("tcp:4567", true, adbEventHandler); } void loop(){ // Poll the ADB subsystem. ADB::poll(); }ここまでやっておいてなんですが、やはり標準のコントローラーの方が操縦しやすいです。
0 件のコメント:
コメントを投稿