Capteur à InfraRouge Détecter des obstacles avec un capteur à ultrasons Utiliser un capteur à UltraSon Eviter les obstacles avec des moustaches
Le robot doit être capable de détecter devant lui des obstacles. Pour cela, on placera deux contacteurs à l’avant.
Activité 1 :Réaliser l’organigramme de programmation
Activité 2 :Programmer le robot avec PhysicalEtoys avec liaison filaire
Exemple :
Activité 3 :Programmer le robot avec PhysicalEtoys sans liaison filaire
Il faut programmer physical etoys en changeant le mode de connexion. Il faut ensuite charger le programme principal (les sous-programmes seront aussi chargés).
Activité 4 :Programmer avec l’IDE arduino
// robot avance, tourne droit ou gauche si capteur droit ou gauche
// by f. chamayou
#include <Servo.h>
Servo servod; // cree un objet servodroit
Servo servog; // cree un objet servogauche
int captdroit = 2;
int captgauche = 3;
// setup : programme lu une seule fois
void setup()
{
servod.attach(8); // servo droit connecté sur sortie 8
servog.attach(9); // servo gauche connecté sur sortie 9
pinMode(captdroit, INPUT);
pinMode(captgauche, INPUT);
}
// loop : programme en boucle
void loop()
{
if (digitalRead(captdroit) == HIGH) {
recularret ();
retournegauche ();
} else if (digitalRead(captgauche) == HIGH) {
recularret ();
retournedroit (); // dit au servo gauche de prendre la position 0
} else avance();
}
void avance()
{
servod.write(180); // dit au servo droit de prendre la position 180
servog.write(0); // dit au servo gauche de prendre la position 0
delay(300); // attendre 5000 ms (5s)
}
void recularret()
{
servod.write(99);
servog.write(101);
delay(200);
servod.write(0);
servog.write(180);
delay(1000);
}
void retournegauche()
{
servod.write(180);
servog.write(180);
delay(600);
}
void retournedroit()
{
servod.write(0);
servog.write(0);
delay(600);
}
Test :