Partage
  • Partager sur Facebook
  • Partager sur Twitter

un bouton , un servo, un arduino, plus de cerveau!!!

    6 janvier 2013 à 10:12:26

    bonjour
    levé a 5h30 un dimanche car un problème me tourne en boucle dans la tête:

    :un bouton poussoir doit déclencher plusieurs evenements:
    -un servo moteur qui ferais un aller retour de sa course (0°->180°->0°) ( pour remettre en place l'objet qui bascule et active le bouton)
    -un relais reed (qui perment le declanchement d'un appareil photo)
    - une séquence lumineuse (à définir , mais dans l'idée un peu comme quand on touchait une cible dans les vieux flipper) envoyé sur des transistores qui commandent des lampe en 24 v

    Image utilisateur

    un petit schema , mais je ne sais as si c'est plus claire,

    Si l'arduino commande une animation lumineuse , En cas de bascule de la cible (a gauche rouge jaune blanc sur le dessin)
    sur le bouton, l'arduino doit donc déclencher le relais reed entre lui et l'appareil photo, actionner le servo pour remettre la cible en place ( elle est sur charnière en bleu pale sur le dessin) et déclencher une autre animation lumineuse,
    (je n'ai pas matérialisé les aspect lumineux sur le dessin mais je pense être en mesure de me débrouiller)





    je trouve plein d'exemples de codes avec des bouton et des servo mais c'est toujour du control en temps réel, moi je veux que le servo face un allé retour suite a l’impulsion, qu'une (voir plusieur) broche(s) passe a l'etat haut
    et que le programme reprenne sont train train,



    si ceci inspire un arduiniste chevronné, ca m'aiderait bien

    bonne journée, année....
    • Partager sur Facebook
    • Partager sur Twitter
      6 janvier 2013 à 14:40:00

      J'ai du mal à voir où est ton problème exactement :s

      Tu arrives à faire chaque chose individuellement mais pas toute ensemble ?
      • Partager sur Facebook
      • Partager sur Twitter
        6 janvier 2013 à 14:58:25

        salut, mon probleme, est encore une fois un problème de bouton,
        le debouncing , je maitrise pas, et mon pin 2 fait du yoyo, rien que de mettre une resistance dedans, sans rien mettre au bout et le circuit s'enballe,
        voici le code
        #include <Servo.h> 
        
        Servo myservo;  
        
        
        const int buttonPin = 2;     // bouton sur pin 2
        const int ledPin =  13; // led 13 sortie pour reed 
        
        int buttonState = 0;
        void setup() 
        { 
          pinMode(ledPin, OUTPUT);
          myservo.attach(9);  // servo sur pin 9
          myservo.write(0); //initialise le servo en position repos zero
          delay(20); // pour stabilisation
        } 
        
        
        void loop() 
        {
          buttonState = digitalRead(buttonPin);
          if (buttonState == HIGH) {  // bouton etat haut detecté  
            digitalWrite(ledPin, HIGH);  // led ON
            myservo.write(178);       // va en butée inverse     
            delay(500);  // stabilisation 250 ms
            digitalWrite(ledPin, LOW);  // led OFF
            myservo.write(10); // retour en zero
            delay(20); // pour stabilisation 
        
          } 
        }
        • Partager sur Facebook
        • Partager sur Twitter
          6 janvier 2013 à 15:23:59

          (pour la balise code tu peux mettre "C" ou "C++" plutot que autre pour avoir une coloration syntaxique)

          comment ca le circuit s'emballe ? car avec une tempo de 500ms comme tu as tu ne devrais pas avoir de problèmes de rebond du tout
          • Partager sur Facebook
          • Partager sur Twitter
            6 janvier 2013 à 15:51:55

            comme si un fau contact engendrais des parasites qui font fonctionner le circuit aléatoirement, le simple fait d'introduire un cable ou une résistance (non branché a l'autre extrémité) me fait deconner le montage, j'ai bien essayé de mettre une resistance de 10k sur le bouton, rien y fait
            • Partager sur Facebook
            • Partager sur Twitter
              6 janvier 2013 à 16:49:54

              arf, je viens de me rendre compte que dans le setup il te manque
              pinMode(buttonPin, INPUT);
              


              pour mettre la broche du bouton en entrée
              • Partager sur Facebook
              • Partager sur Twitter
                6 janvier 2013 à 18:50:46

                pas mieux :'(
                je desespere, meme en alimentant le servo depuis une autre source
                • Partager sur Facebook
                • Partager sur Twitter
                  6 janvier 2013 à 22:29:44

                  si tu fait un circuit simple du genre "un appui j'allume la LED et un autre appui je l'éteins" ca marche correctement ? (et quand je dis correctement c'est 100% de bon fonctionnement, tout les appuis font la chose attendu)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    7 janvier 2013 à 10:26:36

                    une bonne nuit de sommeil, et sans rien changer tout est rentré dans l'ordre.... mon rationalisme en prend un coup, j'aimerais bien parvenir a recréer le truc pour comprendre, en tout cas merci a toi, maintenant je voudrais rajouter rajouter un "chenillard" sur le système,

                    par exemple des lampes (un peut comme un vieux flipper ou un manege par exemple je possède 8 lampes un peu retro que je voudrais voir d'allumer une après l'autre sur une séquence reguliere (ou même fantaisiste), mais qui s'allumeraient toutes ensemble en cas de contact sur mon bouton genre flash 3x
                    avec des transistores (j'ai plein de pict31c)

                    les exemples ne manques pas sur le net pour coder ca mais ce qui m’embête c'est qu'il me semble que je vais perdre le coté instantané non? comment melanger le code d'un chenillard je ne comprend pas bien les histoires d'unteruption,
                    • Partager sur Facebook
                    • Partager sur Twitter

                    un bouton , un servo, un arduino, plus de cerveau!!!

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown