He estado tratando de utilizar esta serie para android biblioteca de ahora, pero no puedo hacer que funcione. Estoy tratando de ejecutar este pequeño programa en android:
// MouseLib.ino
#include "tracker.h"
PositionTracker tracker(6,5);
void setup() {
Serial.begin(115200);
tracker.init();
}
void loop() {
Serial.println("?");
delay(20);
}
Donde el tracker es la siguiente:
#include "Arduino.h"
#include "ps2.h"
#include "tracker.h"
PositionTracker::PositionTracker(int _clkPin, int _dPin){
// x = y = ldX = ldY = lX = lY = 0;
clkPin = _clkPin;
dPin = _dPin;
sensor = new PS2(_clkPin, _dPin);
}
void PositionTracker::init(){
sensor->write(0xff); // reset
sensor->read(); // ack byte
sensor->read(); // blank */
sensor->read(); // blank */
sensor->write(0xf0); // remote mode
sensor->read(); // ack
delayMicroseconds(100);
}
El código funciona bien cuando conecto el Arduino a la pc, pero cuando la conecto un dispositivo Android simplemente no funciona. Si un comentario el "tracker.init()" de la línea, funciona muy bien para Android. Si yo uso el ejemplo de ps2 biblioteca, funciona bien así. Oh, y estoy usando la aplicación de ejemplo para la serie de la biblioteca en una Moto G. ¿Alguna idea?
Enlaces para las bibliotecas:
- Serie USB para Android: https://code.google.com/p/usb-serial-for-android/
- ps2.h(ratón de comunicación): http://playground.arduino.cc/ComponentLib/Ps2mouse
EDITAR
A la derecha después de este anuncio, he encontrado el problema: yo estaba buscando en el sitio equivocado para la biblioteca. La respuesta fue publicado en su wiki ya.
De la biblioteca de la wiki (no se puede publicar el enlace, como estoy de baja en la reputación):
Algunos de los Arduinos el uso de la línea DTR para determinar la serie de canal de preparación. En su código Android, llamada
setDTR(true);