Ich habe versucht, diese Seriennummer jetzt für die Android-Bibliothek zu verwenden, aber ich kann es nicht zum Laufen bringen. Ich versuche, dieses kleine Programm in Android auszuführen:
// MouseLib.ino
#include "tracker.h"
PositionTracker tracker(6,5);
void setup() {
Serial.begin(115200);
tracker.init();
}
void loop() {
Serial.println("?");
delay(20);
}
Wo der Tracker wie folgt ist:
#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);
}
Der Code funktioniert gut, wenn ich Arduino an den PC anschließe, aber wenn ich ihn an ein Android-Gerät anschließe, funktioniert es einfach nicht. Wenn ich die Zeile "tracker.init()" kommentiere, funktioniert es für Android einwandfrei. Wenn ich das Beispiel aus der ps2-Bibliothek verwende, funktioniert es auch gut. Oh, und ich verwende die Beispiel-App für die serielle Bibliothek auf einem Moto G. Irgendwelche Ideen?
Links zu den Bibliotheken:
BEARBEITEN
Gleich nachdem ich dies gepostet hatte, habe ich das Problem gefunden: Ich habe auf der falschen Website nach der Bibliothek gesucht. Die Antwort wurde bereits in ihrem Wiki veröffentlicht.
Aus dem Wiki der Bibliothek (kann den Link nicht posten, da ich wenig Reputation habe):
Einige Arduinos verwenden die DTR-Leitung, um die Bereitschaft des seriellen Kanals zu bestimmen. Rufen Sie in Ihrem Android-Code an
setDTR(true);
Gleich nach dem Posten dieser Frage habe ich das Problem gefunden: Ich habe auf der falschen Website für die Bibliothek gesucht. Die Antwort wurde bereits in ihrem Wiki veröffentlicht.
Aus dem Wiki der Bibliothek:
Einige Arduinos verwenden die DTR-Leitung, um die Bereitschaft des seriellen Kanals zu bestimmen. Rufen Sie in Ihrem Android-Code setDTR(true);
Wiki der Bibliothek: https://github.com/mik3y/usb-serial-for-android/wiki/Troubleshooting#i-am-using-an-arduino-uno-sparkfun-pro-micro-or-other-arduino-and -wenn-seriell-nicht-funktioniert
Flippiger Typ