5 votos

Arduino a tema Android Comunicación serial

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:

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);

0voto

mooware Puntos 945

Justo después de la publicación de esta pregunta, 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:

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);

La biblioteca de la wiki: https://github.com/mik3y/usb-serial-for-android/wiki/Troubleshooting#i-am-using-an-arduino-uno-sparkfun-pro-micro-or-other-arduino-and-if-serial-doesnt-work

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X