tiens....c'est pas les bonnes photos....
la bonne version n'est pas là

celle-ci fait que la roue de devant n'avance pas bien...elle traine vers l'arrière et souvent se décroche.
zut...ben euh une autre fois...
en attendant voici le code qui va avec

ça fonctionne
Code:
/*
Vérifier les obstacles sur un champ de vision de 90°
Programme pour une plate forme à Trois roues
Moteur C : avance les deux roues arrières
Moteur B : permet de diriger la roue avant
Moteur A : permet la rotation du capteur à ultrason
Port de Sortie 4 : capteur à ultrason
écrit par Manawy le 10/08/2007
*/
#include "NXTDefs.h"
#define G_PUISS 100
#define M_PUISS 75
#define P_PUISS 50
dseg segment
/* pour le capteur à ultrason */
Distance_Gauche sword 30
Distance_Droite sword 30
Distance_Devant sword 30
ends
//------------------------------------------------
// sous-routines
//------------------------------------------------
subroutine tourner_gauche
RotateMotor(OUT_C,M_PUISS,-360)
OnFwd(OUT_C,M_PUISS)
RotateMotor(OUT_B,P_PUISS,50)
wait 500
RotateMotor(OUT_B,P_PUISS,-50)
OnFwd(OUT_C,M_PUISS)
return
ends
subroutine tourner_droite
RotateMotor(OUT_C,M_PUISS,-360)
OnFwd(OUT_C,M_PUISS)
RotateMotor(OUT_B,P_PUISS,-50)
wait 500
RotateMotor(OUT_B,P_PUISS,+50)
OnFwd(OUT_C,M_PUISS)
return
ends
//---------------------------------------------------------
// thread main
//----------------------------------------------------------
thread main
InitialisationCapteur:
SetSensorUltrasonic(IN_4)
EnAvantMarche:
OnFwd(OUT_C,M_PUISS)
VerifierCapteur:
brcmp LT, BraquerGauche, Distance_Droite, 25
brcmp LT, BraquerDroite, Distance_Gauche, 25
brcmp LT, ChoixGaucheDroite, Distance_Devant, 25
jmp BougerCapteur
BraquerGauche:
call tourner_gauche
set Distance_Gauche, 30
jmp BougerCapteur
BraquerDroite:
call tourner_droite
set Distance_Droite, 30
jmp BougerCapteur
ChoixGaucheDroite:
set Distance_Devant, 30
brcmp LT, BraquerDroite, Distance_Gauche, Distance_Droite
brcmp GTEQ, BraquerGauche, Distance_Gauche, Distance_Droite
BougerCapteur:
RotateMotor(OUT_A, G_PUISS, 45)
ReadSensorUS(IN_4,Distance_Gauche)
RotateMotor(OUT_A, G_PUISS, -90)
ReadSensorUS(IN_4,Distance_Droite)
RotateMotor(OUT_A, G_PUISS, 45)
ReadSensorUS(IN_4,Distance_Devant)
jmp VerifierCapteur
exit
endt