Partage
  • Partager sur Facebook
  • Partager sur Twitter

Cela me paraissait simple...

    14 juin 2013 à 19:51:56

    Bonjour à tous,

    étant un inconditionnel de votre site quand il s'agit d'apprendre, je me suis donc lancé sur le sujet arduino.

    Comme d'habitude c'est très bien expliqué, mais j'ai un petit soucis...je suis au Chapitre 4 et j'ai voulu extrapoler dans mon coin.

    je ne cherche qu'a faire un auto maintient pour allumer et éteindre la led avec qu'un seul bouton.

    j'essais plein de magouille mais là je bloque, si quelqu'un pouvait m'aider?

    merci d'avance, et bon week-end à tous!!!

    • Partager sur Facebook
    • Partager sur Twitter
      14 juin 2013 à 20:35:44

      Donne le code, ça sera plus simple, mais la comme ça je vois une variable qui dit l'état de la led. Et une fonction qui allume (et change donc la variable)  ou éteint la led (inverse l'état), je ne vois pas où tu peux bloquer ;).
      • Partager sur Facebook
      • Partager sur Twitter
        14 juin 2013 à 20:43:43

        voilà mon code :
        const int bouton = 2; //le bouton est connecté à la broche 2 de la carte Adruino
        const int led = 13; //la LED à la broche 13
        int val_led=LOW;
        int etat_bouton; 
        void setup()
        {
           pinMode(led, OUTPUT); //la led est une sortie
           pinMode(bouton, INPUT); //le bouton est une entrée
        }
        void loop()
        {
        //lecture de l'état du bouton d'incrémentation
           etat_bouton = digitalRead(bouton);
           if((val_led==HIGH) && (etat_bouton == LOW))
           {
            val_led=LOW; 
             digitalWrite (led, LOW);
           }
           if ((val_led==LOW)&&(etat_bouton==LOW))
           {
             val_led=HIGH;
             digitalWrite (led,HIGH);
           }
        }
        la led s'éteint, mais ne se rallume plus...
        merci d'avance
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          14 juin 2013 à 20:57:11

          Normal ... Lorsque ton premier "if" est exécuté, le second devient vrai aussi :) Un else (ou elseif) me semble donc plus indiqué. J'ai jamais employé ARDUINO, mais c'est la lecture du code qui me fait dire ça.
          • Partager sur Facebook
          • Partager sur Twitter
            14 juin 2013 à 21:06:25

            Comme la dit pierre_24, si tu passe la valeur à LOW, juste en dessous l'état de la led n'aura pas changé (pas de digital_read donc pour ton programme on garde celui du début), En fait ta LED s'allume bien (je suis sur que si tu fais un delay élevé entre les deux if tu le verrais et à la fin), mais ça va bien trop vite pour ton oeil.

            Quand tu as plusieurs conditions à suivre, évite de prendre plusieurs if à la suite. Mais fais plutôt une structure en if, else if, else. Par contre contrairement à pierre 24 ne met pas ici de else (ça marchera sans doute, j'ai du mal à réfléchir ce soir et j'ai la flemme de prendre mon ardui) mais ici tu oublierais les cas ou ton bouton est en HIGH (c'est pas préférable, sauf si tu t'en rends compte je trouve).

            Bonne soirée

            • Partager sur Facebook
            • Partager sur Twitter
              15 juin 2013 à 8:16:40

              ooook merci,

              ou l'autre solution serait d'utiliser un front montant non?

              mais peut-on le faire sur arduino?

              • Partager sur Facebook
              • Partager sur Twitter

              Cela me paraissait simple...

              × 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