Yves Chevallier & Andrew Watson Caméra linéaire 12/05/2019
Capteurs linéaires…
Exemple: Photo finish Schéma de fonctionnement du scanner
Exemple: scanner à plat
Exemple: scanner à plat
Module Robopoly Caméra linéaire TSL3301
Caméra linéaire TSL 3301 1x102 pixels 6 francs Dans le kit – vous avez : TSL3301
Caméra linéaire TSL 3301 Dans le kit – vous avez : TSL3301
Module caméra linéaire
Module caméra linéaire
Module caméra linéaire
Montage objectif 2 [montage : voir le guide de montage 1 3
Attention: sens de la lentille [montage : voir le guide de montage
Fonctionnement de la librairie Programmation Fonctionnement de la librairie
Exemple: initialisation // tsl3301 initialisation lcam_initport(); lcam_reset(); lcam_setup(); // variables unsigned char buffer[102]; unsigned char pic_pos = 0; waitms(2);
Exemple: boucle principale // start integration lcam_startintegration(); // integration time waitus(200) // get image lcam_stop(buffer); // compute peak position pic_pos = lcam_getpic(buffer);
lcam_getpic Valeur de retour: [1..25] position du pic 0 pas de pic détecté
Exemple: robot suiveur de lumière
Exemple: robot suiveur de lumière int main (void) { // variables char y = 0; char k = 2; initialisations(); // main loop for(;;) { // Controller if(y = camera_get_maximum()) robot_direction((y-MIDDLE)*k, VELOCITY); else robot_direction(0,0); // End loop led_toggle(); waitms(DELAY); }
Exemple: robot suiveur de lumière char camera_get_maximum() { #define INTEGRATION 200 // [us] unsigned char buffer[102]; lcam_startintegration(); waitus(INTEGRATION); lcam_stop(buffer); return lcam_getpic(buffer); } void initialisations() { lcam_initport(); lcam_reset(); lcam_setup(); waitms(20); } void robot_direction(char angle, char velocity) { char left = velocity + angle; char right = velocity - angle; setupMotorPWM(left, right); }
Fireday Due Journée Concours Samedi 12 Mars à 9h00 en ELE031
Mercredi prochain Démon Invité