Arduino/Datenvisualisierung mit Processing: Unterschied zwischen den Versionen

Aus ZUM-Unterrichten
main>Belofb
main>Belofb
Zeile 15: Zeile 15:


Die Software Processing liest den Wert der vom Arduino über die serielle Schnittstelle ein. Processing öffnet ein kleines Fenster, in dem ein Rechteck gezeichnet wird. Die Füllfarbe des Rechtecks verändert sich in Abhängigkeit von dem Wert der am Potentiometer eingestellt  und über den Arduino eingelesen wird.
Die Software Processing liest den Wert der vom Arduino über die serielle Schnittstelle ein. Processing öffnet ein kleines Fenster, in dem ein Rechteck gezeichnet wird. Die Füllfarbe des Rechtecks verändert sich in Abhängigkeit von dem Wert der am Potentiometer eingestellt  und über den Arduino eingelesen wird.
[[Datei:Processing Rechteck-hellgrau.png|thumb|Bildschirmausgabe mit Processing-hellgrau]]
[[Datei:Processing Rechteck-dunkelgrau.png|thumb|Bildschirmausgabe mit Processing-dunkelgrau]]
[[Datei:Processing Rechteck-schwarz.png|thumb|Bildschirmausgabe mit Processing-schwarz]]
<pre>
<pre>
import processing.serial.*;
import processing.serial.*;

Version vom 12. September 2014, 09:42 Uhr

Arduino Sketch

Der Sketch liest den anlogen Wert vom PIN A0 ein. Der Wert wird durch ein Potentiometer verändert. Der Wert wird im Serial Monitor ausgegeben. Mit Hilfe der Software Processing wird der zeitliche Verlauf des Wertes grafisch dargestellt.

void setup(){
  Serial.begin(9600);
}
void loop(){
    Serial.println(analogRead(0));
    delay(10);
  }

Die Software Processing liest den Wert der vom Arduino über die serielle Schnittstelle ein. Processing öffnet ein kleines Fenster, in dem ein Rechteck gezeichnet wird. Die Füllfarbe des Rechtecks verändert sich in Abhängigkeit von dem Wert der am Potentiometer eingestellt und über den Arduino eingelesen wird.

Bildschirmausgabe mit Processing-hellgrau
Bildschirmausgabe mit Processing-dunkelgrau
Bildschirmausgabe mit Processing-schwarz
import processing.serial.*;

int lf = 10;    // Linefeed in ASCII
String myString = null;
Serial myPort;  // The serial port

void setup() {
   size(200, 200);
  // List all the available serial ports
  println(Serial.list());
  // Open the port you are using at the rate you want:
  myPort = new Serial(this, Serial.list()[5], 9600);
  myPort.clear();
  // Throw out the first reading, in case we started reading 
  // in the middle of a string from the sender.
  myString = myPort.readStringUntil(lf);
  myString = null;
}

void draw() {
  int wert;
  while (myPort.available() > 0) {
    myString = myPort.readStringUntil(lf);
    if (myString != null) {
     println(myString);
      background(255);             // Set background to white
             
   
  wert=int(trim(myString));
  println(wert);
 //  fill(wert);                   // set fill to black
 fill(wert);
  rect(50, 50, 100, 100);
    }
  }
}