We closed this forum 18 June 2010. It has served us well since 2005 as the ALPHA forum did before it from 2002 to 2005. New discussions are ongoing at the new URL http://forum.processing.org. You'll need to sign up and get a new user account. We're sorry about that inconvenience, but we think it's better in the long run. The content on this forum will remain online.
IndexProgramming Questions & HelpSyntax Questions › Arduino with PIR sensor and Processing interaction
Page Index Toggle Pages: 1
Arduino with PIR sensor and Processing interaction (Read 807 times)
Arduino with PIR sensor and Processing interaction
May 29th, 2009, 4:50pm
 
Hello everybody !
I'm sorry for my bad english, I'm french and I study in Spain Embarrassed !!!
My problem I think it's very simple but it's necessary some helping !!
I have maked a sketch arduino for an instaltion interactive with a PIR sensor a sculpture and a video with sound in a computer. My arduino it's good the sensor fill good Tongue !
This is my sketch arduino :
* //////////////////////////////////////////////////
* //making sense of the Parallax PIR sensor's output
* //////////////////////////////////////////////////
*
* Switches a LED according to the state of the sensors output pin.
* Determines the beginning and end of continuous motion sequences.
*
* @author: Kristian Gohlke / krigoo (_) gmail (_) com /
*
* kr1 (cleft) 2006
* released under a creative commons "Attribution-NonCommercial-ShareAlike 2.0" license
*
*
*
* The Parallax PIR Sensor is an easy to use digital infrared motion sensor module.
*
*
* The sensor?s output pin goes to HIGH if motion is present.
* However, even if motion is present it goes to LOW from time to time,
* which might give the impression no motion is present.
* This program deals with this issue by ignoring LOW-phases shorter than a given time,
* assuming continuous motion is present during these phases.
*  
*/

/////////////////////////////
//VARS
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)
int calibrationTime = 30;        

//the time when the sensor outputs a low impulse
long unsigned int lowIn;        

//the amount of milliseconds the sensor has to be low
//before we assume all motion has stopped
long unsigned int pause = 5000;  

boolean lockLow = true;
boolean takeLowTime;  

int pirPin = 3;    //the digital pin connected to the PIR sensor's output
int ledPin = 13;


/////////////////////////////
//SETUP
void setup(){
 Serial.begin(9600);
 pinMode(pirPin, INPUT);
 pinMode(ledPin, OUTPUT);
 digitalWrite(pirPin, LOW);

 //give the sensor some time to calibrate
 Serial.print("calibrating sensor ");
   for(int i = 0; i < calibrationTime; i++){
     Serial.print(".");
     delay(1000);
     }
   Serial.println(" done");
   Serial.println("SENSOR ACTIVE");
   delay(50);
 }

////////////////////////////
//LOOP
void loop(){

    if(digitalRead(pirPin) == HIGH){
      digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state
      if(lockLow){  
        //makes sure we wait for a transition to LOW before any further output is made:
        lockLow = false;            
        Serial.println("---");
        Serial.print("motion detected at ");
        Serial.print(millis()/1000);
        Serial.println(" sec");
        delay(50);
        }        
        takeLowTime = true;
      }

    if(digitalRead(pirPin) == LOW){      
      digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state

      if(takeLowTime){
       lowIn = millis();          //save the time of the transition from high to LOW
       takeLowTime = false;       //make sure this is only done at the start of a LOW phase
       }
      //if the sensor is low for more than the given pause,
      //we assume that no more motion is going to happen
      if(!lockLow && millis() - lowIn > pause){  
          //makes sure this block of code is only executed again after
          //a new motion sequence has been detected
          lockLow = true;                        
          Serial.print("motion ended at ");      //output
          Serial.print((millis() - pause)/1000);
          Serial.println(" sec");
          delay(50);
          }
      }
 }


And my processing sketch with MousePressed  Undecided:

import processing.video.*;
Movie myMovie;
PImage pfc;

void setup() {
 size(1680, 1050,P2D);
 pfc = loadImage("photofc.jpg");
 
 myMovie = new Movie(this, "Pou.mov");
 myMovie.loop();
 background(0);
}

void draw()
{
  if  (mousePressed == true) {
    loadImage("photofc.jpg");
    image(pfc,0,0);
   
 
  } else {
    background(0);
    image(myMovie,480,237);
   
  }

}

void mousePressed() {
 myMovie.pause();
}

void mouseReleased() {
 myMovie.loop();
}

 HuhBUT now I woold like replace the "Mouse" by my PIR sensor and I don't now how make that  Cry
PLEASE if someone could helpme it's make me CRAZY !!!
Thank's Wink
Page Index Toggle Pages: 1