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