Cours:StartMindstormEV3DEV

De troyesGEII
Aller à : navigation, rechercher

Infos utiles

librairie brick

Pour commencer, nous utiliserons la librairie simplifiée "brick.h" dont nous allons explorer quelques aspects ici.

Programme minimum

Cette base minimum de programme devra être reprise systématiquement :

#include <stdio.h>
#include "brick.h"
#include <unistd.h>
#define Sleep( msec ) usleep(( msec ) * 1000 )

int main( void )
{
   if ( ev3_init() == -1 )
   {
     printf("\erreur d'initialisation\n");
     return ( 1 );
   }
   printf("initialisation des capteurs ... ");
   ev3_sensor_init();
   printf(" ok !\n");
   printf("initialisation des actionneurs ... ");
   while ( ev3_tacho_init() < 1 ) Sleep( 1000 );
   printf(" ok !\n");

   // début du programme


   // fin du programme
   ev3_uninit();
   printf("*** ( EV3 ) Bye! ***\n" );
   return(0);
}

Pour compiler et exécuter votre programme test.c , il suffit de :

gcc test.c -lev3dev-c -o test
./test

Capteurs

http://slideplayer.com/slide/10944320/

Capteur de couleur

On trouve 3 modes de mesure principaux :

COL-COLOR retourne un nombre entre 0 et 7 tel que :
0 ?? 1 noir 2 bleu
3 vert 4 jaune 5 rouge
6 blanc 7 marron
COL-REFLECT intensité de la lumière réfléchie entre 0 et 100
COL-AMBIENT intensité de la lumière ambiante entre 0 et 100

Il faudra tout d'abord initialiser le capteur et choisir le mode de mesure :

POOL_T capteurCouleur;
 
const char const *nomCouleur[] = { "?", "BLACK", "BLUE", "GREEN", "YELLOW", "RED", "WHITE", "BROWN" };
#define NB_COULEUR  (( int )( sizeof( nomCouleur ) / sizeof( nomCouleur[ 0 ])))
int couleur;
 
int initCapteurCouleur()
{
   capteurCouleur = sensor_search( LEGO_EV3_COLOR );
   if (capteurCouleur)
   {
       color_set_mode_col_color(capteurCouleur);
       //color_set_mode_col_reflect(capteurCouleur);
       //color_set_mode_col_ambient(capteurCouleur);
       printf( "capteur couleur connecté\n");
   }
   else
   {
       printf("vérifier le branchement du capteur couleur !\n");
       return (0);
   }
   return 1;
}