Quellcode
Aus RMG-Wiki
< W-Seminar Physik "Sensorik" (Schuster)
Version vom 4. Dezember 2015, 13:01 Uhr von Michael Schuster (Diskussion | Beiträge)
Arduino:
void setup(){
Serial.begin(9600); // Übertragungsrate
pinMode(7,INPUT); // Digitale Eingabe (0,1)
}
void loop(){
Serial.print(digitalRead(7)); // Ein/Aus 0 / 5V
Serial.print(","); // Trennzeichen
Serial.println(analogRead(1));// Spannung 0-5V
delay(10); // Pause
}
Processing:
import processing.serial.*;
Serial serialPort;
int button;
float potWinkel;
float[] data;
void setup() {
size(400, 400); // Größe des Fensters
noStroke(); // Grafische Verschönerung
serialPort = new Serial(this, Serial.list()[Serial.list().length-1], 9600); // Für PC-User
serialPort.bufferUntil('\n'); //
}
void draw() {
background(200);
// Grafik fuer analoge Spannung 0-5V
fill(255,255,0);
arc(200, 200, 50, 50, 0, potWinkel);
text((5*potWinkel/2/PI),200,150);
// Grafik Taster
if (button==0) fill(0);
else fill(255);
rect(160, 290, 20, 20);
}
void serialEvent(Serial serialPort) {
String dataString = serialPort.readStringUntil('\n');
if (dataString != null) {
float[] data = float(split(dataString,","));
if (data.length >=2) {
if (data[0]==0) button=0;
else button=1;
potWinkel=map(data[1], 0, 1023, 0, PI*2);
}
}
}

