User:Ninavdbroek/Sensor

From DigitalCraft_Wiki
Jump to navigation Jump to search

PROXIMITY SENSOR/ AFSTANDS SENSOR

CODE/ MOVIE

/*

  • @title: WdKA RFID Workshop Mifare RFID movie trigger gist
  • @author: Simon de Bakker <simon@simbits.nl>
  • /

import processing.serial.*; import processing.video.*;

Serial myPort;

int movienum = 0; int oldmovienum = 0; Movie currentMovie = null;

void setup() {

 size(720, 480);  
 // List all the available serial ports in the output pane. 
 // You will need to choose the port that the Wiring board is 
 // connected to from this list. The first port in the list is 
 // port #0 and the third port in the list is port #2. 
 println(Serial.list()); 
 myPort = new Serial(this, Serial.list()[7], 9600);
 
 currentMovie = null;
 float currenVal = 0;

}

void draw() {

 background(0);
 if (currentMovie != null) {
   image(currentMovie, 0, 0, 640, 480);
 }
 
 if (oldmovienum != movienum) {
   if (movienum == 1) {
     currentMovie = new Movie(this, "Sequence01.mov"); 
     currentMovie.loop();
     oldmovienum = movienum;
   } else if (movienum == 2) {
     currentMovie = new Movie(this, "Sequence02.mov"); 
     currentMovie.loop();
     oldmovienum = movienum;
   } else if (movienum == 3) {
     currentMovie = new Movie(this, "Sequence03.mov"); 
     currentMovie.loop();
     oldmovienum = movienum;
   } else if (movienum == 4) {
     currentMovie = new Movie(this, "Sequence04.mov"); 
     currentMovie.loop();
     oldmovienum = movienum;
   } else if (movienum == 5) {
     currentMovie = new Movie(this, "Sequence05.mov"); 
     currentMovie.loop();
     oldmovienum = movienum;
   }
 }

}

void serialEvent(Serial myPort) {

  String inString = myPort.readStringUntil('\n');

  if (inString != null) {
    // trim off any whitespace:
    println(inString);
    inString = trim(inString);
    // convert to an int and map to the screen height:
    float inByte = float(inString); 
    println(inByte);
   if (inByte >=0 && inByte < 100) {
       movienum = 1;
   } else if (inByte >= 100 && inByte < 200) {
       movienum = 2;
   } else if (inByte >= 200 && inByte < 300) {
       movienum = 3;
   } else if (inByte >= 300 && inByte < 400) {
       movienum = 4;
   } else if (inByte >= 400 && inByte < 500) {
       movienum = 5;
   } else if (inByte >= 500 && inByte < 600) {
     movienum = 6;
   }
 }

}

void movieEvent(Movie m) {

 m.read();

}




GRAFIEK

// Graphing sketch


// This program takes ASCII-encoded strings
// from the serial port at 9600 baud and graphs them. It expects values in the
// range 0 to 1023, followed by a newline, or newline and carriage return

// Created 20 Apr 2005
// Updated 18 Jan 2008
// by Tom Igoe
// This example code is in the public domain.

import processing.serial.*;

Serial myPort;        // The serial port
int xPos = 1;         // horizontal position of the graph

void setup () {
// set the window size:
size(600, 500);        

// List all the available serial ports
println(Serial.list());
// I know that the first port in the serial list on my mac
// is always my  Arduino, so I open Serial.list()[0].
// Open whatever port is the one you're using.
myPort = new Serial(this, Serial.list()[7], 9600);
// don't generate a serialEvent() unless you get a newline character:
myPort.bufferUntil('\n');
// set inital background:
background(5);
}
void draw () {
// everything happens in the serialEvent()
}

void serialEvent (Serial myPort) {
  // get the ASCII string:
  String inString = myPort.readStringUntil('\n');

 if (inString != null) {
// trim off any whitespace:
inString = trim(inString);
// convert to an int and map to the screen height:
float inByte = float(inString); 
inByte = map(inByte, 0, 1023, 0, height);

// draw the line:
stroke(127,34,255);
line(xPos, height, xPos, height - inByte);

// at the edge of the screen, go back to the beginning:
if (xPos >= width) {
xPos = 0;
background(0); 
} 
else {
// increment the horizontal position:
xPos++;
}
}
}