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); } } }