Réalisation d'une voiture automatisée anti-collision avec Arduino

 

Boucle Infinie: Algorithme d'exploration

Architecture Hardware

 

Architecture Software

 

Schéma

Commentaires

Portrait de Vincent

c'est super trop cool je vais essayer de le reproduire !!!!

merci ! ;)

Portrait de Vincent

Super! Je l'ai bientôt terminée!! J'ai personnellement très légèrement modifié le câblage mais cela marche, pour l'instant très bien!!!!

Meci pour cette vidéo très bien faite!!!

Portrait de saidov
salut s'il vous plaît pouvez-vous expliquer à moi ce que tu sens en ceci:
const char DOUT_MOTEUR_GAUCHE_EN = 6;
const char D0UT_MOTEUR_GAUCHE_1 = 5;
const char D0UT_MOTEUR_GAUCHE_2 = 7;
const char DOUT_MOTEUR_DROIT_EN = 9;
const char D0UT_MOTEUR_DROIT_3 = 8;
const char D0UT_MOTEUR_DROIT_4 = 10;
merci
Portrait de Alex

C'est l'affectation des broches pour le pont en H.

Portrait de saidov

oui je sais mais pourquoi tu choisire 3 pin pour un seul moteur 

DOUT_MOTEUR_GAUCHE_EN  = 6;   c'est qoit ce pin 
D0UT_MOTEUR_GAUCHE_1   = 5;           //
D0UT_MOTEUR_GAUCHE_2   = 7;           //

 

Portrait de bacquy

Salut Saidov,

De ce que j'ai pu comprrendre du cablage, il utilise un L293D pour gérer le moteur

doncvoici comment est cablé le L293D sur le Arduino

DOUT_MOTEUR_GAUCHE_EN  = 6;       ENable 1 qui semble "autoriser le controle" de Input 1 et 2

D0UT_MOTEUR_GAUCHE_1   = 5;         Input 2

D0UT_MOTEUR_GAUCHE_2   = 7;          Input 1

plus de détail sur le L293D ici:

http://www.datasheets360.com/pdf/624709677179081801

Portrait de saidov

oui je comprendre tout ce que tu dit mon idée c'est  un robo entie collision  suiveur de ligne 

 je veux mélanger votre code avec ma code suiveur voice mon code le void setup et le loop 

#define m1 6
#define m2 9

void setup() {

pinMode(m1,OUTPUT);
pinMode(m2,OUTPUT);
pinMode(A0,INPUT);
pinMode(A2,INPUT);

}

void loop() {
int s1=analogRead(A0);
int s2=analogRead(A2);
if((s1 <150)&&(s2 < 150))
{
//both sensors on white
// go forward
digitalWrite(m1,HIGH);
digitalWrite(m2,HIGH);
}
else if((s1 > 400)&& (s2 < 150))
{
//right sensor on black line
// turn right
digitalWrite(m1,HIGH);
digitalWrite(m2,LOW);
}
else if((s1 < 150)&&(s2 > 400))
{
//left sensor on black line
// turn left
digitalWrite(m1,LOW);
digitalWrite(m2,HIGH);
}
else
{
digitalWrite(m1,HIGH);
digitalWrite(m2,LOW);
}
}

Portrait de bacquy

Salut,

Ici à Montréal, je n'arrive pas à comprendre quelque chose:

Je me suis servi de ton exemple "voiture anti collision" pour batir mon programme.

mais lorsque je défini une fonction void affiche() qui fait juste un Serial.println("test"); dans un fichier test.h

je ne peux pas utiliser cette fonction affiche()  à la fin d'une autre fonction située dans un autre fichier test2.h

message erreur: " 'affiche' was not declared in this scope"

J'ai évidement ajouté les #include necessaires dans mon fichier .ino

Il ya surement quelque chose que je n'ai pas fait ou pas pigé parce que dans ton exemple tu le fait sans erreur.....

merci :)

 

PS: merci  beaucoup pour ton site et tes vidéos très bien faites elles me sont vraiment très utiles pour mon apprentissage sur Arduino.

Portrait de bacquy

Bon alors j'ai trouvé le moyen de répartir mon code entre plusieurs fichiers à l'aide de fichier .cpp et .h mais je comprends toujours pas comment tu as réussi en utilisant seulement des headers.

pour ce que j'ai trouvé: https://openclassrooms.com/courses/apprenez-a-programmer-en-c/la-programmation-modulaire

Portrait de GyKster

Bonjour,

super tuto!!

avez vous un lien pour acheter le kit roues etc?

merci

Melvin

Portrait de Alex

Bonjour Melvin,

Oui bien sûr, voici le lien: http://laboutiquedumaker.com/index.php?id_category=83&controller=category

A plus

Portrait de GyKster

super, merci.

petit avis sur l'algo.

si le robot se déplace, approche d'un mur, s'il ne trouve pas d'issue à droite ni à gauche, il fait demi tour.

Le problème est qu'il va donc revenir à sa position de départ.

Pour peu qu'il n'y ait pas d'issue a droite ni à gauche aussi à la position de départ alors il va faire des allers retours infinis en ligne droite.

plutot que de faire demi tour il devrait reculer de quelques centimètres, puis continuer l'algo de recherche d'issue (et continuer à reculer si pas d'issue), ainsi, dés qu'il trouve une issue il change de chemin.

sinon une question, pourquoi ne pas utiliser plutot des moteurs pas à pas? cela ne permet il pas une grande précison pour tourner à gauche et à droite plutot que de se reposer sur une durée qui peut varier en fonction du sol notamment?

merci

Melvin

Portrait de GyKster

bonjour,

il me manquait juste le L293D pour terminer et je viens de recevoir par erreur un L297. j'ai contacté le vendeur pour comprendre, pensez vous que le L297 puisse remplacer le L293D??

merci

Melvin

Portrait de math281

Salut,

J'ai fais l'acquisition du kit pour la voiture anti-collision récemment. J'ai quelques petit avec le montage...

Mes roues ne sont pas stables, elle flotte un peu lorsque je les connecte au moteur. Du coup, lorsque je lui demande d'avancer, il fait une courbe... J'ai également, dans mon kit, 2 petites pieces rondes qui rentre parfaitement sur les moteurs, je ne sais pas vraiment quoi en faire, c'est peut-etre lié?

Je suis bloqué également sur le montage du servo et du sonar. Comment les assembler? Comment les fixer sur le chassis ?

Un petit coup de pouce pour le montage serait sympa :)

Merci,

Mathieu

Portrait de Alex

C'est normale si ça avance par courbe des fois, c'est principalement en raison de la petite roue libre en arrière.

Les pièces pour les roues servent à déterminer la vitesse des roues si jamais tu souhaites en plus ajouter des codeurs (mais personne ne le fait quasiment).

Portrait de Hamza Slimani

salut tout le monde, j ai besoin d aide sur un programme d'un robot suiveur de ligne,ya qlq1 qui peut m aider??

Portrait de xave_be

Bonjour,

Ou puis-je trouver un schéma de montage pour le kit " voiture autonome"

Merci d'avance,

Portrait de Chouki35

Super tutoriel j ai un petit souci avec ma voiture j n ai assez tensions au bou de mes deux moteur 2,5v à la place de 5v après le pont h j arrive pas trouver de solution merci de m aider

Portrait de Avathur

J'ai réalisé un robot similaire, mais j'ai un problème les moteurs ne tourne pas tout les deux a la même vitesse ! Je sais pas si quelqu'un aurai peut être une solution pour m'aider ?

Merci d'avance !

Portrait de yaakoub

j'ai éssier de simulé le cod on isis proteuse et sa march pas !!

aide moi svp 

Portrait de yaakoub

simulation ERRor log
invalid opcode  0x9419 at pc=0x126A 
isis proteuse

Portrait de mike3008

Salut à Tous,

La voiture avance de travers car un moteur tourne (un peu) plus vite que l'autre.

Je pense que faire une PWM sur les bornes DOUT_MOTEUR_GAUCHE_EN, DOUT_MOTEUR_DROIT_EN, devrait permettre d'ajuster la marche en avant. Qu'en pensez-vous ?

Portrait de Azti0reX

J ai realiser ce projet et les moteur ne marche pas pourtant ils sont tout neuf,

Portrait de Azti0reX

J ai realiser ce projet et les moteur ne marche pas pourtant ils sont tout neuf,

Portrait de hugorivet

j'ai un problème j'ai tout fais comme dans la vidéo et le moteur et le module ultrason ne marche pas et je regarde le câblage et tout a l'air bien mis 

Portrait de tartuf

bonjour,

je vous re-merci pour ces explications et le code sa fonctionné trait bien, il me reste à comprendre le code, car je ne connais rien en programmation.

 

Portrait de praticalmango

Bonjour, je souhaite acheter une carte arduino Mega (pas une copie) afin de réaliser un robot comme celui-ci mais avec plus de fonctionnalités ( notamment un capteur RFID), seulement, je ne sais pas quelle carte acheter. Pourriez-vous m'aider svp? Merci d'avance :)

Portrait de pp94

Bonjour,

Avec mon groupe nous avons réussi à faire fonctionner notre modèle en y apportant nos modifs. Nous cherchons désormais à imprimer une carrosserie pour rendre le tout un peu plus esthétique. Existe-t-il des modèles existant pour ce modèle de voiture.

Je tiens à préciser que notre émetteur/recepteur d'ultrasons est immobile (dû à nos modifs) .

Merci par avance pour vos réponses  

Portrait de Jekyll

Bonjour,

Est-ce que quelqu'un peut m'expliquer le delai à la fin du programme ?

Merci à vous.

Portrait de absh_fr

Magnifique, enfin un code bien ordonné et abondamment commenté.