Sehr verehrtes Forum
Ich bin zur Zeit daran verschiedene kleine Projekte in Processing zu integrieren. Bin jetzt aber noch in der Anfangsphase und habe nun ein Problem das ich mit meinen Kenntnissen nicht zu lösen weiss.
Das Szenario: Wird ein Knopf gedrückt, sendet das Arduino erst einen knopfspezifischen Wert und anschliessend ein 1 oder ein 0.
Das ganze funktioniert auch, jedoch wenn ich einen der beiden Knöpfe drücke werden plötzlich beide mit einer 1 angezeigt und wenn ich loslasse werden auch beide mit einem 0 gezeigt.
Hier der Code:
Arduino:
int button1 = 4;
int button2 = 5;
int einser = 10;
int An = 1;
int Ab = 0;
int zweier = 20;
boolean eins = false;
boolean zwei = false;
void setup()
{
Serial.begin(9600);
pinMode(button1, INPUT);
pinMode(button2, INPUT);
}
void loop()
{
if(digitalRead(button1) == HIGH && eins == false)
{
eins = true;
Serial.write(einser);
Serial.write(An);
//Serial.println("1");
}
else if(digitalRead(button1) == LOW && eins == true)
{
eins = false;
Serial.write(einser);
Serial.write(Ab);
}
if(digitalRead(button2) == HIGH && zwei == false)
{
zwei = true;
Serial.write(zweier);
Serial.write(An);
//Serial.println("2");
}
else if(digitalRead(button2) == LOW && zwei == true)
{
zwei = false;
Serial.write(zweier);
Serial.write(Ab);
}
}
und der Processing-Code:
import processing.serial.*;
int[] dataIn = new int[2];
Serial port;
int counter;
void setup()
{
port = new Serial(this, Serial.list()[1], 9600);
}
void draw()
{
if(port.available() > 0)
{
dataIn[counter] = port.read();
println(dataIn[counter]);
counter = (counter+1) % 1;
}
}
In Processing wird in der Konsole beim drücken des Knopfes 1 folgendes reingeschrieben:
10
1
20
1
Ich bedanke mich schon im vorhinein über Lösungsvorschläge.
mfG
bluebubble