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--;
}
}
}
}