[Exercices] Probleme (Arduino , interrupteur + led)
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Probleme (Arduino , interrupteur + led)



  1. #1
    StevensLucas

    Angry Probleme (Arduino , interrupteur + led)


    ------

    Bonsoir , je suis un étudiant en bachelier (Belgique)

    Je suis actuellement en 2ième bachelier en (Gestion technique des batiments : Domotique)

    J'ai un cours de micro controleur , le problème c'est que le prof nous a donné une exercice côté a faire pour Mercredi , avant 20h.

    Et l'autre problème , c'est que on a pas eu plus d'explication que ça , on a juste eu droit a un arduino en prêt.

    Voici l'énoncé :


    Clignotement de 2 Leds sans interruption dans les conditions suivantes:
    LED1 100% -* LED2 0% > 2s
    LED1 50% -* LED2 50% > 2s
    LED1 0% -* LED2 100% > 2s
    LED1 50% -* LED2 50% > 2s

    Interrupteur ON = Clignotement
    Interrupteur OFF = Aucune Led alimentée

    L’état de l’interrupteur est géré par le microcontrôleur !!

    -----------------

    Et voici ce que j'ai pu trouver , un peu partout (Et le code que j'ai pu faire)

    Code:
    int etatInterrupteur;
    int button = 7;
    int led1 = 2;
    int led2 = 3;
    
    void setup()
    {
      pinMode(led1,OUTPUT);
      pinMode(led2,OUTPUT);
      pinMode(button,INPUT);
    }
    
    void loop()
    {
      etatInterrupteur = digitalRead(button);
    
      if ( etatInterrupteur == LOW ) {
      digitalWrite(led1,luminosite == 255);
      digitalWrite(led2,luminosite == 0);
      delay(500);
      digitalWrite(led1,luminosite == 127);
      digitalWrite(led2,luminosite == 127);
      delay(500);
      digitalWrite(led1,luminosite == 0);
      digitalWrite(led2,luminosite == 255);
      delay(500);
      digitalWrite(led1,luminosite == 127);
      digitalWrite(led2,luminosite == 127);
      delay(500);
      }
      else if ( etatInterrupteur == HIGH )
      {
      digitalWrite(led1,luminosite == 0);
      digitalWrite(led2,luminosite == 0);
      }
    }

    ----------------

    J'utilise actuellement un simulateur d'arduino , ici : https://circuits.io/circuits/4668045...d-circuit/edit
    Les lampes font bien ce qui est demandé (même si il est impossible de voir sur le simulateur le % de la led)
    Mais quand je coupe mon interrupteur , les leds continuent le cycle complet avant de s'arreter , pourquoi ?

    Merci de votre aide , ça fait 4 heures que je suis là dessus et je commence un peu a en avoir marre

    -----
    Dernière modification par JPL ; 18/04/2017 à 00h07. Motif: Ajout de la balise Code (#)

  2. #2
    invite73192618

    Re : Probleme (Arduino , interrupteur + led)

    Parceque tu utilises des delay qui gelent la carte pendant quatre fois 500ms. Tu devrais plutot utiliser une instruction qui regarde si 500 ms se sont ecoules depuis l'instruction precedente.

  3. #3
    StevensLucas

    Re : Probleme (Arduino , interrupteur + led)

    Et comment est-ce que je dois faire ça ? Pourrais-je avoir une partie de code , si c'est possible ? Je n'en ai vraiment aucune idée

  4. #4
    Yvan_Delaserge

    Re : Probleme (Arduino , interrupteur + led)

    il faut utiliser millis().
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

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

    Re : Probleme (Arduino , interrupteur + led)

    Ca ne m'aide pas du tout :/ Je n'ai jamais utilisé de le millis()

  7. #6
    invite73192618

    Re : Probleme (Arduino , interrupteur + led)

    Voici un exemple (pour ne pas trop te mâcher le travail non plus ).

    Code:
    void setup(){
      pinMode(7,INPUT);
      pinMode(2,OUTPUT);
      debut=millis(); 
    }
    
    void loop(){
      bouton = digitalRead(7);
      if (bouton == LOW) 
        time = millis() - debut; 
        if (time < 500) {
          digitalWrite(2,0);
        else if (time < 1000)
          digitalWrite(2,255);
        else
          debut=millis();
      else
          digitalWrite(2,0);    
      }
      delay(42); 
    }
    Dernière modification par Jiav ; 18/04/2017 à 16h03.

  8. #7
    sandrecarpe

    Re : Probleme (Arduino , interrupteur + led)

    Salut,
    C'est l'objet d'un des premiers tutoriels d'arduino
    https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay

Discussions similaires

  1. [Autre] Arduino et interrupteur
    Par Whitestain dans le forum Électronique
    Réponses: 1
    Dernier message: 24/03/2017, 10h49
  2. Interrupteur commandé par arduino
    Par veilleur-soy dans le forum Électronique
    Réponses: 21
    Dernier message: 21/05/2015, 13h11
  3. [ARDUINO] Peut-on en faire un interrupteur ?
    Par Peeck dans le forum Électronique
    Réponses: 11
    Dernier message: 03/07/2014, 18h52
  4. branchement interrupteur sur carte Arduino
    Par vincedu56 dans le forum Électronique
    Réponses: 2
    Dernier message: 24/02/2013, 22h43
  5. Interrupteur commandé 5V (arduino) / 230V
    Par inviteccae2c14 dans le forum Électronique
    Réponses: 22
    Dernier message: 17/08/2012, 22h39
Découvrez nos comparatifs produits sur l'informatique et les technologies.