L'oeil infra-rouge
- il y a 11 ans
Mise en oeuvre du capteur IR vendu par IR-Robotics
Programme Processing 1.5.1:
import processing.serial.*;
import processing.video.*;
Capture cam;
final int rate = 38400;
final int off_x_IR = 80;
final int off_y_IR = 29;
final int off_x = 100;
final int off_y = 110;
final float sz = 26.72;
final int frameX = 8;
final int frameY = 8;
final int frameLen = frameX * frameY;
Serial port;
int[] frame;
int serialCounter;
int nextFrameTime;
int framePeriod = 100;
void setup()
{
size( 840, 710 );
frameRate(12);
frame = new int[frameLen];
initSerial();
noStroke();
//noSmooth();
nextFrameTime = millis();
// Cam stuff //
String[] cameras = Capture.list();
if (cameras.length == 0)
{
println("There are no cameras available for capture.");
exit();
}
else
{
println("Available cameras:");
for (int i = 0; i < cameras.length; i++)
{
println(cameras[i]);
}
cam = new Capture(this, 640, 480);
}
}
void draw()
{
serialHandler();
if( millis() >= nextFrameTime )
{
requestFrame();
background(60);
// --- Camera Visible
if (cam.available() == true)
{ cam.read(); }
set(off_x, off_y, cam);
// --- Grande image IR; seuil = 24
for( int i = 0; i < frameLen; i++ )
{
if(frame[i] 0 )
{
if( incoming == 127 )
serialCounter = 0;
else
{
frame[serialCounter - 1] = incoming;
serialCounter--;
}
}
}
}
Programme Processing 1.5.1:
import processing.serial.*;
import processing.video.*;
Capture cam;
final int rate = 38400;
final int off_x_IR = 80;
final int off_y_IR = 29;
final int off_x = 100;
final int off_y = 110;
final float sz = 26.72;
final int frameX = 8;
final int frameY = 8;
final int frameLen = frameX * frameY;
Serial port;
int[] frame;
int serialCounter;
int nextFrameTime;
int framePeriod = 100;
void setup()
{
size( 840, 710 );
frameRate(12);
frame = new int[frameLen];
initSerial();
noStroke();
//noSmooth();
nextFrameTime = millis();
// Cam stuff //
String[] cameras = Capture.list();
if (cameras.length == 0)
{
println("There are no cameras available for capture.");
exit();
}
else
{
println("Available cameras:");
for (int i = 0; i < cameras.length; i++)
{
println(cameras[i]);
}
cam = new Capture(this, 640, 480);
}
}
void draw()
{
serialHandler();
if( millis() >= nextFrameTime )
{
requestFrame();
background(60);
// --- Camera Visible
if (cam.available() == true)
{ cam.read(); }
set(off_x, off_y, cam);
// --- Grande image IR; seuil = 24
for( int i = 0; i < frameLen; i++ )
{
if(frame[i] 0 )
{
if( incoming == 127 )
serialCounter = 0;
else
{
frame[serialCounter - 1] = incoming;
serialCounter--;
}
}
}
}