Problema de comunicación serial de Arduino a Android

5

He estado intentando usar esta serie para la biblioteca de Android 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 rastreador es el 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 Arduino a la PC, pero cuando lo conecto a un dispositivo Android, simplemente no funciona. Si comento la línea "tracker.init ()", funciona bien para Android. Si uso el ejemplo de la biblioteca ps2, también funciona bien. Ah, y estoy usando la aplicación de ejemplo para la biblioteca en serie en un Moto G. ¿Alguna idea?

Enlaces para las bibliotecas:

EDIT

Inmediatamente después de publicar esto, encontré el problema: estaba buscando en el sitio web incorrecto la biblioteca. La respuesta ya fue publicada en su wiki.

Desde la wiki de la biblioteca (no se puede publicar el enlace, ya que tengo poca reputación):

  

Algunos Arduinos usan la línea DTR para determinar la preparación del canal serie. En su código de Android, llame a setDTR(true);

    
pregunta Caio Oliveira

1 respuesta

0

Inmediatamente después de publicar esta pregunta, encontré el problema: estaba buscando en la página web incorrecta la biblioteca. La respuesta ya fue publicada en su wiki.

Desde el wiki de la biblioteca:

  

Algunos Arduinos usan la línea DTR para determinar la preparación del canal serie. En su código de Android, llame a setDTR (true);

wiki de la biblioteca: enlace

    
respondido por el Caio Oliveira

Lea otras preguntas en las etiquetas