ich versuche schon seit ein paar Stunden mehr Infos aus meinem Arduino ADK zu erhalten. Punkt ist, ich möchte einen USB Datenstrom abgreifen (PS3 auf Logitech G27) um Daten auszulesen.
Auf dem ADK sind ja zwei USB Schnittstellen drauf. Eine auf dem Schema beschriftet mit Phone. Kann ich diese Schnittstelle nur für ein Smartphone brauchen (Android SDK) oder kann ich diesen USB auch sonst brauchen? Wenn ja, wie kann ich die Daten daraus lesen?
Ich habe auch versucht D+ und D- auf einen Datenkanal (D2 und D3) zu legen und die Daten direkt so ein zu lesen und auf einem Display an zu zeigen. Irgend wie aber werden keine Daten gezeigt.
#include <LiquidCrystal.h>
LiquidCrystal lcd1(32, 31, 30, 22, 23, 24, 25, 26, 27, 28, 29);
int D_P = 2;
int D_M = 3;
void setup()
{
analogWrite(13, 255); // set background brightnes
lcd1.begin(20, 4); // set LCD to 4 lines and 40 characters
pinMode(D_P, INPUT);
pinMode(D_M, INPUT);
}
void loop()
{
digitalRead(D_P);
digitalRead(D_M);
lcd1.setCursor(0, 0);
lcd1.print(D_P);
lcd1.setCursor(0, 2);
lcd1.print(D_M);
}
ich hätte jetzt erwartet das ich irgend was auf das LCD bekomme, bekomme aber nur die Zahlen 2 und 3.
Mir stellt sich jetzt die Frage wie ich grundsätzlich das ADK benutzen kann um einen USB Datenstrom zu erhalten, um diesen dann später weiter zu verarbeiten.
Mal abgesehen davon, dass das Vorhaben sowieso zum Scheitern verurteilt ist, weil du die Daten gar nicht auswerten kannst, solltest du dir mal die Benutzung von digitalRead() ansehen: http://arduino.cc/en/Reference/DigitalRead
Du musst den Zustand in einer Varaiblen abspeichern (im Link ist das die Variable val) und diese dann darstellen. Du gibst nur die Pinnummern aus.
Nicht gleich die Flinte ins Korn schmeissen.
Schau dir mal den USBAsp an. (USBasp - USB programmer for Atmel AVR controllers - fischl.de)
Das ist ein USB AVR Programmer, der per USB angesprochen wird. Auf der Programmerseite arbeitet auch nur ein normaler MEGA8 (oder 88). Es alles nur eine Frage des Datenstromes. Die 1,5MBit sind ja nur der maximale Datenstrom.
Die Frage ist eher, was für ein Gerät sendet die Daten? Host oder Slave? Wenn das auch ein Slave ist, geht's nicht, da USB grundsätzlich einen Host (Master) braucht. Und den gibt es eher selten im Microcontroller Bereich.