Aller au contenu


Photo
- - - - -

telecommande 20 bouton pour arduino


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

#1 Jean-luc83

Jean-luc83

    Membre

  • Membres
  • 20 messages

Posté 06 décembre 2014 - 10:54

Bonsoir à tous,
J aimerai savoir si il est possible d assigner un servo sur un bouton et de se servir de deux autres pour le faire bouger.
Si oui , pouvez vous m aider car je n ai et trouve pas de documentation.
Merci.

#2 Taupiot_Jr

Taupiot_Jr

    Habitué

  • Membres
  • PipPip
  • 232 messages
  • Gender:Male

Posté 07 décembre 2014 - 08:24

Hello,

J'ai pas bien compris ce que tu veux faire..
Tu voudrais assigner un bouton à un servo pour l'enclencher / le déclencher et ensuite avoir deux boutons pour le faire bouger dans le sens horaire ou anti-horaire?

#3 Jean-luc83

Jean-luc83

    Membre

  • Membres
  • 20 messages

Posté 07 décembre 2014 - 11:27

Salut Taupiot_Jr,

Oui C est ma question car j ai plusieurs servos ,je précise je suis novice avec arduino donc je découvre et j apprend le langage.
A l heure actuel, exemple j utilise le bouton 1 pour le sens horaire et le bouton 2 pour l anti-horaire pour servo1
Je souhaiterai avoir, exemple:
Bouton 1 (servo1)
Bouton 2 (servo2)
Bouton 3 (servo3)
Bouton av rapide (horaire) d après sélection du servo
Bouton rt rapide (anti-horaire) d après sélection du servo.
Est ce possible, si oui pouvez vous m aider?
merci d avance.



#4 Taupiot_Jr

Taupiot_Jr

    Habitué

  • Membres
  • PipPip
  • 232 messages
  • Gender:Male

Posté 07 décembre 2014 - 12:19

Alors oui c'est possible, tu veux pouvoir commander 20 servos au total?
Si oui alors il te faut au maximum 22 boutons (1 par servo et les deux de commande).

Sinon il existe d'autres solutions plus optimisées qui sont plus intéressantes.

Que préfères-tu essayer?

#5 Jean-luc83

Jean-luc83

    Membre

  • Membres
  • 20 messages

Posté 07 décembre 2014 - 03:48

Bon déjà avec 3 servos 9g ça ira.
Par la suite je vais devoir utiliser des electrovannes,j ai vu qu il y a des des cartes relais arduino , mais pour le moment j ai vraiment besoin pour mes trois servos.
Je suis curieux donc proposez toujours!

#6 Taupiot_Jr

Taupiot_Jr

    Habitué

  • Membres
  • PipPip
  • 232 messages
  • Gender:Male

Posté 07 décembre 2014 - 04:20

Alors tu as plusieurs options:
1. Un bouton par servo
2. Deux switches
Il en existe certainement d'autres auxquelles je ne pense pas en ce moment..

Donc, quelques détails sur chacune des solutions proposées:
1. Un bouton / servo. Plus simple pour un nombre faible se servos et peu cher.
2. Deux switches, tu dispose donc d'un nombre de possibilités de 2^2 = 4 servos avec.

A toi de voir ce que tu as en stock, ce qui est plus adapté à ton projet ou ce qui te plaît le plus

Si tu as d'autres questions, n'hésite pas!

#7 Jean-luc83

Jean-luc83

    Membre

  • Membres
  • 20 messages

Posté 07 décembre 2014 - 04:30

Excusé moi , si je comprends bien je suis obligé de passer par une carte relais, C est pas possible juste avec le code et ma carte arduino?



#8 Taupiot_Jr

Taupiot_Jr

    Habitué

  • Membres
  • PipPip
  • 232 messages
  • Gender:Male

Posté 07 décembre 2014 - 05:08

Non pas besoin! ;)

Il te faut 5 boutons, des résistances et du fil. Avec ça tu peux brancher tes boutons sur les entrées de ton Arduino et contrôler tes servos.

Apparemment tes servos sont de petits consommateurs. Donc si leur consommation totale est inférieure à 500 mA normalement c'est bon. Les points à contrôler sont la consommation totale des servos, le courant max que peut fournir la patte d'alimentation de ton Arduino et les valeurs des résistances à mettre en série avec tes boutons ;)

#9 Jean-luc83

Jean-luc83

    Membre

  • Membres
  • 20 messages

Posté 07 décembre 2014 - 05:19

Je ne désire pas de bouton sur ma carte , je veux utiliser ma telecommande pour faire ceci.
Mais je n arrive pas à le faire dans mon programme car je ne trouve pas de doc dessus...
Peux tu M aider pour le programme.

#10 Taupiot_Jr

Taupiot_Jr

    Habitué

  • Membres
  • PipPip
  • 232 messages
  • Gender:Male

Posté 07 décembre 2014 - 07:50

Je ne suis plus sûr de tout comprendre..

Tu as déjà une télécommande et tu veux contrôler tes servos avec?

Dans ce cas, quel type de télécommande est-ce?

Pourrais-tu éclaircir plus précisément ce que tu veux, avec quels moyens?

C'est plus facile de t'aider avec toutes les infos ;)

#11 Jean-luc83

Jean-luc83

    Membre

  • Membres
  • 20 messages

Posté 07 décembre 2014 - 08:14

#define TOUCHE_On/Off 16753245
#define TOUCHE_MENU 16769565
#define TOUCHE_TEST 16720605
#define TOUCHE_PLUS  16712445 
#define TOUCHE_Annuler 16761405
#define TOUCHE_Retour rapide 16769055
#define TOUCHE_Lecture 16754775
#define TOUCHE_Avance rapide 16748655
#define TOUCHE_0 16738455
#define TOUCHE_MOINS 16750695  
#define TOUCHE_C 16756815
#define TOUCHE_1 16724175
#define TOUCHE_2 16718055
#define TOUCHE_3 16743045
#define TOUCHE_4 16716015
#define TOUCHE_5 16726215
#define TOUCHE_6 16734885
#define TOUCHE_7 16728765
#define TOUCHE_8 16730805
#define TOUCHE_9 16732845

int brocheRecepteur = 3;
int brocheLED = 13;

#include <Servo.h>
Servo servo1;         
Servo servo2;
Servo servo3;
int pos = 0;

#include <IRremote.h> 
IRrecv monRecepteur(brocheRecepteur);
decode_results serieImpulsions;

unsigned long codeTouche = 0;
 
void setup()
   { 
   servo1.attach(10); 
   servo2.attach(9);
   servo3.attach(8);
   pinMode(brocheRecepteur, INPUT);  
   pinMode(brocheLED, OUTPUT);
   monRecepteur.enableIRIn();
   Serial.begin(9600);
   } 

void loop()
   { 
   if ( monRecepteur.decode( &serieImpulsions ) ) 
   {
     codeTouche = serieImpulsions.value ; 
     monRecepteur.resume();
   }

   if ( codeTouche == TOUCHE_8 )
    {
      digitalWrite( brocheLED, HIGH );      
    }
   
   if ( codeTouche == TOUCHE_9 )
    {   
       digitalWrite( brocheLED, LOW );  
    }
    
    if ( codeTouche == TOUCHE_1 )
    {
      for(pos = 0; pos <= 180; pos += 1)
      {
        servo1.write(pos);
       delay(15);
      }
      for(pos = 180; pos>=0; pos-=1)
      {
        servo1.write(pos);
        delay(15);
      }
      
  } 
     if ( codeTouche == TOUCHE_2 )
    {
      servo2.write(180);
      delay(1000);
      servo2.write(90);
      delay(1000);
      servo2.write(0);
    }
    if ( codeTouche == TOUCHE_3 )
    {
      servo3.write(0);
      delay(1000);
      servo3.write(90);
      delay(1000);
      servo3.write(180);
    }
}

    

     

 

 



#12 Jean-luc83

Jean-luc83

    Membre

  • Membres
  • 20 messages

Posté 07 décembre 2014 - 08:25

Voilà je désire utiliser les touches 1,2 et 3 pour sélectionner/désélectionner mes servos et je souhaite les faire bouger avec les touches retour rapide et avance rapide selon la sélection du servo.
Je ne trouve pas de documentation sur la télécommande pour pouvoir faire ce que je veux donc je demande de l aide pour comprendre et faire le changement nécessaire sur le programme.
Je reste à ta disposition s'il te faut autre chose pour m'expliquer.

#13 Jean-luc83

Jean-luc83

    Membre

  • Membres
  • 20 messages

Posté 07 décembre 2014 - 09:30

J ai oublié je désire que mes servos bougent au pas de 1 avec les av et rt rapide

#14 Taupiot_Jr

Taupiot_Jr

    Habitué

  • Membres
  • PipPip
  • 232 messages
  • Gender:Male

Posté 07 décembre 2014 - 11:21

Okay, visiblement tu utilises une télécommande infrarouge et la librairie IRemote.

Apparemment cela fonctionne puisque tu as pu lire les valeurs de chaque touche, c'est juste?

 

 

Ensuite, le code que tu as uploadé fonctionne? Si oui, alors il te faut réfléchir a une solution qui te permette d'exécuter ta volonté ;)

 

Tu pourrais créer une fonction qui te permette de contrôler le servo X. Avec une fonction switch tu pourrais choisir le servo et ensuite dans le case donner les infos du servo à la fonction de contrôle.

La fonction pourrait être controlServo(avec en paramètre le servo à contrôler). Ensuite tu écris à l'intérieur de cette fonction le code permettant de contrôler le servo selon les deux touches avance et retour rapide (puisque se sera le même code pour n'importe quel servo, tout ce qui change c'est de savoir quel est le servo à contrôler, chose que l'on saura par le paramètre donné).



#15 Jean-luc83

Jean-luc83

    Membre

  • Membres
  • 20 messages

Posté 08 décembre 2014 - 07:33

Salut,
Merci pour le temps que tu m'accordes, oui ma télécommande fonctionne et oui ce code fonctionne, comme j ai dit dans les messages précédents, j aimerais réussir à attribuer chaque servo sur les touche 1 , 2, 3 et réussir à les faire bouger d un pas de 1 dans les deux sens selon av et rt rapide.
Je vais chercher une explication concernant le switch sur le site arduino car j aime apprendre et comprendre. Il me semble que j ai déjà vu sur certains codes ce fameux switch avec case et break.
Par la suite je vais essayer de faire un code avec la fonction switch et si je n y arrive pas , pourrions nous faire ensemble un exemple que je puisse utiliser par la suite pour faire mon code?
en tout cas merci.

#16 Taupiot_Jr

Taupiot_Jr

    Habitué

  • Membres
  • PipPip
  • 232 messages
  • Gender:Male

Posté 08 décembre 2014 - 10:11

Okay, alors je te laisse regarder cette condition qui devrait t'aider ;)

Fais quelques essais et fait nous part de tes problèmes et de tes solutions.

Si tu restes bloqué on pourra essayer d'écrire un code d'exemple qui te parleras

Bon travail :D

#17 Jean-luc83

Jean-luc83

    Membre

  • Membres
  • 20 messages

Posté 09 décembre 2014 - 08:16

Merci à toi, je vais y travailler.

#18 Jean-luc83

Jean-luc83

    Membre

  • Membres
  • 20 messages

Posté 16 décembre 2014 - 09:17

Bonsoir Taupiot_Jr,
Je pensais que c était plus simple que ça mais non je suis face à un mur à cause de mon inexpérience dans ce domaine.
J ai vraiment besoin d aide sur ce coup là,si t es toujours ok merci de M aider.

#19 Taupiot_Jr

Taupiot_Jr

    Habitué

  • Membres
  • PipPip
  • 232 messages
  • Gender:Male

Posté 16 décembre 2014 - 09:23

Hello,

Oui bien sûr, qu'est-ce qui te bloque exactement?

As-tu compris le fonctionnement du switch.. Case? Et as-tu réussi à l'appliquer dans un petit exercice?

#20 Jean-luc83

Jean-luc83

    Membre

  • Membres
  • 20 messages

Posté 16 décembre 2014 - 09:58

J ai bien trouvé les documentations du switch sur le site officiel mais je n arrive pas à le mettre en pratique avec l ir pour faire ce que je souhaite.j ai rien trouvé sur le controlServo.




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

0 members, 0 guests, 0 anonymous users