I have decided to post the Processing code to render the data from the Arduino. This my first processing project. I have kept the code very simple and with that flexible. This code does not have to be used with a PIR sensor it could be used with any analog sensor on 2 servos.
// GR0B Basic draw - Robert Sturzbecher
// This is my first Processing project. The purpose of this project is to render the values received back from a PIR sensor on 2 servos to give a crude image
// server stepping on the Arduino is 3/180 if you use some thing different
// I have made the code very generic and flexable to suit any project that outputs (X Y Value)
import processing.serial.*;
Serial myPort; // Create object from Serial class
int val; // Data received from the serial port
int ServoStepping = 3; // Change this to match the Arduino servo stepping
void setup()
{
size(555, 550); // ((180x3)+10)
String portName = Serial.list()[0]; // you will get a error here if port not found or in use. [0] is first serial port found
myPort = new Serial(this, portName, 19200);
background(0);
}
void draw()
{
String xString = myPort.readStringUntil('\n'); // read the serial port until a new line
if (xString != null) { // if theres data in between the new lines
fill(0); // set fill to black
String[] SerialLine = split(xString,' '); // split serial string line into array
// string from arduino should line like this "X: 90 Y: 80 Val: 154"
int PosX = int(SerialLine[2]);
int PosY = int(SerialLine[4]);
int PIRVal = int(SerialLine[6]);
PosX = PosX *3; // zoom pixel size. 1/180 now equles a 3x3 size
PosY = PosY *3;
// define Color
int R = (PIRVal - 120); // you will need to customise these values to your project
int G = (PIRVal - 130);
int B = 25;
fill(R,G,B); // set color
rect(PosX, PosY, ServoStepping*3, ServoStepping*3); // Draw colored square
//print some debug info to console
print(xString);
print("RGB: "+R+" "+G+" "+B);
println(" PIR:"+PIRVal);
}
}
|
Friday, 28 January 2011
Processing (Pyroelectric PIR Part3)
Labels:
Arduino,
Processing,
Pyroelectric,
Thermograph
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment