Cours:MindstormSuiviLigne : Différence entre versions
(Page créée avec « Une croix avec un scotch noir sera réalisé sur la table d'essais. Le Robot sera placé de telle manière que le centre de l'axe des roues corresponde au centre de la cro... ») |
|||
| Ligne 1 : | Ligne 1 : | ||
| − | + | [[Cours:TPs_1103|{{Rouge|'''Retour à la liste des Tps'''}}]] | |
| − | + | Vous allez dans ce TP programmer un robot suiveur de ligne. | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | Nous utiliserons le capteur de couleur présent sur le robot tour à tour dans les modes COL_COLOR et COL_REFLECT. | |
| − | + | =détection de couleur : Noir ou pas ?= | |
| + | |||
| + | On souhaite suivre une ligne de couleur noire au sol. | ||
| + | |||
| + | On souhaite dans cette partie utiliser le capteur en détection de couleur (COL_COLOR mode). | ||
| + | |||
| + | ==Fin du programme== | ||
| + | |||
| + | Comme expliqué dans un TP précédent, la plupart des programmes auront une structure de la forme : | ||
| + | |||
| + | <source lang=c> | ||
| + | .... | ||
| + | int main() | ||
| + | { | ||
| + | // init robot et variables | ||
| + | .... | ||
| + | do { | ||
| + | // lire les entrées | ||
| + | .... | ||
| + | // faire des calculs | ||
| + | .... | ||
| + | // modifier les sorties | ||
| + | .... | ||
| + | // éventuellement une attente pour ne pas modifier trop fréquemment les sorties | ||
| + | Wait(qques Ms); | ||
| + | } while( condition pour continuer le programme); | ||
| + | // fin du programme | ||
| + | ... | ||
| + | } | ||
| + | </source> | ||
| + | |||
| + | Commençons par prévoir l'arrêt du robot en fin de parcours. On utilisera le capteur de contact (touchSensor). | ||
| + | |||
| + | {{Question|Ecrire un programme qui fait clignoter la led verte et qui se termine lorsque le robot rencontre un obstacle}} | ||
| + | |||
| + | Il faudra regarder la fonction '''SetLedPattern''' | ||
| + | |||
| + | ==Détection de la ligne== | ||
| + | |||
| + | On conserve le programme précédent, les moteurs ne sont toujours {{Rouge|pas utilisés}}, on souhaite vérifier que le capteur de couleur détecte bien la ligne. | ||
| + | |||
| + | {{Question|Ecrire un programme qui :}} | ||
| + | *configure le capteur de couleur en mode COL_COLOR | ||
| + | *répète | ||
| + | **lire capteur de couleur | ||
| + | **si couleur noire | ||
| + | ***allumer led verte | ||
| + | **sinon | ||
| + | ***allumer led rouge | ||
| + | **attendre 10ms | ||
| + | *tant qu'il n'y a pas d'obstacle | ||
| + | *quitter | ||
Version du 28 septembre 2018 à 09:37
Retour à la liste des Tps
Vous allez dans ce TP programmer un robot suiveur de ligne.
Nous utiliserons le capteur de couleur présent sur le robot tour à tour dans les modes COL_COLOR et COL_REFLECT.
détection de couleur : Noir ou pas ?
On souhaite suivre une ligne de couleur noire au sol.
On souhaite dans cette partie utiliser le capteur en détection de couleur (COL_COLOR mode).
Fin du programme
Comme expliqué dans un TP précédent, la plupart des programmes auront une structure de la forme :
....
int main()
{
// init robot et variables
....
do {
// lire les entrées
....
// faire des calculs
....
// modifier les sorties
....
// éventuellement une attente pour ne pas modifier trop fréquemment les sorties
Wait(qques Ms);
} while( condition pour continuer le programme);
// fin du programme
...
}
Commençons par prévoir l'arrêt du robot en fin de parcours. On utilisera le capteur de contact (touchSensor).
Ecrire un programme qui fait clignoter la led verte et qui se termine lorsque le robot rencontre un obstacle
Il faudra regarder la fonction SetLedPattern
Détection de la ligne
On conserve le programme précédent, les moteurs ne sont toujours pas utilisés, on souhaite vérifier que le capteur de couleur détecte bien la ligne.
- configure le capteur de couleur en mode COL_COLOR
- répète
- lire capteur de couleur
- si couleur noire
- allumer led verte
- sinon
- allumer led rouge
- attendre 10ms
- tant qu'il n'y a pas d'obstacle
- quitter