Processing

ftComputing : Programme für die fischertechnik-Interfaces und -konstruktionskästen
  
ftComputing.de
Home
Back
Sitemap
Index
Links
Impressum
Mail

 

Processing : Graphik-Programmierung auf Basis von Java

Eignet sich besonders zum Einsatz im Ausbildungs- Bereich. Bietet besondere Möglichkeiten im Bereich der Graphik-Programmierung. Die Verbindung mit dem Robo Interface in Verbindung mit der graphischen Darstellung hat einen besonderen Reiz.

Download processing.org

Erforderlich javaFish40.DLL, umFish40.DLL und die ftcomputing.robo.jar. Die DLLs werden am einfachsten in \Windows\System32 installiert. Das Verzeichnis der jar muß im Verzeichnis von Processing\library installiert werden.

Anwendungen benötigen dementsprechend ein import ftcomputing.robo.*; ( über Menü Sketch | Import Library=

Downloads : processing.zip  
FishFace Java-Dokumentation : ftcomputing.robo.Doku

Buch zu Processing : Erik Bartmann : Processing
O'Reilly Verlag, ISBN 978-3-89721-997-7

Beispiel zur Nutzung der ftcomputing.robo.jar

Versuchsaufbau

Ist diesmal sehr schlicht : Ultraschallsensor an D1

Anzeige

Source

import ftcomputing.robo.*;

FishFace ft = new FishFace();
int dist = 1023;
color rot = color(255, 0, 0);
color gruen = color(0, 255, 0);

void setup() {
  size(300, 100);
  ft.openInterface(0,0);
  println("Robo Interface gestartet");
  frameRate(12);
  noStroke();
}

void draw() {
  dist = ft.getDistance(1);
  println("Distance : " + dist);
  background(255);
  if(dist < 20) fill(rot);
  else fill(gruen);
  rect(dist, 0, 12, height - 3);
}

In der Methode draw (von Processing vorgegebener Name) wird in regelmäßigen Abständen (frameRate(12); 
12 mal in der Sekunde) der Ultraschallsensor an D1 abgefragt und der gemessene Wert in der Form Distanz angezeigt. Dabei entspricht die Position des Balkens (im Bild grün) der festgestellten Entfernung. Bei Entfernungen unter 20 cm wird der Balken rot.

Stellt man z.B. den Sensor (samt Interface) auf den Schreibtisch und dreht den Bürostuhl davor mit einiger Geschwindigkeit, kommt der Balken ganz schön ins Zucken.

Das Programm selber ist erstaunlich einfach :

  • verwendet wird das normale Package ftcomputing.robo.jar
  • Instanzierung wie üblich.
  • Zuweisung von Farbnamen
  • Methode setup() Standard-Routine für Initialisierungsarbeiten, wird einmal ausgeführt, hier:
    - size : Größe des Ausgabefensters in pixel
    - noStroke() keine Umrandung des Balkens
  • Methode draw() Standard-Routine für die "Nutzarbeiten", wird endlos aufgerufen, die Bildschirmanzeige erfolgt erst am Ende der Routine.
    - background : Löschen Hintergrund auf weiß
    - fill(rot) : Füllen (des Balkens) mit rot
    - rect : Zeichnen eines Rechtecks. Koordinatensystem 0,0 linke obere Ecke, Pixel, Lage Rechteck hier bestimmt durch linke obere Ecke (rectMode(CORNER) - default).

Source 2 : Viel graphischer

Ein Programm von Simon Greenwold. Ursprünglich durch die aktuelle Mausposition gesteuert, jetzt natürlich über den Ultraschall Sensor.

Was tut der Ball : Er strahlt, wenn man ihm nahe kommt.

import ftcomputing.robo.*;
FishFace ft = new FishFace();

void setup() {
  size(360, 360, P3D);
  ft.openInterface(0, 0);
  noStroke();
  colorMode(RGB, 1, 3, 2);
  fill(0.4);
  frameRate(12);
}

void draw() {
  background(0);
  translate(width / 2, height / 2);
  lightSpecular(1, 1, 1);
  directionalLight(0.8, 0.8, 0.8, 0, 0, -1);
  float s = float(255 - ft.getDistance(1)) / float(width);
  specular(s, s, s);
  sphere(120);
}

Beispiel für den Robo TX Controller

Stand : 06.10.2010