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

Probleme (Arduino , interrupteur + led)



  1. #1
    invite87d9ccdf

    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 à 01h07. Motif: Ajout de la balise Code (#)

  2. #2
    invite6c250b59

    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
    invite87d9ccdf

    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
    invite87d9ccdf

    Re : Probleme (Arduino , interrupteur + led)

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

  7. #6
    invite6c250b59

    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); 
    }

  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 invitef1bffe96 dans le forum Électronique
    Réponses: 1
    Dernier message: 24/03/2017, 11h49
  2. Interrupteur commandé par arduino
    Par invite2a005e36 dans le forum Électronique
    Réponses: 21
    Dernier message: 21/05/2015, 14h11
  3. [ARDUINO] Peut-on en faire un interrupteur ?
    Par invite767a4a54 dans le forum Électronique
    Réponses: 11
    Dernier message: 03/07/2014, 19h52
  4. branchement interrupteur sur carte Arduino
    Par invite49ef489c dans le forum Électronique
    Réponses: 2
    Dernier message: 24/02/2013, 23h43
  5. Interrupteur commandé 5V (arduino) / 230V
    Par inviteccae2c14 dans le forum Électronique
    Réponses: 22
    Dernier message: 17/08/2012, 23h39
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...