Ok das mit dem Panzer hört sich spannend an ;)
Processing kannst du auf processing.org kostenlos dowloaden falls du das noch nicht hast.
Die Arduino IDE basiert auf Processing, ist also zum programmieren sehr ähnlich.
Unter> "File" >> "Examples" >> "Library" >> "Serial" finest du die Datei "SimpleWrite":
import processing.serial.*;
Serial myPort; // Create object from Serial class
int val; // Data received from the serial port
void setup() {
size(200, 200);
// I know that the first port in the serial list on my mac
// is always my FTDI adaptor, so I open Serial.list()[0].
// On Windows machines, this generally opens COM1.
// Open whatever port is the one you're using.
String portName = Serial.list()[0];
myPort = new Serial(this, portName, 9600);
}
void draw() {
background(255);
if (mouseOverRect() == true) { // If mouse is over square,
fill(204); // change color and
myPort.write('H'); // send an H to indicate mouse is over square
}
else { // If mouse is not over square,
fill(0); // change color and
myPort.write('L'); // send an L otherwise
}
rect(50, 50, 100, 100); // Draw a square
}
boolean mouseOverRect() { // Test if mouse is over square
return ((mouseX >= 50) && (mouseX <= 150) && (mouseY >= 50) && (mouseY <= 150));
}
Dieses Programm ermöglicht die Kommunikation zwischen Arduino und PC.
So sieht das Programm mit der Einlesung der Tasten aus:
(das ganze draw von oben brauchst du nicht mehr, du fügst stattdessen einfach dieses hier ein)
void draw() {
if (keyPressed) {
if (key == CODED) {
if (keyCode == UP) {
myPort.write ("u");
}
if (keyCode == DOWN) {
myPort.write ("d");
}
if (keyCode == RIGHT) {
myPort.write ("r");
}
if (keyCode == LEFT) {
myPort.write ("l");
}
}
}
}
Der Arduinocode findest du im SimpleWrite. Ich würde übrigens den PC nur die rohen "Ja/Nein-Tastendaten" übertragen lassen, das Arduino macht den Rest und rechnet die Befehle für die Motoren um.
Ich hab das Processingprogramm nicht ausprobiert es müsste aber funktionieren.
Hoffe konnte helfen...
Steglo2