Résolution du défi 1 par Nicolas
Première séance (05/01/2016) |
Après deux heures de recherches, je suis parvenu à faire avancer le robot jusqu'à ce que l'on appuie sur le bouton pour l’arrêter.
|
- Les lignes 1, 2 et 3 sont crée automatiquement lorsqu'on paramètre les différents périphériques du robot.
- La ligne 6 est la tâche principale elle est de base et contient le programme.
- La ligne 8 est la boucle qui fait que tant que la valeur du bouton (touchSensor) est égale à 0 (c'est-à-dire qu'il n'est pas pressé) engendre les lignes suivantes.
- Les lignes 10 et 11 démarrent respectivement les moteur B et C (les moteurs des roues) à une puissance de 100. Les moteurs resteront allumés jusqu'à ce qu'on sorte de la boucle en appuyant sur le bouton
- La ligne 13 est la condition qui permet d'arrêter le robot. Si l'on appuie sur le bouton (touchSensor) ça arrête les moteurs B et C en réglant leurs puissance sur 0.
Le programme |
#pragma config(Sensor, S1, touchSensor, sensorTouch)
#pragma config(Motor, motorB, MotorB, tmotorNXT, PIDControl, encoder) #pragma config(Motor, motorC, MotorC, tmotorNXT, PIDControl, encoder) //*!!Code automatically generated by 'ROBOTC' configuration wizard !!*// task main() { while(SensorValue(touchSensor) == 0) { motor[MotorB] = 100; motor[MotorC] = 100; if(SensorValue(touchSensor) == 0) { motor[MotorB] = 0; motor[MotorC] = 0; } } |
Deuxième séance (18/01/2016) |
Je suis parvenu à faire en sorte que mon robot suive la ligne noire via le capteur de lumière.
Je n'ai pas utilisé le capteur RGB color parce que je n'ai pas réussi à le faire fonctionner. Le capteur de lumière comme son nom l'indique est sensible à la lumière et nécessite donc un environnement dans lequel la luminosité est la même partout. |
- Les lignes 1 à 4 sont créés automatiquement lorsqu'on configure les moteurs et les capteur du robots.
- La ligne 7 est la tâche principale elle contient le programme.
- La ligne 9 est une boucle infinie.
- La ligne 11 n'est pas nécessaire, elle permet d'afficher sur l'écran du robot le niveau de luminosité.
- La ligne 12 est une boucle qui tant que la lumière est comprise entre 23 et 30 activer les moteurs B et C à une puissance de 50.
- Les lignes 17 et 18 permettent de tourner vers la gauche lorsque le capteur ne détecte plus le noir
Le programme |
#pragma config(Sensor, S1, Couleur, sensorLightInactive)
#pragma config(Motor, motorA, MotorA, tmotorNXT, PIDControl, encoder) #pragma config(Motor, motorB, MotorB, tmotorNXT, PIDControl, encoder) #pragma config(Motor, motorC, MotorC, tmotorNXT, PIDControl, encoder) //*!!Code automatically generated by 'ROBOTC' configuration wizard !!*// task main() { while(true) { nxtDisplayTextLine(1,"Couleur:%f",SensorValue(Couleur)); while(SensorValue(Couleur)>23 & SensorValue(Couleur)<30) { motor[MotorB]=50; motor[MotorC]=50; } motor[MotorB]=2; motor[MotorC]=25; } } |