arduino, servomoteur et bouton poussoir
Répondre à la discussion
Page 1 sur 3 12 DernièreDernière
Affichage des résultats 1 à 30 sur 69

arduino, servomoteur et bouton poussoir



  1. #1
    Anolis57

    arduino, servomoteur et bouton poussoir


    ------

    Bonjour tout le monde !
    Je voulais savoir si c'était possible de commander un servomoteur avec un bouton poussoir. En faite , lorsque j'appui sur le BP, le servo se positionne a un angle bien précis.
    Est ce possible ? Je ne trouve aucun tuto parlant de cela. Quelqu'un aurait il un lien ?
    Merci d'avance pour vos réponses

    -----

  2. #2
    DAUDET78

    Re : arduino, servomoteur et bouton poussoir

    Citation Envoyé par Anolis57 Voir le message
    de commander un servomoteur
    Tu parles d'un servo , genre modèle réduit qui se pilote avec PWM à 1,5/20ms ?
    lorsque j'appui sur le BP, le servo se positionne a un angle bien précis.
    Un peu léger comme demande !
    Tu appuies sur ton bouton . OK
    Tu sais que tu dois aller à une position programmée en mémoire. Donc tu génères un PWM précis . Et après ????????
    J'aime pas le Grec

  3. #3
    Anolis57

    Re : arduino, servomoteur et bouton poussoir

    Merci de m'avoir répondu.
    oui je parle d'un servomoteur qui se pilote en pwm.
    Et apres ? Le servomoteur attend un certain temps (par exemple 5000 milisec) et ensuite revien a sa position initiale (pour ouvrir et fermer un loquet par exemple).

  4. #4
    DAUDET78

    Re : arduino, servomoteur et bouton poussoir

    Ben, tu n'as plus qu'a faire un organigramme et écrire le programme (prévoir les phases de ralentissement/accélération pour limiter la casse)
    PS : un servo pour bouger un loquet ... c'est le luxe !
    Dernière modification par DAUDET78 ; 21/07/2015 à 17h21.
    J'aime pas le Grec

  5. A voir en vidéo sur Futura
  6. #5
    Anolis57

    Re : arduino, servomoteur et bouton poussoir

    J'ai tenter de faire un petit programme qui ne fonctionne pas.
    tu peut me dire pourquoi ? Ca m'aiderait surement

    Code:
    #include <Servo.h>;
    const int bouton = 4;
    Servo monservo;
    int etatbouton;
    
    void setup() {
      pinMode(bouton, INPUT);
      monservo.attach(2);
      etatbouton = HIGH;
    }
    
    
     void loop()
    {
        etatbouton = digitalRead(bouton); 
        
        if(etatbouton == HIGH) 
        {
            monservo.write(180); 
        }
        else  
        {
            monservo.write(0);
        }
    }
    merci beaucoup d'avance
    Dernière modification par Jack ; 21/07/2015 à 17h37. Motif: Ajout balises [code]

  7. #6
    DAUDET78

    Re : arduino, servomoteur et bouton poussoir

    Moi, le C, ce n'est pas ma tasse de thé
    Mais, à priori (sauf erreur de syntaxe que je ne peux pas voir) :
    - si le bouton est haut, tu mets le servo à 180°
    - si le bouton est bas, tu mets le servo à 0°

    Ce qui ne correspond pas à ta demande en #3
    J'aime pas le Grec

  8. #7
    Anolis57

    Re : arduino, servomoteur et bouton poussoir

    La j'ai mis 180 degres en exemple, mais je le change selon l'angle qu'il me faut (que je ne connais pas encore).
    Et le code ne fonctionne pas, ou sont les erreurs ?

  9. #8
    antek

    Re : arduino, servomoteur et bouton poussoir

    Citation Envoyé par Anolis57 Voir le message
    La j'ai mis 180 degres en exemple, mais je le change selon l'angle qu'il me faut (que je ne connais pas encore).
    Et le code ne fonctionne pas, ou sont les erreurs ?
    DAUDET78 t'as dit ce que fait ton code.

    Quand on débute on a tendance à vouloir arriver rapidement au résultat, et on finit par tourner en rond . . .

    Commence par écrire un logigramme avec des détections et des actions, comme une sorte de grafcet (en graphique, pas en phrases !)
    Par exemple
    - BP pressé ? -> 2 branches O et N
    - branche O -> générer pwm, attendre Ns, stopper pwm

    Une fois fait ça on programme plus "logiquement"
    Dernière modification par antek ; 21/07/2015 à 18h10.

  10. #9
    invite03481543

    Re : arduino, servomoteur et bouton poussoir

    Bonsoir,

    ton programme ne risque pas de fonctionner, étant donné que ton appui BP n'est pas du tout filtré...
    Donc à la vitesse à laquelle va le µC il va "tilter" sur chaque rebonds de ton BP.

    Autre problème, ce code n'est pas à proprement parlé du C, il exploite des macro commandes de ton compilateur dont on ignore totalement la syntaxe.
    Par exemple:

    Code:
    monservo.write(180);
    pourquoi 180??
    On ne sait rien sur ton quartz, ni sur ton schéma, ni sur ta maquette.
    Ca fait beaucoup (trop) d'inconnues.
    On ne le dira jamais assez, on est pas devant votre maquette, donc détaillez vos demandes.
    Dernière modification par HULK28 ; 21/07/2015 à 18h19.

  11. #10
    invite03481543

    Re : arduino, servomoteur et bouton poussoir

    Et moi un code C qui n'a même pas de main() je ne le lis même pas.

  12. #11
    maxpeigne

    Re : arduino, servomoteur et bouton poussoir

    Citation Envoyé par Anolis57 Voir le message
    J'ai tenter de faire un petit programme qui ne fonctionne pas.
    tu peut me dire pourquoi ? Ca m'aiderait surement
    Essais d'allumer une led en même temps que tu positionnes ton servo à 180° pour voir si l'acquisition du bouton est bonne.

  13. #12
    Yoruk

    Re : arduino, servomoteur et bouton poussoir

    Citation Envoyé par HULK28 Voir le message
    Et moi un code C qui n'a même pas de main() je ne le lis même pas.
    C'est normal pour du code arduino... La boucle principale est la fonction loop().

    @DAUDET78 -> ton analyse est bonne.

    @Anolis57 -> Tu veux que la position du servo reste à 180° bouton poussoir maintenu appuyé ? Dans ton code, c'est comme ça actuellement (aux erreurs et à l'inversion de niveau près)

    Donne ton schéma.
    La robotique, c'est fantastique !

  14. #13
    invite03481543

    Re : arduino, servomoteur et bouton poussoir

    C'es bien ce que je dis, ce n'est pas du C mais de l'argot sans intérêt.

  15. #14
    sandrecarpe

    Re : arduino, servomoteur et bouton poussoir

    C'est normal que tu n'es pas le comportement attendu.
    Quand tu fais un appui simple (tu appuis et tu relâche aussitôt), la condition est vérifié seulement pendant le temps où tu maintiens appuyé ton bouton, mais dès que tu le relâches, la condition n'est plus vérifiée et le servo revient à sa position de départ. Au final, le servo aura sûrement même pas eu le temps de bouger. En revanche, ici, tant que tu restes appuyé, le servo va se déplacé jusqu'à atteindre son angle de 180° (à moins que tu relâches avant la fin de sa course, et là, il va retourner à son angle de départ). Donc ce n'est pas ce que tu veux.

    La syntaxe de Monsieur est correct. monservo est un objet. C'est donc du C++, pas du C.
    monservo.write(180);
    180 c'est l'ange auquel tu veux tourner

    Pour avoir le comportement attendu, ce que tu peux faire, c'est gérer le bouton avec les interruptions qu'arduino te permet. C'est-à-dire qu'on va "capter" lorsqu'une broche change d'état et lorsque cet événement ce produit, on va exécuter une fonction
    https://www.arduino.cc/en/Reference/AttachInterrupt
    Dernière modification par sandrecarpe ; 22/07/2015 à 08h55.

  16. #15
    Anolis57

    Re : arduino, servomoteur et bouton poussoir

    Merci de m'avoir répondu.
    J'ai donc rajouter une led a mon programme, et elle s'allume lorsque j'appui sur le bouton. Donc d'ou vient le problème ?
    Sandrecarpe, pour l'instant, même si le servo est activer uniquement le temps de l'appui sur le bouton, ca n'est pas grave, on verra ce problème la plus tard. Pour l'instant, lorsque j'appui sur mon bouton, la LED s'allume et pas mon servomoteur. Ou est le problème ?
    Cordialement.

  17. #16
    invite03481543

    Re : arduino, servomoteur et bouton poussoir

    Ce n'est ni du C++ ni du C j'insiste.
    Ces 2 langages ont des définitions claires et se doivent d'y être conforme pour prétendre à ces appellations trop dévoyées.

  18. #17
    sandrecarpe

    Re : arduino, servomoteur et bouton poussoir

    Essai sur la pin 9 ou 10 pour voir. Sinon change ton angle, il est peut-être déjà à 180° ^^

  19. #18
    invite03481543

    Re : arduino, servomoteur et bouton poussoir

    Dans votre jargon arduinesque que signifie ça:

    Code:
    void setup() {
      pinMode(bouton, INPUT);
      monservo.attach(2);
      etatbouton = HIGH;
    }
    on voit que etatbouton = HIGH;
    Cela veut-il dire que le port est en entrée à 1?
    Auquel cas vu que la condition d'appui est HIGH il ne va rien se passer.
    En d'autres termes ton BP est relié au + ou à la masse quand tu appuies?
    Dernière modification par HULK28 ; 22/07/2015 à 09h09.

  20. #19
    sandrecarpe

    Re : arduino, servomoteur et bouton poussoir

    C'est vrai qu'il y a quelques trucs pas net avec arduino...comme le type byte, en C++ il n'y en a pas

  21. #20
    sandrecarpe

    Re : arduino, servomoteur et bouton poussoir

    Citation Envoyé par HULK28 Voir le message
    Dans votre jargon arduinesque que signifie ça:

    Code:
    void setup() {
      pinMode(bouton, INPUT);
      monservo.attach(2);
      etatbouton = HIGH;
    }
    on voit que etatbouton = HIGH;
    Cela veut-il dire que le port est en entrée à 1?
    Auquel cas vu que la condition d'appui est HIGH il ne va rien se passer.
    Non c'est juste une variable qui mémorise un niveau logique. HIGH est un define qui vaut 1. On peut se passer de cette ligne (la dernière de la fonction)
    Dernière modification par sandrecarpe ; 22/07/2015 à 09h12.

  22. #21
    Yoruk

    Re : arduino, servomoteur et bouton poussoir

    Citation Envoyé par HULK28 Voir le message
    Dans votre jargon arduinesque que signifie ça:

    Code:
    void setup() {
      pinMode(bouton, INPUT);            -> le port numéro BOUTON est configuré en sortie
      monservo.attach(2);                -> le broche numéro 2 est associée à "monservo"
      etatbouton = HIGH;                 -> on passe la variable etatbouton à l'état HAUT  (PS : variable déclarée en tant qu'entier, bof bof)
    }
    Et on t'a demandé un schéma !

    EDIT : Grillé
    La robotique, c'est fantastique !

  23. #22
    Anolis57

    Re : arduino, servomoteur et bouton poussoir

    J'ai changer l'angle, de 180 je suis passer a 90 mais toujours pareil, rien ne se passe niveaux servo.
    Qu'est ce que je dois essayer de mettre a la pin 9 ou 10 ?

    P.S: Le schema arrive

  24. #23
    invite03481543

    Re : arduino, servomoteur et bouton poussoir

    Bouton configuré en sortie tu es bien certain?

  25. #24
    sandrecarpe

    Re : arduino, servomoteur et bouton poussoir

    Citation Envoyé par Anolis57 Voir le message
    J'ai changer l'angle, de 180 je suis passer a 90 mais toujours pareil, rien ne se passe niveaux servo.
    Qu'est ce que je dois essayer de mettre a la pin 9 ou 10 ?

    P.S: Le schema arrive
    esssai un monservo.attach(); sur la pin 9 ou 10

  26. #25
    invite03481543

    Re : arduino, servomoteur et bouton poussoir

    Mon avis est que tu n'accèdes jamais à la condition pour avoir 180°.
    Réponds au moins à ma question concernant son branchement sur ta carte (fermé à la masse ou fermé au +).

  27. #26
    sandrecarpe

    Re : arduino, servomoteur et bouton poussoir

    Affiche des messages dans la console pour savoir ou tu en es dans ton programme

  28. #27
    Anolis57

    Re : arduino, servomoteur et bouton poussoir

    Comment je fais pour importer mon schéma fritzing dans la discussion ?

  29. #28
    invite03481543

    Re : arduino, servomoteur et bouton poussoir


  30. #29
    Anolis57

    Re : arduino, servomoteur et bouton poussoir

    Le schema:
    Images attachées Images attachées  

  31. #30
    invite03481543

    Re : arduino, servomoteur et bouton poussoir

    T'appelles ça un schéma?
    Dernière modification par HULK28 ; 22/07/2015 à 09h56.

Page 1 sur 3 12 DernièreDernière

Discussions similaires

  1. Bouton poussoir.
    Par lep.mickael dans le forum Électronique
    Réponses: 6
    Dernier message: 22/01/2015, 16h30
  2. besoin d'aide bouton poussoir avec l'arduino mega
    Par joeman1 dans le forum Électronique
    Réponses: 11
    Dernier message: 20/10/2014, 20h32
  3. Problème bouton poussoir Arduino
    Par moha698 dans le forum Électronique
    Réponses: 8
    Dernier message: 27/04/2014, 17h07
  4. Help Bouton Poussoir pour Servomoteur '" Arduino "
    Par moha698 dans le forum Électronique
    Réponses: 6
    Dernier message: 23/04/2014, 07h11
  5. Bouton poussoir
    Par invite4d36e559 dans le forum Électronique
    Réponses: 4
    Dernier message: 23/06/2005, 14h37
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...