• l’année dernière
PygmyRobot aller-retour.
Le PygmyRobot ets équipé de quatre capteurs suiveurs de ligne. Il ont un mode de fonctionnement suivant : pour le blanc ils lisent la valeur 1 et 0 pour le noir. Pour plus d'efficacité les capteurs sont disposés à l'extérieur de la ligne noire. Dans cette application le robot parcours une ligne droite limité aux deux extrémite par des traits noir pour faire demi-tour (180°) et reprendre le suivi de la ligne.
( Round Trip StayTheCourse )
Le code en Pygmy Forth est le suivant :
( Primitive Pygmy Fortn en Python. )
" MotorAV.fth" LOAD ( marche avant )
" MotorAR.fth" LOAD ( marche arrière )
" initlf1.fth" LOAD ( capteur du centre droit )
" initlf2.fth" LOAD ( capteur du centre gauche )
" initlf3.fth" LOAD ( capteur de gauche )
" MotorStop.fth" LOAD ( arrêt )
" TurnD.fth" LOAD ( tourne à droite )
" TurnG.fth" LOAD ( tourne à gauche )
" TurnG90.fth" LOAD ( tourne à gauche de 90° )
" TurnD90.fth" LOAD ( tourne à droite de 90° )
( applications )
( SQR quadcoptershop )
( Round Trip StayTheCourse )
: STCM ( -- )
500 FOR ( utilisation d(une boucle FOR NEXT limitée à 500 )
INITLF1 INITLF2 AND 0= IF MOTORAV ( si les deux capteurs centraux détecte le noir, soit 0, marche avant)
THEN ( fin du branchement conditionnel )
INITLF1 0= IF TURNG MOTORAV ( si ce capteur n'est pas sur le blanc tourner à gauche )
THEN ( fin du branchement conditionnel )
INITLF2 0= IF TURND MOTORAV ( si ce capteur n'est pas sur le blanc tourner à droite )
THEN ( fin du branchement conditionnel )
INITLF1 INITLF2 INITLF3 AND 1 = IF TURNG90 MOTORAV ( quand les trois capteurs sont sur le noir tourner de 180° )
THEN ( fin du branchement conditionnel )
NEXT ( la boucle repart )
;