Go Down

Topic: Du monde à controler (Read 3973 times) previous topic - next topic

meiko

Jan 28, 2013, 06:39 pm Last Edit: Jan 28, 2013, 07:23 pm by Jean-François Reason: 1
bonsoir à tous,

J'envisage de faire fonctionner un robot commandé par joystick par arduino.

Le robot en question dispose de 7 moteurs DC 12V, 3servos, 3 Led.
Je souhaite utiliser des joysticks analogique prélevés d'une radio-commande de modélisme pour contrôler les moteurs. ( Marche AV/marche AR) donc utilisation de pont en H.
Je doit pouvoir faire varier la vitesse d'un seul moteur. n°7 sur le schéma.

http://www.casimages.com/img.php?i=130128063657372913.jpg

Je voudrais aussi contrôler:  3 servos à l'aide de potentiomètres.
                                      L'intensité lumineuse de 3 LED, 1 LED indépendante, les deux autres couplées. par potentiomètre aussi.
Le souci, est que je ne suis pas un expert en arduino, donc avant d'aller plus loin, je voulais savoir si cela était faisable de controler tout ce monde la  avec une carte arduino uno r3 et quelques éléments?

Je suis conscient que la programmation risque d'être complexe mais si oui, pouvez vous m'éclairé sur les raccordements de tout ces éléments.

schizophrene

Salut,

Je pense que, pour commencer, tu devrais apprendre à contrôler chaque élément indépendamment: d'une part, tu apprendras à créer ton code pour chaque partie. D'autre part, tu te rendras compte du nombre de pins à utiliser en tout pour ton robot.

A savoir qu'avec une UNO, il est possible d'ajouter des expandeurs d'entrées/sorties assez facilement, pour en arriver à un nombre assez impressionnant.

meiko

Merci beaucoup schizophrene.

Donc c'est faisable avec une uno R3 et quelque shields :)
Admet-on que je réussisse à faire un code pour chaque éléments.
Je peux mettre tout les codes les un à la suite des autres pour que le programme fonctionne?

schizophrene


Admet-on que je réussisse à faire un code pour chaque éléments.
Je peux mettre tout les codes les un à la suite des autres pour que le programme fonctionne?


Oui et non: si tu les mets à la suite, chaque portion de code sera exécutée à la suite. Il faudra les imbriquer dans des structures conditionnelles, des boucles, pour que ton robot réagisse comme tu le veux.

skywodd

Bonjour,

Je partirai plutôt sur une mega2560, avec une UNO il n'y aura pas assez d'entrées analogique et de sorties numérique ...
On peut toujours prendre une UNO + multiplexeur analogique (CD4067) mais ça ne ferait que compliquer les choses à mon avis.
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

schizophrene

Entièrement d'accord, surtout quand un considère que le plus difficile est la programmation. Tout dépend après de la volonté de meiko :)

meiko

Merci pour vos réponses :)

Le truc c'est que j'ai l'arduino uno R3.
Pour la prog, en effet j'ai pu voir ici et la que de mettre bout à bout le programme ne sera pas évidents.
J'ai plutôt intérêt à réaliser un bon schéma pour le repérage et valider tout ça et de faire le programme d'une seule fois.
Bon, je débute tout juste et commence à lire les montages et programmations que je vois sur le net, plus ça va mieux je comprend, c'est bon signe ;)

Vous parler de multiplexeur analogique (CD4067), en restant sur une uno R3, je n'aurait donc pas le choix si je veux réaliser cette config avec cette carte?
Je serais partant la dessus, mais compliqué comment :smiley-eek-blue:
Si la prog est complexe mais réalisable je suis ok, hormis celle-ci, je voulais avant toute chose disposer ou de déterminer tout les éléments (cartes) nécessaire à la réalisation, comme le nombre de "CD4067B multiplexer";  tb6612fng ou  "L298N" ect... afin de pouvoir réaliser un schéma et me donner une idée du dispositif électronique complet pour que cela puisse fonctionné.

skywodd


Pour la prog, en effet j'ai pu voir ici et la que de mettre bout à bout le programme ne sera pas évidents.
J'ai plutôt intérêt à réaliser un bon schéma pour le repérage et valider tout ça et de faire le programme d'une seule fois.
Bon, je débute tout juste et commence à lire les montages et programmations que je vois sur le net, plus ça va mieux je comprend, c'est bon signe ;)

Conçois ton programme en fonctions morceau par morceau, ça facilitera grandement son développement son intégration.
Faire tout le code d'un coup c'est un peu utopique, mais pas impossible ;)


Vous parler de multiplexeur analogique (CD4067), en restant sur une uno R3, je n'aurait donc pas le choix si je veux réaliser cette config avec cette carte?
Je serais partant la dessus, mais compliqué comment :smiley-eek-blue:
Si la prog est complexe mais réalisable je suis ok, hormis celle-ci, je voulais avant toute chose disposer ou de déterminer tout les éléments (cartes) nécessaire à la réalisation, comme le nombre de "CD4067B multiplexer";  tb6612fng ou  "L298N" ect... afin de pouvoir réaliser un schéma et me donner une idée du dispositif électronique complet pour que cela puisse fonctionné.

Il reste cependant un point à ne pas négliger : la taille de la mémoire RAM et Flash.
Tu peut très bien ajouter des multiplexeurs & co un peu partout au final c'est le code qui risque de ne pas passer en mémoire.
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

meiko


Conçois ton programme en fonctions morceau par morceau, ça facilitera grandement son développement son intégration.
Faire tout le code d'un coup c'est un peu utopique, mais pas impossible ;)

Par contre avant de pouvoir faire le programme il faut que je réalise le schéma du montage afin de pouvoir faire la déclaration des entrées/sorties?


Il reste cependant un point à ne pas négliger : la taille de la mémoire RAM et Flash.
Tu peut très bien ajouter des multiplexeurs & co un peu partout au final c'est le code qui risque de ne pas passer en mémoire.

Aie, en effet, je suis limité à 32KB...
En considèrent un joystick comme deux potentiomètres.
Cela me fait 7 potentiomètres pour les moteurs,
                  3     //              pour les servomoteurs
                  2      //             intensité éclairage (LED)
                  2 capteurs voie d'eau (affichage par led sur console de contrôle)
Se qui fait 14 Entrées c'est bien ça?
Un CD4067 Multiplexer me permettrais de rajouter 16 sorties, donc un seul devrait suffire.

skywodd


Par contre avant de pouvoir faire le programme il faut que je réalise le schéma du montage afin de pouvoir faire la déclaration des entrées/sorties?

C'est la première chose à faire avant même de coder / monter quoi que ce soit, prendre une feuille, un crayon et réfléchir.


Aie, en effet, je suis limité à 32KB...
En considèrent un joystick comme deux potentiomètres.
Cela me fait 7 potentiomètres pour les moteurs,
                  3     //              pour les servomoteurs
                  2      //             intensité éclairage (LED)
                  2 capteurs voie d'eau (affichage par led sur console de contrôle)
Se qui fait 14 Entrées c'est bien ça?
Un CD4067 Multiplexer me permettrais de rajouter 16 sorties, donc un seul devrait suffire.

Pour le hardware tu doit pouvoir t'en sortir sans trop de problème.
Réfléchis plutôt au software, voir ce qu'il va falloir que tu fasses et comment.
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

meiko

Yes, je vois ça. Merci skyodd.

Par contre, je regarde les multiplexeurs, notamment le composant "4067". Lorsque je regarde les référence sur:
http://www.alldatasheet.fr/view.jsp?Searchword=CD4067
Je vois qu'il y en a une multitude, ex: B; BE; BF; BF3A....... :~ De plus, y a une autre référence qui diffère pour le même composant (en rouge sur la photo)

Savez vous comment choisir ce composant?

skywodd


Je vois qu'il y en a une multitude, ex: B; BE; BF; BF3A....... :~

Ce sont les "sous références" du circuit, normalement les différences sont minimes et dans ton cas ça ne changera pas grand chose.


De plus, y a une autre référence qui diffère pour le même composant (en rouge sur la photo)

C'est le numéro de série (unique) ;)
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

meiko

Merci beaucoup.

Grosso modo, ce serait comme ça?:

schizophrene

Petite erreur: les capteurs ne sont pas connectés à des sorties, puisqu'il faut recueillir leurs informations.

Tu as des capteurs analogiques (pouvant être branchés sur des entrées analogiques du µcontroleur ou sur un multiplexer analogique) et des capteurs numériques (utilisant différent protocoles, comme l'I²C ou le 1-Wire par exemple). Il te faudra obligatoirement utiliser des entrées, et non pas des sorties.

meiko

Ok,
Donc pour les entrées analogique (joysticks) c'est ok avec un multiplexeur 4067.
Et l'autre multiplexeur doit être lui aussi utiliser en entrée en PWM?
Je peux peut être utiliser le composant "pca9685" Je vois qu'il peut gérer les servos mais alors les moteurs 12V DC????
J'avoue que je suis perdu...

Go Up