Aller au contenu


Photo
- - - - -

[2WD]mon robot Jardise


202 réponses à ce sujet

#1 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp
  • Interests:https://t.me/pump_upp

Posté 22 juillet 2011 - 03:29

Bonjour à tous.

Voila je me suis initier a la robotique ya peux de t'en , et j'ai monté le chassie plus d'autre pièce sur mon robot , manque plus cas le programmé.

Le bute de mon robot , en premier t'en , il devra évité les obstacles

#2 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp
  • Interests:https://t.me/pump_upp

Posté 22 juillet 2011 - 05:06

J'ai fait un plan plus des photos pour que vous puissiez voir a quoi il ressemble.


Image IPBImage IPBImage IPB

Mais le souci se que je n'arrive pas a le programmé , faux dire que je débute , pour t'en j'ai mi du mien.

Fichier(s) joint(s)



#3 arobose

arobose

    Nouveau membre

  • Membres
  • 62 messages
  • Gender:Male
  • Location:Meyreuil-France
  • Interests:Robotique
    Informatique
    Electronique

Posté 22 juillet 2011 - 05:56

Salut Seb,

Sympa ton robot, tu l'as acheté où ? :lol:

J'aurais préferé que tu tatonnes un peu et que tu trouves tout seul parce qu'il y a que comme ça que l'on progresse mais je vois que tu galères un peu, alors je te donnes l'info...
Bon, ton code actuel te permet de faire bouger ton servomoteur en fonction de ton capteur.

Pour faire bouger tes moteurs, tu dois définir où sont les pins où tu as connecté tes moteurs. Sur la carte Arduino Motor Shield, ce sont les pins 6,5, 7 et 4.

Pin 4 Direction Moteur 2
Pin 5 Vitesse Moteur 2
Pin 6 Vitesse Moteur 1
Pin 7 Direction Moteur 1

Défini d'abord les variables que tu utiliseras dans ton code. Au dessus de la ligne "Servo my Servo;":

int vitesse1 = 6;
int vitesse2 = 5;
int direction1 = 7;
int direction2 = 4;



Ensuite, il faut que tu crées 2 fonctions pour contrôler chacun des moteurs, indépendamment.

void Moteur1(int valeur_vitesse, boolean sens_avant)
{

analogWrite(vitesse1,valeur_vitesse); //valeur_vitesse = 0 à l'arrêt, et 255 pour vitesse maximum
if(sens_avant)
{

digitalWrite(direction1,HIGH);

}
else
{

digitalWrite(direction1,LOW);

}

}

void Moteur2(int valeur_vitesse, boolean sens_avant)
{

analogWrite(vitesse2,valeur_vitesse); //valeur_vitesse = 0 à l'arrêt, et 255 pour vitesse maximum
if(sens_avant)
{

digitalWrite(direction2,HIGH);

}
else
{

digitalWrite(direction2,LOW);

}

}




Ensuite tu dois initialiser ta carte par le biais de la fonction Setup (tu rajoutes les instructions à ce que tu as déjà.


void setup()
{

int i;

for(i=5;i<=8;i++)

pinMode(i, OUTPUT); //met les pin 4,5,6,7 en mode sortie

}



Et maintenant le programme proprement dit, c'est la fonction loop.
Là c'est pareil, tu rajoutes le code à ton code existant.


void loop()
{

Moteur1(100,true);

Moteur2(100,true);

}


Et là tu fais avancer ton robot à la vitesse moyenne.
si tu met 0 au lieu de 100, le moteur n'avance pas et si tu mets 255, il va à fond
si tu met false au lieu de true, tu vas en arrière, si tu le fais que sur un seul moteur tu tournes sur toi-même.
Fais des tests en modifiant les valeurs.


Si tu veux, ensuite pouvoir commander ton robot avec ton PC, change ton programme avec celui que tu trouveras sur la page:
http://www.dfrobot.c...SKU:_DRI0001%29

Et là, je pense que tu dois y arriver tout seul.


A bientôt.

Arobose.

#4 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp
  • Interests:https://t.me/pump_upp

Posté 22 juillet 2011 - 06:39

LOL je ne les pas acheté , j'ai fait de la récupération pour le chassie , c'est clair qu'il ne pète pas de mine,

sinon pour les codes que tu ma passé je les positionne comment???

#5 Astondb8

Astondb8

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 111 messages
  • Gender:Male
  • Location:Paris

Posté 22 juillet 2011 - 08:35

Bonjour

La tête pleine ou pas pleine avec ce qu'Arobasse t'a donné il te reste a faire 3gois Ctrl-C et Ctrl-v pour en terminner avec ton code.
Très sincairement, je ne vois pas ce qui pourrait t'empêcher d'y arriver ;-)

Cdlt
Yves

 


#6 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp
  • Interests:https://t.me/pump_upp

Posté 22 juillet 2011 - 09:10

Ses bons, ça fonctionne , il faut que je fasse des réglages sur la vitesse des deux motoréducteurs.

Merci arobose grasse a toi je vais pouvoir avancé sur mon robot.

Voici le résultat de mon programme.



#include <Servo.h>
int vitesse1 = 6;
int vitesse2 = 5;
int direction1 = 7;
int direction2 = 4; 

int capteur = 0; // broche analogique utilisé pour connecter le capteur
int val;        // variable pour lire la valeur de la broche analogique

Servo myservo;// créer un objet de servo pour contrôler un servomoteur
 

void Moteur1(int valeur_vitesse, boolean sens_avant)
{
analogWrite(vitesse1,valeur_vitesse); //valeur_vitesse = 0 à l'arrêt, et 255 pour vitesse maximum
if(sens_avant)
{
digitalWrite(direction1,HIGH);
}
else
{
digitalWrite(direction1,LOW);
}
}
 
void Moteur2(int valeur_vitesse, boolean sens_avant)
{
analogWrite(vitesse2,valeur_vitesse); //valeur_vitesse = 0 à l'arrêt, et 255 pour vitesse maximum
if(sens_avant)
{
digitalWrite(direction2,HIGH);
}
else
{
digitalWrite(direction2,LOW);
}
} 


void setup()
{
  
myservo.attach(2);    // attache le servo sur la broche 2 à l'objet servo
int i;
for(i=4;i<=8;i++)
pinMode(i, OUTPUT); //met les pin 4,5,6,7 en mode sortie 
}
 
void loop()
{
  
val = analogRead(capteur);       // lit la valeur du capteur (valeur comprise entre 0 et 115)
val = map(val, 0, 115, 0, 300); // l'échelle pour l'utiliser avec le servo (valeur entre 0 et 300)
myservo.write(val);            // définit la position d'asservissement en fonction de la valeur à l'échelle
delay(1000);                  // attend que le servo pour y arriver
 
if (val <= 170) // si on est à moins de quelque cm d'un obstacle

{
  Moteur1(0,true);          //j’arrête le moteur 1
 Moteur2(0,true);          // j’arrête le moteur 2
 delay(300);              //j’attends quelque secondes
  Moteur1(255,true);     //j'avance le moteur 1 a fond
 Moteur2(0,true);       // j’arrête le moteur 2
 delay(400);           //j’attends quelque secondes
  Moteur1(255,true);  //J'avance tout droit en mettant les 1 moteurs à fond
 Moteur2(255,false); //J'avance tout droit en mettant les 2 moteurs à fond
 
}
else
{
 Moteur1(255,false);
 Moteur2(255,true); 
}
  
}


#7 Luj

Luj

    Habitué

  • Membres
  • PipPip
  • 295 messages
  • Gender:Not Telling

Posté 22 juillet 2011 - 11:06

Heureusement que Arobose passait par là. J'ai bien reçu ton message hier mais tu fais tellement de fautes que tu en as même fait une à ton adresse : j'ai reçu des retours "adresse inexistante"... un comble quand même :)

Bonne continuation avec ton robot.

#8 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp
  • Interests:https://t.me/pump_upp

Posté 22 juillet 2011 - 11:30

Oui je suis d’acore avec toi , mais je débute dans la robotique aussi et dans la programmation , donc il est normal que je peine un peux.

Mais je ferai de mon mieux pour la prochaine fois.

#9 Astondb8

Astondb8

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 111 messages
  • Gender:Male
  • Location:Paris

Posté 23 juillet 2011 - 01:33

Je sais, je suis dans le meme cas (débutant) et heureusement qu'il existe quelques âmes charitables pour nous sortir du petrain de temps a autre.
Je te disais simplement sue Arobasse t'avait tout donné. Et qu'il ne restait plus qu'à le copier dans ton IDE. Mais il est vrait que lorsque l'on débute il n'est pas toujour évident de se rendre compte de ce qui manque ou pas.

Cdlt
Yves

 


#10 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp
  • Interests:https://t.me/pump_upp

Posté 23 juillet 2011 - 11:29

Je suis tous ta fait d'acore avec toi.

Mais il et vrais con si paire beaucoup dans le domaine de la robotique.

#11 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp
  • Interests:https://t.me/pump_upp

Posté 23 juillet 2011 - 01:44

Merci encore arobose.

#12 arobose

arobose

    Nouveau membre

  • Membres
  • 62 messages
  • Gender:Male
  • Location:Meyreuil-France
  • Interests:Robotique
    Informatique
    Electronique

Posté 23 juillet 2011 - 03:15

Hello Seb,

Heureux d'avoir pu être utile. Et merci à Luj et Astondb8 pour leurs messages sympas.

Maintenant que tu as une base logicielle fonctionnelle, tu dois pouvoir progresser tranquillement, sans te presser en faisant évoluer ton robot pour qu'il soit plus performant. Par exemple, detecter où il y a un un obstacle, à gauche, à droite, devant. S'en ecarter ou devier,... Bref, tu as plein de possibilités et ça te permettra de faire d'une pierre deux coups: apprendre à coder et faire progresser ton robot.

A bientôt.


Arobose.

#13 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

  • Membres
  • PipPipPipPipPip
  • 1 193 messages
  • Location:https://t.me/pump_upp
  • Interests:https://t.me/pump_upp

Posté 23 juillet 2011 - 06:06

Bonsoir arobose oui je conte le faire évoluer est m'améliorer dans la programmation et je te remercie encore de ton aide. j'ai une question aussi c'est possible de contrôler mon robot avec mon pc , en gros mon pc c'est la télécommande de mon robot c'est possible ça???

#14 julkien

julkien

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 23 juillet 2011 - 07:07

Bonsoir arobose oui je conte le faire évoluer est m'améliorai dans la programmation est je te remerci encore de ton aide. j'ai une question aussi cest possible de contrôler mon robot avec mon pc en gros mon pc cest la télécommande de mon robot cest possible sa???



tout est possible!
tu as une idée plus precise de ce que tu veux ? sans fil par exemple ?
si c'est le cas il existe tout un tas de module qui te permet la communiquation en µc et pc ( xbee, ir )

bonne continuation

#15 zeroc00l

zeroc00l

    Nouveau membre

  • Membres
  • 40 messages
  • Gender:Male

Posté 23 juillet 2011 - 07:21

Bonsoir arobose oui je compte le faire évoluer et m'améliorer dans la programmation et je te remercie encore de ton aide. j'ai une question aussi c'est possible de contrôler mon robot avec mon pc en gros mon pc c'est la télécommande de mon robot c'est possible ça???


C'est possible oui, mais pour ce faire, un minimum de connaissance en programmation est nécessaire (dans le cas de la création d'un logiciel pour contrôler le robot, à moins qu'il existe un tel programme déjà tout fait, mais si tel est le cas, inintéressant de télécharger un programme et de ne pas comprendre comment il fonctionne, sinon autant acheter un jouet :)).
Avec en plus une méthode de communication sans fil, Xbee , Wifi ...

Et donc je te conseil, d'apprendre un peut plus sérieusement le langage utilisé par la DFRduino (même langage que les Arduino ?) et part la suite, utiliser un module de communication et la création d'un petit logiciel pour contrôler ton robot.

Imaginons que tu ai pour projet de faire cet application, juste pour contrôler le déplacement de ton robot, je pense qu'il ressemblerais à ça:


Application serveur (possible ?) sur ta DFRduino :
  • Écoute sur le réseau de la communication
  • Recoit un message
  • Fait une action en fonction du message reçu


Application Cliente sur ton pc (Python, Java ..) :
  • Se connecte à ta DFRduino
  • Envoie un message

Exemple
Ton logiciel client(sur ton pc) se compose de 4 boutons de direction (haut, droit, bas, gauche).

Cas d'utilisation:
En cliquant sur le bouton flèche droite de ton logiciel, elle envoie le message 'vas à droite' à ton application serveur, qui elle, exécute l'action de faire tourner le robot vers la droite.
Idem pour les 3 autre boutons


PS: je n’ai pas encore construit mon premier robot, donc mon point de vue ne vient que de mon expérience en tant que développeur et en matière de programmation client-serveur ...

En espérant ne pas avoir parlé en chinois,
Cordialement.

#16 Luj

Luj

    Habitué

  • Membres
  • PipPip
  • 295 messages
  • Gender:Not Telling

Posté 23 juillet 2011 - 08:03

Oui DFRduino = Arduino.

Concernant le client serveur, il est préférable selon moi que le robot soit un client et le PC le serveur. Il a ainsi la maîtrise de son autonomie avec peu de ressources. J'ai fait un article sur le contrôle à distance et différents types de communications

#17 zeroc00l

zeroc00l

    Nouveau membre

  • Membres
  • 40 messages
  • Gender:Male

Posté 23 juillet 2011 - 08:23

Oui DFRduino = Arduino.

Concernant le client serveur, il est préférable selon moi que le robot soit un client et le PC le serveur. Il a ainsi la maîtrise de son autonomie avec peu de ressources. J'ai fait un article sur le contrôle à distance et différents types de communications


Un client envoi des donnée et le serveur les utilise, ce n'est pas la traduction littérale d'un modèle client serveur ?

Tu voudrai dire en gros, que le Serveur (interface PC) envoi carrément le bout de code qui fait une action et que le client exécute le bout de code ?

Aurais tu le lien de ton article ? :) (pas assez chercher pour avoir trouver. :()


PS: ha tien, pas de contrôle sur la date en timestamp des citations ?

#18 julkien

julkien

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 23 juillet 2011 - 08:31

Un client envoi des donnée et le serveur les utilise, ce n'est pas la traduction littérale d'un modèle client serveur ?

Tu voudrai dire en gros, que le Serveur (interface PC) envoi carrément le bout de code qui fait une action et que le client exécute le bout de code ?

Aurais tu le lien de ton article ? :) (pas assez chercher pour avoir trouver. :()


PS: ha tien, pas de contrôle sur la date en timestamp des citations ?


tien voila un lien de pobot qui parle du code pour controlé les servo d'un robot


http://www.pobot.org...mande-pour.html


et sur pobot il plein d'autre article
avec cette article luj est passé au rangs 1 de mes heros, desolé jbot t'as etait retrogradé! ;)

#19 zeroc00l

zeroc00l

    Nouveau membre

  • Membres
  • 40 messages
  • Gender:Male

Posté 23 juillet 2011 - 08:48

tien voila un lien de pobot qui parle du code pour controlé les servo d'un robot


http://www.pobot.org...mande-pour.html


et sur pobot il plein d'autre article
avec cette article luj est passé au rangs 1 de mes heros, desolé jbot t'as etait retrogradé! ;)


Merci.
Donc au final ton application sur Arduino est dans le modèle PC(Client) - Arduino(Serveur).
Car c'est l'Arduino qui s'occupe de traiter et de transformer les informations reçues.
Et encore, dans le programme de l'article, l'Adruino ne se contente que d'afficher les informations, pas de contrôler les servomoteurs ou autres.
Enfin je suis pas un expert, ni même amateur (dans quelque jours :P ) en matière de robotique, mais pour moi le client doit être le pc et le serveur, l'arduino.
Question de point de vue :)

#20 julkien

julkien

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 032 messages
  • Gender:Male

Posté 23 juillet 2011 - 08:55

mais pour moi le client doit être le pc et le serveur, l'arduino.
Question de point de vue :)

enfin pas celon mon avi l'arduino reste dependant du pc il releve et envois les info au pc qui les traites ensuite le pc lui renvoi les ordres car les programme sur arduino reste "limité" de par ça memoire enfin tout depent ce que tu veux faire bien entendu

il y a une expression "chinoise" qui dit je site : "qui de la poule ou de l'oeuf est arrivé le premier"^^



Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users