Ich habe mir vor kurzer Zeit das Arduino Starter Set gekauft und arbeite mich momentan durch die Einsteigerprojekte. Das läuft soweit ganz gut, doch auf eine Frage habe ich bisher weder im Einsteigerbuch noch via Google-Suche oder hier im Forum eine Antwort gefunden, die ich wirklich verstanden habe: Wie genau kann mein PC mit meinem Arduino kommunizieren?
Als ich eines der Anfängerprojekte ausprobiert habe, ist mir aufgefallen, dass das gesamte in der Arduino IDE geschriebene und aufs Board "hochgeladene" Programm auf dem Arduino-Board selbst gespeichert ist, dass ich das USB kabel also nur noch als Stromquelle brauche und gar nicht mehr zur Übermittlung von Daten. Bisher ist das okay, aber ich stelle mir vor, dass ich nächstens etwas programmieren möchte, dass sich vor allem am PC abspielt, dann aber hin und wieder Befehle ans Arduino sendet. Ich stelle mir zum Beispiel vor, ein ganz kleines Multiple-Choice-Frage-Antwort-Spiel in Java zu programmieren (dies würde ungefähr meinen Java-Anfängerkenntnissen entsprechen). Bei einer richtigen Antwort soll via Arduino eine grüne LED aufleuchten, bei einer Falschen eine Rote. Es wäre nun sehr hilfreich, wenn mir jemand erklären könnte, wie die Kommunikation zwischen PC und Arduino abläuft, respektive wie man sie realisieren kann. Wie gesagt, meine Vorkentnisse sind sehr beschränkt, deshalb ist dies für mich momentan noch ein Buch mit sieben Siegeln
Ich würde mich sehr über eure Hilfe freuen
Liebe Grüsse
Silas
Die USB- Schnittstelle emuliert die serielle Schnittstelle. Du kannst Daten oder Befehle über die serielle Schnittstelle aus dem Prgramm am PC zum Arduino senden. Am Arduino liest Du es aus der seriellen Schnittstelle aus.
Grüße Uwe
uwefed:
Die USB- Schnittstelle emuliert die serielle Schnittstelle. Du kannst Daten oder Befehle über die serielle Schnittstelle aus dem Prgramm am PC zum Arduino senden. Am Arduino liest Du es aus der seriellen Schnittstelle aus.
Grüße Uwe
Okay, klingt vielversprechend, danke für die Antwort! Aber wie gesagt, ich bin wirklich ein Anfänger, der sich da erstes Grundwissen aneignen möchte. Ich kann mir gerade nicht vorstellen, wie ich nun vorgehen muss... Bräuchte fast eine Art Schritt-für-Schritt-Tutorial :D. Wie sendet man Daten über die Serielle Schnittstelle, oder besser gesagt, was heisst das überhaupt? Du siehst, ich beginne wirklich bei null. Wenn das etwas zu umfangreich wird, gibt es iregendeine Seite oder etwas, wo ich mich da langsam und deteilliert hereinarbeiten kann? Es muss auch nicht zwingend kostenlos sein..
skorpi08:
Wäre da ein Raspberry nicht besser geeignet? Java App auf dem Raspi und Befehle auch auf dem Raspi ausführen.
Wie ich Google entnehme, ist Raspberry auch ein (wohl eher einfach zu verwendender?) Mikroprozessor und ich werde mich diesbezüglich gerne weiter informieren, danke! Aber wenn ich etwas durchs Internet gehe, scheint es ja nicht unmöglich zu sein, das mit einem Arduino zu realisieren. Da ich das Teil bereits habe und damit auch schon das eine oder andere Experiment versucht habe, würde ich es gerne erstmal mit diesem Gerät versuchen.
Die andere Seite ist nicht auf den Serial Monitor in der Arduino IDE beschränkt, das kann auch irgend ein anderes Programm sein.
Kann auch von dir (auch in Java) für den PC geschrieben sein.
Im Java Core ist javax.comm dafür vorgesehen, "alle Welt" (auch der Serial Monitor der Arduino IDE) verwendet stattdessen aber RXTX. Wenn du Arduino auf deinem PC installiert hast, ist dort schon RXTXComm.jar (und rxtxSerial.dll) zu finden, was du in deinen Java Programmen verwenden könntest. Nachtrag: Verwende der Einfachheit halber ( wie Arduino ) eine 32 bit JVM.
Die PC-Seite ist bei weitem das Schwierigere an deiner Idee.
Ein Arduino, der Serial.read() aufruft und bei jedem 'R' die rote LED einschaltet, bei 'G' die grüne und bei '0' beide wieder ausmacht, und alles andere ignoriert, ist "trivial"
Edit: Sorry, die erforderliche native Code Komponente heisst rxtxSerial.dll