Aller au contenu


Photo
- - - - -

Les bases de mon robot


  • Veuillez vous connecter pour répondre
23 réponses à ce sujet

#1 ivr49

ivr49

    Membre

  • Membres
  • 24 messages

Posté 04 novembre 2011 - 12:45

Bonjour,
je parcoure le forum depuis quelques jours afin d'idendifier mes besoinset j'avoue qu'a force je ne sais plus vers quoi me diriger.
D'abord mon envie de fabriquer un petit robot est venu du faite que je pratique depuis un an1/2 l'hélico rc et j'ai eu envie de recyclé les piéces que j'ai accumulé.
J'ai donc commençé par faire un petit robot téléguidé ( avec ma télécommande hélico ) et des servos modifié sur une petite planche de bois avec des couvercle de pot de bébé en guise de roue ! :wacko:
Enfin tous ça pour dire que j'ai choppé le virus!!
Maintenant , je voudrais aller plus loin mais avec quoi?
Je voudrais faire un petit robot autonome et téléguidable à la fois.
Voici donc mes premiéres questions
Si j'ai bien compris la carte ARDUINO est un incontournable mais laquel ?
Si pour faire avancer mon robot j'utilise des servos modifié suis-je obligé de rajouter une carte pour les commandé (shield = carte supplémentaire ?)ou l'arduino va suffire.
Pour la télécommande , au début je voulais utilisé ma radiocommande d'hélico ( 6 voies ) mais je crois que je vais me compliquer la vie et en plus je risque de manquer de voies si je veut mettre plus de 4 servos sur mon robot ( déjà 2 pour les roues), donc j'ai cru voir une petite télécommande Ir sur un autre poste qui serait peut-etre mieux mais je ne sais pas comment cela fonctionne ( un pin sur la arduino par bouton de la télécommande ?)
Si en plus vous pouviez me donner des sites de vente à distance en france pour commencer mes emplêtes cela serait le top! merci de m'avoir lu et à bientôt.

#2 Microrupteurman

Microrupteurman

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 210 messages
  • Gender:Male
  • Location:Aquitaine,Gironde

Posté 04 novembre 2011 - 12:56

Salut a toi moussaillon.

Pour debuter une arduino Uno ou duemilanueve ca va .

Ensuite pour te servir de tes servos comme moteur, je te conseil de fair un petit regulateur ( la carte arduino ne suporterai pas)
Pour faire un regulateur, il te faut : 1 lm7805, 2condensateur( 100uf par ex) et une plaque d'essais pour les souder dessus.
Quand tu aura ca je te metrai le shema.

La telecommande, effectivement nos radio RC c'est la galere,
Pour la commande IR il n'y a pas un fil par bouton (heueusement!) mais un fil de signal qui envoi differrent signal.

Pour faire tes emplete
zartronic et robotshop

Ensuite il faudra aussi apprendre a programmé, Mon lien

 
Page Facebook : https://www.facebook...appartelier2.0/
Page Twitter :  https://twitter.com/2Appartelier (bateau seulement)
Boutique Robot-Maker : https://www.robot-ma...er-20/produits/

Besoin d'une impression 3D grand format ? Contactez moi !
 


#3 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

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

Posté 04 novembre 2011 - 01:05

Donc en gros tu veux faire un robot autonome qui évite des obstacles est qui soie télécommandé ??

Sinon oui il te faudra une carte Arduino ( c’est la carte mère )

Si tu rajoutes 2 ou 4 motoreducteur, il va te falloir une carte Cartes d'extension ( shield ).

Sinon ça ne marchera pas voir ça cramera ta carte arduino.

Est, il me semble , mais peut être que je me trompe , si tu, mais 4 motoreducteur il va te falloir des suspension

est si tu, mais que 2 motoreducteur il va te falloir une roue folle.

Pour la télécommande IR , elle a un capteur infrarouge se capteur comporte 3 files 1 fils rouge le + que tu branches sur la

pin +5V ou la pin +3V3.

Un fils noir la masse que tu branches sur une pin GND

Est un fils vert c'est un fils digital que tu branches sur une pin digital

Pour les achats de té composant vas consulté se sujet tu trouveras
des liens

#4 Microrupteurman

Microrupteurman

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 210 messages
  • Gender:Male
  • Location:Aquitaine,Gironde

Posté 04 novembre 2011 - 01:21

Si tu rajoute 2 ou 4 motoreducteur il vas te faloire une carte Cartes d'extension ( shield ).

Sinon sa ne marchera pas voir sa cramera ta carte arduino.


Il veut mettre des servo pour avancer, pas des motoreducteur, douc un simple regulateur de tension sufirai.

 
Page Facebook : https://www.facebook...appartelier2.0/
Page Twitter :  https://twitter.com/2Appartelier (bateau seulement)
Boutique Robot-Maker : https://www.robot-ma...er-20/produits/

Besoin d'une impression 3D grand format ? Contactez moi !
 


#5 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

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

Posté 04 novembre 2011 - 01:24

À OK désolé microrupteurman2 , mais au moment que tu as répondu moi j'aité en train décrire donc on c'est croisé comme on dit , bon, et puis ça luit donne une étendue de se que je luis écrie

#6 ivr49

ivr49

    Membre

  • Membres
  • 24 messages

Posté 04 novembre 2011 - 01:36

merci de vos réponses.
effectivement je pensais partir sur une base de 2 roue motrice + 1 roue folle.
si j'ai bien compris microrupteurman2 , tu me propose de fabriquer une petite carte de puissance pour relayer l'alim des servos ? pourquoi pas mais cela va m'obliger à m'équiper un peu plus çà !!
Et oui seb0300 je voudrais faire un robot qui peut soit vadrouiller tous seul ou alors recevoir des ordres de la télécommande ( en gros un mode auto et un mode manuel ) , mais je ne sais pas encore si c'est réalisable.
Je parts bosser mais je vais regardé les sites que vous m'avez indiquer et je reviendrais vous demandé si ma petite liste de course est cohérente.

#7 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

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

Posté 04 novembre 2011 - 01:46

Et oui seb0300 je voudrais faire un robot qui peut soit vadrouiller tous seul ou alors recevoir des ordres de la télécommande ( en gros un mode auto et un mode manuel ) , mais je ne sais pas encore si c'est réalisable.


Et si cela et possible , moi-même je les réalisé se projet vas jeté un
cou d’œil sur un de mais sujet Mais je ne suis pas le seule , sur se forum qui a pu réalisé un projet de se genre la.
.

#8 Microrupteurman

Microrupteurman

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 210 messages
  • Gender:Male
  • Location:Aquitaine,Gironde

Posté 04 novembre 2011 - 01:47

Oui ton projet et realisable, seb l'a fait.

si j'ai bien compris microrupteurman2 , tu me propose de fabriquer une petite carte de puissance pour relayer l'alim des servos


c'est ca. y en a pour moin de 5€.

Et tu doit sans doute avoir un fer a souder qui traine par la !


la pastille en haut a gauche c'est le + (Vin) conecter au + de ta batterie.
la pastille en bas a gauche c'est le - (Gnd conecter au - " "
la pastille " a droite " le + (Vout) vert tes servo
" " en haut " le - (Gnd) vert tes servo

le composant au milieu est le regulateur lm7805
les deux autre, les condensateurs.

Image(s) jointe(s)

  • reg.png

 
Page Facebook : https://www.facebook...appartelier2.0/
Page Twitter :  https://twitter.com/2Appartelier (bateau seulement)
Boutique Robot-Maker : https://www.robot-ma...er-20/produits/

Besoin d'une impression 3D grand format ? Contactez moi !
 


#9 Black Templar

Black Templar

    Membre

  • Membres
  • PipPipPipPipPip
  • 1 430 messages
  • Gender:Male
  • Location:Lille

Posté 04 novembre 2011 - 02:04

si j'ai bien compris microrupteurman2 , tu me propose de fabriquer une petite carte de puissance pour relayer l'alim des servos


le composant au milieu est le regulateur lm7805
les deux autre, les condensateurs.


Donc ce n'est pas une carte de puissance (qui transforme le signal de commande en puissance)
Mais une carte d'alimentation (qui, à partir d'une source te tension élevé te fournis une source de tension régulé plus faible.

++
Black Templar

Mon site internet : http://ferdinandpiette.com/


#10 ivr49

ivr49

    Membre

  • Membres
  • 24 messages

Posté 04 novembre 2011 - 06:22

bon , j'ai fiat ma petite liste :

- 1 kit arduino avec des d'autres composants qui pourront me servir
- deux moteurs ( en faite je me dits qu'il vaut mieux partir avec de bonne base )
- la carte qui va bien pour les moteurs
- les roues
- 1 capteur de distance
- 1 cable de liaison pour programmer la carte

Dîtes-moi si j'oublie quelques chose ?
Ah si pour alimenté la carte j'ai vu qu'e l'on pouvait mettre une pile carrée 9 V ou 1 boitier de logement de piles mais pour les servos , moteurs et capteur je doit rajouté une alim séparé ou je le fait avec la carte ?

j'ai regardé si les sites que vous m'avez indiqué mais je ne trouvait pas tous et j'ai trouvé celui-ci . Connaissez-vous se site et pouvez-vous me dire si je peut commandé sans problême?

#11 ivr49

ivr49

    Membre

  • Membres
  • 24 messages

Posté 06 novembre 2011 - 02:28

juste pour dire que j'ai passé commande!!
Je n'ai pas pris le câble de liaison carte/pc car il est fournit avec le kit et j'ai pris un autre type de moto réducteur et roue ( juste pour une histoire de prix ).
Maintenant y a plus qu'a attendre !!
Après J’aurais surement d'autre questions pour vous ;)

#12 ivr49

ivr49

    Membre

  • Membres
  • 24 messages

Posté 06 novembre 2011 - 05:07

En attendant les pièces pour commencer mes expérimentions, j'ai télécharger le logiciel ARduino et j'ai essayé de faire un premier code pour mùon robot afin de me familiariser.
Je vous le soumets pour avoir vos avis sur la structure et le principe de codage pour savoir si je suis dans le vrai ou pas.

But du code:
donné des ordres de direction au robot pour le fonctionnement en mode manuel.
j'ai supposé que mes touches de la télécommande était:
1 > marche avant
2 > tourne a droite
3 > tourne a gauche
4 > stop
5 > passage au mode manuel


// essaie de programmation
// je doit importer la librairie Ir pour la télécommande mais je la trouve pas
int moteurdegauche = 1; //je déclare le moteur gauche sur la pin 1
int moteurdedroite = 2; //je déclare le moteur de droite sur la pin 2
int telecommande = 0; // je declare le signal de la telecommande sur le pin analogique 0
int valcommande = 0; // valeur de la telecommande

void MANUEL()
{
if (valcommande == 1); // si valcommande est égale à 1 (1 est la valeur correspondant à une touche , mais je pense que c'est faut )
{
digitalWrite ( moteurdegauche,HIGH); // mets le moteur de gauche en marche
digitalWrite ( moteurdedroite,HIGH); // mets le moteur de droite en marche
}
if (valcommande == 2 );
{
digitalWrite ( moteurdegauche,HIGH); // mets le moteur de gauche en marche
digitalWrite ( moteurdedroite,LOW); // mets le moteur de droite a l'arret ( donc je tourne a droite )
}
if (valcommande == 3 );
{
digitalWrite ( moteurdegauche,LOW); // mets le moteur de gauche a l'arret
digitalWrite ( moteurdedroite,HIGH); // mets le moteur de droite en marche ( donc je tourne a gauche )
}
if (valcommande == 4 );
{digitalWrite ( moteurdegauche,LOW); // mets le moteur de gauche a l'arret
digitalWrite ( moteurdedroite,LOW); // mets le moteur de droite a l'arret ( donc le robot est a l'arret )
}
}

void setup()
{
pinMode (moteurdegauche,OUTPUT); // je déclare le pin du moteurdegauche en sortie
pinMode (moteurdedroite,OUTPUT); // je déclare le pin du moteurdedroite en sortie
pinMode (telecommande,INPUT); // je déclare le pin de la telecommande en entré
digitalWrite (moteurdegauche,LOW);// je déclare le moteurdegauche en position 0 par defaut
digitalWrite (moteurdedroite,LOW);// je déclare le moteurdedroite en position 0 par defaut
}

void loop()
{
valcommande = analogRead (telecommande); // je demande de lire la pin de la telecommande et de mettre la valeur dans valcommande
if (valcommande == 5 ); // 5 est valeur d'une touche de la telecommande pour passer en mode manuel ( valeur adefinir )
{
MANUEL;
}
}



Vous avez dû remarquer qu'il n' y a pas de marche ARRIERE.
En faite , je ne sais pas comment faire pour faire tourner les moteurs dans l'autre sens!!!!!



























    
  













[/quote]

#13 Black Templar

Black Templar

    Membre

  • Membres
  • PipPipPipPipPip
  • 1 430 messages
  • Gender:Male
  • Location:Lille

Posté 06 novembre 2011 - 05:15

Salut !

Ton code ne marchera pas.
D'après le manuel de ta carte de puissance, le signal moteur est à envoyer sur les pins 5 et 6. Pour faire tourner le moteur dans le sens inverse, il faut changer la valeurs des pin 4 et 7.


void loop()
{
   valcommande = analogRead (telecommande); // je demande de lire la pin de la telecommande et de mettre la valeur dans valcommande
   if (valcommande == 5 ); // 5 est valeur d'une touche de la telecommande pour passer en mode manuel ( valeur adefinir )
   {
 	MANUEL;
   }
}

Là, ça ne marchera pas.
D'abord MANUEL est une fonction. Il faut donc l'appelé comme cela : MANUEL();

Ensuite, valcommande est une variable globale. Si tu appuis sur 5, tu entre dans ta fonction manuel. Là, tu appuis sur avancer, donc valcommande ne va plus valoir 5 et tu sort du mode manuel...
Le mieux, c'est que tu ais une variable "manuel_flag" que tu passes à true ou a false à chaque fois que tu appuis sur 5. Pour savoir si tu es en manuel, il te suffira de faire
if(manuel_flag)
	MANUEL();

++
Black Templar

Mon site internet : http://ferdinandpiette.com/


#14 ivr49

ivr49

    Membre

  • Membres
  • 24 messages

Posté 07 novembre 2011 - 01:31

un grand merci à toi pour tes lumières!
Grâce à ton lien , j'ai ( je pense ) pu faire un code correcte qui me permette de commandé mes moteurs.
Ta remarque sur le faite que l'appuie d'une touche autre que 5 va changer la valeur de 5 et donc perturber le fonctionnement est très pertinente.
Mais je ne suis pas sûr d'avoir bien compris la méthode à utilisé !!!

si j'ai bien compris:
- je crée une variable ( int manuel_flag ) que je passe en mode binaire ( boolean)
- je fait une ligne de code qui change l’état de manuel_flag ( true ou false ) quand j'appuie sur 5
- ensuite j’aurai juste à lire l’état de ma variable ( true ou false ) pour savoir en quel mode je suis.

En plus j'ai vu sur ton poste " robot explorateur " que j'allais avoir la même télécommande que toi.
Juste pour infos pourrait-tu me dire ou a-tu trouvé la librairie IRremote ? je ne l'ai pas vu sur la librairie du logiciel arduino.
Le code que tu as mis est pour lire les valeurs envoyé par la télécommande , mais comment je fais pour pouvoir les lire sur mon PC ?
Mon but étant de comprendre et de pouvoir faire les choses par moi même plutôt que de faire des copier/coller et ne pas comprendre ce que je fais!

#15 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

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

Posté 07 novembre 2011 - 02:04

Juste pour infos pourrait-tu me dire ou a-tu trouvé la librairie IRremote ? je ne l'ai pas vu sur la librairie du logiciel arduino.
Le code que tu as mis est pour lire les valeurs envoyé par la télécommande , mais comment je fais pour pouvoir les lire sur mon PC ?


Voila la bibliothèque IRremote

Après pour lire les valeurs envoyer de la télécommande pour les lire sur ton PC tu fais comme se si

tu, mais en route le logiciel arduino tu, mais ton code tu branches ton câble sur ta carte arduino est tu valides , après sur ton logiciel

arduino ta se petit logo
Image IPB c'est le serial monitor tu clic dessus tu vas avoir une

Petite fenêtre qui vas s'ouvrir , est la tu envoies chaque pression de tes touches de ta télécommande et ça t'envoie des chiffres sur le serial monitor .

#16 Black Templar

Black Templar

    Membre

  • Membres
  • PipPipPipPipPip
  • 1 430 messages
  • Gender:Male
  • Location:Lille

Posté 07 novembre 2011 - 07:33

si j'ai bien compris:
- je crée une variable ( int manuel_flag ) que je passe en mode binaire ( boolean)
- je fait une ligne de code qui change l'état de manuel_flag ( true ou false ) quand j'appuie sur 5
- ensuite j'aurai juste à lire l'état de ma variable ( true ou false ) pour savoir en quel mode je suis.


Tout à fait.


Le code que tu as mis est pour lire les valeurs envoyé par la télécommande , mais comment je fais pour pouvoir les lire sur mon PC ?
Mon but étant de comprendre et de pouvoir faire les choses par moi même plutôt que de faire des copier/coller et ne pas comprendre ce que je fais!


En fait, je décode le signal IR envoyé par la télécommande à l'aide de la bibliothèque Arduino. Ensuite, j'envoie les données via le port COM. Dans l'éditeur de code arduino, comme l'a précisé Seb, il y a une console qui permet d'afficher les données reçues par l'arduino via le port COM.
Sinon, j'ai testé avec une télécommande quelconque (la télécommande de ma chaine hifi) et ça marche très bien !!
En gros, il suffit d'un récepteur infra-rouge et d'une télécommande quelconque pour que ça marche via Arduino et la bibliothèque IRremote :)

++
Black Templar

Mon site internet : http://ferdinandpiette.com/


#17 ivr49

ivr49

    Membre

  • Membres
  • 24 messages

Posté 07 novembre 2011 - 08:38

bon si déjà j'ai compris le principe , c'est une bonne chose !! reste à appliquer.
mais faut encore attendre <_< ,ma commande est en cours d'acheminement!!

dans ton code pour la télécommande , je vois que tu branche le récepteur sur le pin2.
c'est un pin analogique ou digital ?
le récepteur doit bien être branché sur un pin analogique ??

#18 seb03000

seb03000

    @pump_upp - best crypto pumps on telegram !

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

Posté 07 novembre 2011 - 09:23

Non c'est digital , tu branches ton récepteur sur une pin digital

#19 ivr49

ivr49

    Membre

  • Membres
  • 24 messages

Posté 07 novembre 2011 - 09:52

Ok!!
Par contre le capteur infra-rouge lui ira bien sur un pin analogique ??

#20 swolf

swolf

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 626 messages
  • Gender:Male

Posté 07 novembre 2011 - 10:08

tu parles de capteur de distance là? si c'est bien ça, alors oui. Il te renvoies une valeur analogique correspondant a la distance de l'obstacle se trouvant devant lui. Cette valeur est convertie en numerique par ton microcontrôleur et tu peux l'exploiter Image IPB
Notre blog, à FJprod et moi: http://2froblog.wordpress.com/




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

0 members, 0 guests, 0 anonymous users