Quellcode

Aus RMG-Wiki
< W-Seminar Physik "Sensorik" (Schuster)
Version vom 4. Dezember 2015, 13:01 Uhr von Michael Schuster (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

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