
Robot suiveur de ligne
#1
Posté 23 mai 2010 - 04:44
Maintenant je m'attaque à la programation du robot avec le logiciel arduino sauf que je n'y arrive pas du tout.
Est-ce que quelqu'un pourrait m'aider pour le programmer?
Merci d'avance
#2
Posté 24 mai 2010 - 10:14
Je voulais juste te dire que pour faire un suiveur de ligne tu as juste besoin de quelques composants électroniques classiques et courants et de deux petits moteurs.
Si tu veux en savoir plus je suis à ta disposition, mais peut-être que tu veux utiliser la Arduino plus spécialement

"Plus on partage, plus on possède, voilà le miracle". LEONARD NIMOY
"Celui qui se bat peut perdre, celui qui ne se bat pas a déjà tout perdu". BERTOLT BRECHT (1898-1956)
Comment se lancer dans la robotique !
Mince encore un post pour augmenter mon compteur
#3
Posté 24 mai 2010 - 01:34
#4
Posté 24 mai 2010 - 04:59
"Plus on partage, plus on possède, voilà le miracle". LEONARD NIMOY
"Celui qui se bat peut perdre, celui qui ne se bat pas a déjà tout perdu". BERTOLT BRECHT (1898-1956)
Comment se lancer dans la robotique !
Mince encore un post pour augmenter mon compteur
#5
Posté 24 mai 2010 - 07:49
Si tu n'as pas peur de traduire un peu d'anglais voila un site avec les fonctions de base de l'Arduino : http://arduino.cc/en/Reference/HomePage
Maintenant, si tu veux un peu plus d'explication sur le langage "commum" de l'Arduino (genre : loop, delay, setup...) Je peux peut-être te filer un coup de main...
Tu bloques sur quoi ?
RépliCarter
#6
Posté 24 mai 2010 - 08:32
#7
Posté 24 mai 2010 - 08:37


#8
Posté 25 mai 2010 - 10:20

(pièce jointe)
et voici mon debut de codde qui marche pas du tout:
Pot=capteur de distance
Det1=infrarouge gch
Det2=infrarouge drt
*/
int moteur1 = 3;//moteur gch commande pin sortie PWM
int moteur2 = 5;//moteur drt sortie PWM
int Pot = 0 ; //curseur potentiomètre branché Eanalog 0.
int PotValeur = 0;//pas besoin de pinMode car analogique dc sous entendu det distance
int Det1 = 4; //det tout ou rien
int det1 = 0; //gch
int Det2 = 2; //drt
void setup() //config entree sortie
{
pinMode(moteur1, OUTPUT);
Serial.begin(9600); //commencer la transmission, taux de transmission = 9600 bps(bits pas sec)
}
void loop()
{
PotValeur = analogRead(Pot);
det1 = digitalRead(Det1);
Serial.print("Valeur du potentiometre:");
Serial.println(PotValeur); //ln = retour chariot
Serial.print("Valeur du PotValeur:\n\n");
Serial.println(PotValeur/4);
if(det1 == 1 || PotValeur/4 >= 50)
{
analogWrite(moteur1, 450);//450 valeur minimale pour avancer //plus la valeur augmente plus la bande haute s'élargie et la basse rétrecie
//PotValeur/4
delay(500);
}
else{
analogWrite(moteur1, 0);
delay(500);
}
}
#9
Posté 25 mai 2010 - 10:22
#10
Posté 25 mai 2010 - 04:55
#11
Posté 25 mai 2010 - 05:34
le code que j'ai mis c'est ce que j'ai fait j'arrive pa a plus donc si tu peu m'aider...
#12
Posté 25 mai 2010 - 10:45
#13
Posté 28 mai 2010 - 06:43
if(det1 == 1 || PotValeur/4 >= 50)
je trouve que ca manque de parenthèses dans ta condition,
y a des opérateurs plus prioritaires que d'autres
essaye avec
if((det1 == 1) || ((PotValeur/4) >= 50))
#14
Posté 29 mai 2010 - 03:13
Désolé je voulais effacer mon post inutile mais je ne suis pas modérateur sur ce topic, bizarre.
"Plus on partage, plus on possède, voilà le miracle". LEONARD NIMOY
"Celui qui se bat peut perdre, celui qui ne se bat pas a déjà tout perdu". BERTOLT BRECHT (1898-1956)
Comment se lancer dans la robotique !
Mince encore un post pour augmenter mon compteur
1 utilisateur(s) li(sen)t ce sujet
0 members, 1 guests, 0 anonymous users