Benutzer-Werkzeuge

Webseiten-Werkzeuge


techniken:datenaustausch

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
techniken:datenaustausch [2013/12/13 17:05]
fbonowski [Flexibel mit Library: ArduPar (von Github)]
techniken:datenaustausch [2016/01/21 12:45] (aktuell)
Zeile 3: Zeile 3:
  
 Dafür gibt es einige verschiedene Ansätze, die wir hier behandeln wollen. Dafür gibt es einige verschiedene Ansätze, die wir hier behandeln wollen.
-=== Kabel(los?)===+===== Mit der Seriellen Schnittstelle vom Arduino zum PC ===== 
 +[[techniken:​datenaustausch:​processingSerialRead|Mit Processing Daten von der Seriellen Schnittstelle empfangen]]
  
-Wenn der Arduino mit dem PC über ein USB-Kabel verbunden ist, könnt Ihr Daten ganz einfach über die Serielle Schnittstelle an den Arduino senden. +===== Mit der Seriellen Schnittstelle vom PC zum Arduino ===== 
-Ansonsten könnt ​Ihr eines unserer WLAN-Module verwenden.+Wenn der Arduino mit dem PC über ein USB-Kabel verbunden ist, könnt Ihr Daten ganz einfach über die Serielle Schnittstelle an den Arduino senden. ​Je nach dem, was Ihr machen wollt, bieten sich dazu 2 unterschiedliche Ansätze an:
  
-===== Daten von Processing ​an den Arduino ​mit der Seriellen Schnittstelle übertragen ​ ===== +  * [[techniken:​datenaustausch:​serialchars|Selbstgemacht & Schnell: Kommandos und Zahlen ​an den Arduino ​schicken und dort auswerten.]] 
-Je nach demwas Ihr machen wollt, bieten sich dazu 3 unterschiedliche Ansätze an:+  * [[techniken:​datenaustausch:​ardupar|Komfortabel und Flexibeldafür etwas komplexerMit der Library ArduPar]]
  
-==== Flexibel mit Library: ArduPar (von Github) ==== 
-Falls Ihr verschiedene unterschiedliche Werte und Kommandos übertragen wollt, die Ihr in eurem Arduinoprogramm auseinander halten müsst, dann bietet sich die Verwendung einer Library an, die sich darum kümmert. ​ 
  
-Felix hat zu diesem Zweck die Library [[https://​github.com/​Zapalot/​ArduPar|ArduPar]] geschrieben. Ihr könnt sie als .zip-Datei herunterladen und in euer Arduino/​libraries Verzeichnis entpacken. Weil GitHub an den Verzeichnisnamen immer noch ein "​-master"​ anhängt, müsst ihr das Verzeichnis danach noch in "​ArduPar"​ (ohne "​-master"​) umbenennen. +===== Drahtlos =====
-Die Library hat auch noch besonders cooles Feature: Sie unterstützt neben der Seriellen Schnittstelle auch WLAN.+
  
 +Für drahtlose Kommunikation bieten sich unsere WLAN-Module an.
 +Eine Anleitung dazu gibt es [[techniken:​wifly|auf einer eigenen Seite]].
  
- +Um eine Verbindung mit einem Handy aufzubauenkönnen ​auch unsere beiden Bluetooth Module genutzt werden.
-=== Auf dem Arduino === +
-Schaut euch mal das Beispiel //​**ArduPar/​simpleIntSetting**//​ an, um zu sehen, wie es funktioniert. +
- +
-ArduPar basiert auf der Idee von einstellbaren "​Parametern"​. Jeder Parameter hat: +
-  * einen aktuellen Wert (also z.B. "​2"​) +
-  * einen Namen, unter dem man ihn erreichen kann (also z.B. ''​someInt''​) +
-  * einen Wertebereich (also z.B. Minimalwert von 0 und Maximalwert von 10) +
- +
-Um einen Parameter zu erstellen und zu benutzen müsst ihr: +
-  - Den Parameter deklarieren (so wie jede andere Variable auch): Im Beispiel ''​IntArduPar someIntSetting;''​ +
-  - Den Parameter initialisieren (im Setup): Im Beispiel:<​code> ​ someIntSetting.setup( +
-      F("​someInt"​), ​         // Der Parameternamen muss in einem F(""​) eingeschlossen werden. +
-      0                      // Der Minimalwert +
-      10                       // Der Maximalwert +
-    );</​code>​ +
-  - Daten von der Seriellen Schnittstelle empfangen. Das Kommando ''​updateParametersFromStream(&​Serial,​10);''​ aus dem Beispiel wartet 10ms lang auf neue Kommandos und bringt die aktuellen Werte der Parameter auf den neuesten Stand. +
-  - Den aktuellen Wert des Parameters auslesen und etwas damit machen. Der aktuelle Wert steht im ''​.value''​ Feld des Parameters. Im Beispiel gibt die Zeile ''​Serial.println(someIntSetting.value);''​ den aktuellen Wert aus. +
- +
-=== Auf dem Computer (Serial Monitor)=== +
-Als ersten Test könnt Ihr mal den Serial Monitor aufmachen. Wenn Ihr in das kleine Feld ganz oben etwas eintragt und "​senden"​ drückt, geht dieser Text an den Arduino. Die Library erwartet Kommandos im Format ''​Parametername Wert''​.  +
- +
-Gebt also z.B. ''​someInt 5''​ ein, um den Wert von ''​someInt''​ auf 5 zu setzen. +
- +
-=== Auf dem Computer (Processing)=== +
-Die gleichen Kommandos, die ihr über den Serial Monitor eingegeben habt, könnt ihr auch aus Processing verschicken. +
- +
- +
-==== Einfach nur Zahlen ==== +
-Serial.parseInt() liest die nächste ganze Zahl, gibt 0 zurück wenn timeout. (Beispiel communication/​ReadASCIIString in Arduino) +
-==== Einfach nur Kommandos==== +
-Einzelne Buchstaben senden und dann mit switch case verarbeiten (Beispiel „libraries/​Serial/​SimpleWrite“ in Processing)+
  
  
techniken/datenaustausch.1386950714.txt.gz · Zuletzt geändert: 2016/01/21 12:45 (Externe Bearbeitung)