Arduino/Datenvisualisierung mit Processing: Unterschied zwischen den Versionen
Aus ZUM-Unterrichten
< Arduino
main>Karl Kirst (Darstellung überarbeitet) |
(<source lang="c++">) Markierung: 2017-Quelltext-Bearbeitung |
||
(9 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
==== Arduino Sketch ==== | ==== 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 | 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 Wert ausgelesen und die Farbe eines Rechtecks entsprechend des ausgelesenen Wertes verändert. | ||
< | <source lang="c++"> | ||
void setup(){ | void setup(){ | ||
Serial.begin(9600); | Serial.begin(9600); | ||
Zeile 12: | Zeile 12: | ||
delay(10); | delay(10); | ||
} | } | ||
</ | </source> | ||
Die Software Processing liest den Wert, der vom Arduino über die serielle Schnittstelle geliefert wird, 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]] | |||
<source lang="c++"> | |||
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); | |||
} | |||
} | |||
} | |||
</source> | |||
{{SORTIERUNG:{{SUBPAGENAME}}}} | {{SORTIERUNG:{{SUBPAGENAME}}}} | ||
{{clear}} | |||
{{Arduino-Projekt}} |
Aktuelle Version vom 15. Februar 2020, 17:25 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 Wert ausgelesen und die Farbe eines Rechtecks entsprechend des ausgelesenen Wertes verändert.
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 geliefert wird, 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.
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);
}
}
}
- Lauflicht mit Schalter und Potentiometer, um die Anschaltdauer der Dioden einzustellen
- Datenvisualisierung mit Processing
- Datenvisualisierung mit einem Oszilloskop
- Ansteuerung von Pneumatikventilen mit dem Arduino
- Steuerung einer Lampe, die angeht, wenn bei Dunkelheit eine Person den Parkplatz betritt