Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Help Bouton Poussoir pour Servomoteur '" Arduino "



  1. #1
    moha698

    Help Bouton Poussoir pour Servomoteur '" Arduino "


    ------

    Salut à tous j'ai réussi à programmer mon servomoteur mais maintenant je dois le programmer avec un bouton poussoir je m'explique : je veux qu'un appuie le fasse tourner en continuer et des que je ré appui il s’arrête ; le prof m'a donné se programme pour me guider mais ici le moteur ne tourne pas en continue pouvez vous m'aider s'il vous plait ? Je dois rendre ce projet dans 1 semaine :'( !!!

    Programme :

    #include <Servo.h>

    const byte SERVO_A_ANGLE_MIN = 0;
    const byte SERVO_A_ANGLE_MAX = 1;
    const byte SERVO_EN_MOUVEMENT_VERS_ANGLE_ MAX = 2;
    const byte SERVO_EN_MOUVEMENT_VERS_ANGLE_ MIN = 3;

    const int angleMin = 1250;
    const int angleMax = 1750;

    Servo monServo;
    int vitesse = 0;
    int angle = angleMin;
    byte etatServo = SERVO_A_ANGLE_MIN;

    const int pinBouton = 0; /* le bouton est connecté à la broche A0 */

    const boolean PRESSE = true;
    const boolean RELACHE = false;

    boolean etatBouton = RELACHE;

    const byte AUCUN_EVENEMENT = 0;
    const byte EVENEMENT_PRESSE = 1;
    const byte EVENEMENT_RELACHE = 2;

    /*
    * fonctions de gestion du poussoir
    */
    boolean lirePoussoir()
    {
    boolean resultat = RELACHE;
    if (analogRead(pinBouton) > 512) {
    resultat = PRESSE;
    }
    return resultat;
    }

    byte lireEvenement()
    {
    byte evenement;
    boolean nouvelEtat = lirePoussoir();
    if (nouvelEtat == etatBouton)
    evenement = AUCUN_EVENEMENT;
    if (nouvelEtat == PRESSE && etatBouton == RELACHE)
    evenement = EVENEMENT_PRESSE;
    if (nouvelEtat == RELACHE && etatBouton == PRESSE)
    evenement = EVENEMENT_RELACHE;
    etatBouton = nouvelEtat;
    return evenement;
    }

    /*
    * La fonction setup() est exécutée 1 fois
    * au démarrage du programme
    */
    void setup()
    {
    monServo.attach(2);
    }

    /*
    * La fonction loop() est exécutée
    * répétitivement
    */
    void loop()
    {
    /* actualisation de l'angle du servo */
    monServo.writeMicroseconds(ang le);

    angle = angle + vitesse;

    if (angle > angleMax) {
    angle = angleMax;
    vitesse = 0;
    etatServo = SERVO_A_ANGLE_MAX;
    }
    else if (angle < angleMin) {
    angle = angleMin;
    vitesse = 0;
    etatServo = SERVO_A_ANGLE_MIN;
    }

    /* lecture de la commande de l'utilisateur */
    byte evenement = lireEvenement();

    if (evenement == EVENEMENT_PRESSE) {
    switch (etatServo) {
    case SERVO_A_ANGLE_MIN:
    case SERVO_EN_MOUVEMENT_VERS_ANGLE_ MIN:
    vitesse = 1;
    etatServo = SERVO_EN_MOUVEMENT_VERS_ANGLE_ MAX;
    break;
    case SERVO_A_ANGLE_MAX:
    case SERVO_EN_MOUVEMENT_VERS_ANGLE_ MAX:
    vitesse = -1;
    etatServo = SERVO_EN_MOUVEMENT_VERS_ANGLE_ MIN;
    break;
    }
    }

    delay(3);
    }

    -----

  2. Publicité
  3. #2
    moha698

    Re : Help Bouton Poussoir pour Servomoteur '" Arduino "

    UP j'ai carrément modifié le programme est-ce bon ?Arduino.JPG

  4. #3
    Yoruk

    Re : Help Bouton Poussoir pour Servomoteur '" Arduino "

    Il se passe quoi quand le servo arrive en butée ? Ta pièce jointe n'est pas encore visible. Je ne sais pas si c'est bon, il se passe quoi quand tu le fais marcher ? Il y a surement moyen de simplifier...

    PS : place ton code dans des balises [ C O D E ] pour augmenter la lisibilité.
    La robotique, c'est fantastique !

  5. #4
    moha698

    Re : Help Bouton Poussoir pour Servomoteur '" Arduino "

    pour le premier programme quand t'appuie une fois sur un bouton il tourne a droite quand j'appuie une autre fois à gauche sinon le moteur n'est pas en mouvement
    Quand à lautre programme je l'ai pas encore essayé le matériel est au lycée

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

    Re : Help Bouton Poussoir pour Servomoteur '" Arduino "

    Tente et reviens vers nous...

    PS : copie colle simplement tes exemples de code, en le mettant entre balises. Une image rend sont utilisation quasi impossible.

    Code:
    Exemple
    JE ne comprends pas ton digitalwrite...?
    La robotique, c'est fantastique !

  8. #6
    moha698

    Re : Help Bouton Poussoir pour Servomoteur '" Arduino "

    Le truc c'est que j'aimerai un code qui pourrait me servir les gars il me reste plus qu'une semaine et je n'arrive pas à faire démarrer mon projet car j'ai pas de bouton ..

  9. Publicité
  10. #7
    Yoruk

    Re : Help Bouton Poussoir pour Servomoteur '" Arduino "

    On est pas là pour faire ton travail...

    Rappel : Exercices, Devoirs, Projets de fin d'études forum électronique et règles à rappeler

    Si tu répondais plutôt à mes questions...?
    La robotique, c'est fantastique !

Discussions similaires

  1. Réponses: 23
    Dernier message: 31/03/2012, 00h23
  2. Bouton Poussoir "spécial",
    Par f6bes dans le forum Électronique
    Réponses: 4
    Dernier message: 14/02/2010, 11h29
  3. Réponses: 1
    Dernier message: 27/02/2009, 18h46
  4. Aide pour différence entre "eutrombidium rostratus" et "trombidium autumnalis"
    Par arack dans le forum Identification des espèces animales ou végétales
    Réponses: 2
    Dernier message: 26/02/2009, 00h55
  5. "enable" pour servomoteur
    Par Seb344 dans le forum Électronique
    Réponses: 5
    Dernier message: 03/02/2007, 12h22
Découvrez nos comparatifs produits sur l'informatique et les technologies.