Hallo, ich habe ein Problem
Meine Freundin hat ein Programm in Processing geschrieben über das man Sounds und Videos steuern kann (abspielen, übereinanderlegen usw)
Das ganze soll über ein arduinoBoard gesteuert werden. Ist aber auch über die normale Tastatur steuerbar.
Wenn man das Processing abspielt passiert folgendes (beim Keyboard):
Drücke ich A, startet VideoA und SoundA und läuft weiter. Drücke ich H startet VideoH und SoundH und läuft weiter.
Drücke ich jedoch B so startet das VideoB und SoundB, sobald ich loslasse hört es auf. (Das selbe für C D E F G)
DAS IST WUNDERBAR, SO SOLLS SEIN.
Steuer ich das ganze jetzt aber über das Arduino passiert folgendes:
ich Drücke A, VideoA und SoundA wird abgespielt und läuft weiter (Perfekt), bei H funktioniert es auch. Drücke ich aber B C D E F G am Arduino, läuft das VideoX und SoundX an, hört aber nicht auf abgespielt zu werden.
Als erstes hatte ich das Problem, das die Videos immer wieder neu gestartet wurden, wenn man die Taste gedrückt hielt, das habe ich nun per ButtonSync behoben. nur kann ich die Videos halt nun nicht mehr stoppen, kann mir jemand helfen? Ich vermute das ich was im Processing umschreiben muss, habe da aber keine Ahnung!
Kann Jemand helfen?
Code Arduino
int ledPin = 13;
int btnA = 12;
int btnB = 2;
int btnC = 3;
int btnD = 4;
int btnE = 5;
int btnF = 6;
int btnG = 7;
int btnH = 8;
int valA;
int valB;
int valC;
int valD;
int valE;
int valF;
int valG;
int valH;
int lastA;
int lastB;
int lastC;
int lastD;
int lastE;
int lastF;
int lastG;
int lastH;
void setup()
{
Serial.begin(9600);
pinMode (ledPin, OUTPUT);
pinMode (btnA, INPUT);
pinMode (btnB, INPUT);
pinMode (btnC, INPUT);
pinMode (btnD, INPUT);
pinMode (btnE, INPUT);
pinMode (btnF, INPUT);
pinMode (btnG, INPUT);
pinMode (btnH, INPUT);
digitalWrite (ledPin, LOW);
}
void loop()
{
valA = digitalRead(btnA);
valB = digitalRead(btnB);
valC = digitalRead(btnC);
valD = digitalRead(btnD);
valE = digitalRead(btnE);
valF = digitalRead(btnF);
valG = digitalRead(btnG);
valH = digitalRead(btnH);
if (valA == HIGH && lastA == LOW) {
digitalWrite (ledPin, HIGH);
Serial.println("a");
}
if (valB == HIGH && lastB == LOW) {
digitalWrite (ledPin, HIGH);
Serial.println("b");
}
if (valC == HIGH && lastC == LOW) {
digitalWrite (ledPin, HIGH);
Serial.println("c");
}
if (valD == HIGH && lastD == LOW) {
digitalWrite (ledPin, HIGH);
Serial.println("d");
}
if (valE == HIGH && lastE == LOW) {
digitalWrite (ledPin, HIGH);
Serial.println("e");
}
if (valF == HIGH && lastF == LOW) {
digitalWrite (ledPin, HIGH);
Serial.println("f");
}
if (valG == HIGH && lastG == LOW) {
digitalWrite (ledPin, HIGH);
Serial.println("g");
}
if (valH == HIGH && lastH == LOW) {
digitalWrite (ledPin, HIGH);
Serial.println("h");
}
else {
digitalWrite (ledPin, LOW);
}
lastA = valA;
lastB = valB;
lastC = valC;
lastD = valD;
lastE = valE;
lastF = valF;
lastG = valG;
lastH = valH;
delay(100);
}