We are about to switch to a new forum software. Until then we have removed the registration on this forum.
Hello everyone,
In short: My current project involves a arduino Uno and processing, PIR sensor sends a signal when a person walks past the sensor and a movie starts playing. So far so good, the code works perfecly but the problem i'm having is that we want multible movies playing in shufflemode. So when the PIR sensor is triggerd again processing start a differend movie. This is the code so far:
import processing.video.*;
import processing.serial.*; //importeer Serial library
Movie myMovie;
boolean MoviePause = true;
String Sensor;
Serial port;
String serial; // nieuwe string 'serial'
int end = 10; // 10 is ASCII voor linefeed (einde van serial.println)
void setup() {
fullScreen();
background(0);
noStroke();
fill(102);
Sensor="0";
port = new Serial(this, Serial.list()[0], 9600); // baudrate (snelheid) moet hetzelfde zijn als op de Arduino
port.clear(); // serieele poort schoonmaken zodat er geen zooi in zit
serial = port.readStringUntil(end); // lees poort totdat er een linefeed zit
serial = null;
background(0);
myMovie = new Movie(this, "F:\\Droombus.mp4"); //hier natuurlijk je eigen verwijzing naar film zetten
myMovie.loop(); //film in een lus zetten, want stoppen betekent niet meer kunnen starten (althans, zonder hem helemaal opnieuw aan te maken)
}
void draw() {
background(255);
image(myMovie, 0, 0);
while (port.available() > 0) { //zoalng er data op de poort komt, uitlezen en opslaan
serial = port.readStringUntil(end);
}
if (serial != null) { //data gevonden
String[] a = split(serial, ','); //data komt binnen, gescheiden door komma's
Sensor = (a[0]);
Sensor = trim(Sensor);
println(Sensor);
}
if (myMovie.time() == myMovie.duration()){ //einde van de film bereikt.
println("einde filmpje");
myMovie.pause(); //dan op pauze zetten. Niet stoppen dus!!
MoviePause=true; //aangeven dat de film op pauze staat
}
if ((Sensor.equals("1") == true) & MoviePause==true){ //als de sensor weer 1 is (dus beweging) EN de film is afgelopen
println("Sensor check");
MoviePause=false;
myMovie.play(); //dan opnieuw verder afspelen (want staat in een lus)
}
}
void movieEvent(Movie m) {
m.read();
}
Please can someone help us to fix the code we're kinda stuck on this problem
Thanks.