Partage
  • Partager sur Facebook
  • Partager sur Twitter

Hygromètre

Je ne comprend pas mon erreur

    25 avril 2020 à 16:11:33

    Bonjour, je viens vers vous car mon programme na pas l'aire de marche je comprend pas do'ou pourrait venir le problème, je vous expose donc la situation. Je souhaite faire allumer différente led suivant le taux d'humidité, les valeur sont approximative mais c'est déjà pour tester le programme.

    Ce que je souhaite faire c'est de <25 la led orange s'allume, >75 la led rouge s'allume et entre 26 et 74 la verte s'allume

    Pour ca jutilise une fonction mappage pour faire passer la valeur de 0 a 1023 de 0 a 100 %

    Pour ca j'utilise comme matériel :

    Arduino Uno

    Capteur Hygro Yl-69 et HC-38

    3 Led ( Rouge, Orange Verte )

    Voici le programme que j'ai fait 

    int pinHumidity=A0;
    int valHumidity=0;
    int pinLedR=8;
    int pinLedO=9;
    int pinLedV=10;
    
    void setup() {
    Serial.begin(9600);
    pinMode(pinLedR,OUTPUT); //Mode OUTPUT pour le pin de LEDRouge
    pinMode(pinLedO,OUTPUT); //Mode OUTPUT pour le pin de LEDOrange
    pinMode(pinLedV,OUTPUT); //Mode OUTPUT pour le pin de LEDVerte
    }
    
    void loop() {
     valHumidity=analogRead(0); // valeur humidity = a la valeur analogique 0 (AO)
      int valInter=map(valHumidity,0,1023,1,100); // transformation plage valeur en %
       if (valInter>75){
        digitalWrite(pinLedR,HIGH); //75% = led rouge
      } 
     else if (valInter<25){  
       digitalWrite(pinLedO,HIGH); //>25 % = led orange
     }
      else if (valInter<=26 && valInter>74){  
       digitalWrite(pinLedV,HIGH); // entre 26 et 74 % = led verte
     } 
      delay (2000);
    
    }

    Le problème est que le moniteur n'affiche rien et les led ne s'allume pas, merci d'avance

    En complément voici le montage :

    • Partager sur Facebook
    • Partager sur Twitter
      25 avril 2020 à 17:16:55

      Je ne sais pas trop pour ton programme, mais tu as oublié de mettre des résistances en série avec les leds.

      Pourquoi tu ne debogues pas ton programme en affichant les valeurs de valInter dans le terminal?

      -
      Edité par zoup 25 avril 2020 à 17:18:12

      • Partager sur Facebook
      • Partager sur Twitter
        25 avril 2020 à 22:11:17

        Bonjour,

        comme dit zoup, c'est une très bonne pratique d'afficher des informations dans le terminal afin de deboguer son code! Sa te permettra de localiser ou ça bloque

        else if (valInter<=26 && valInter>74){ 
           digitalWrite(pinLedV,HIGH); // entre 26 et 74 % = led verte
         } 

        ce bout de code ne correspond pas a ton attente, et aussi la valeur de valInter de 25 & 75 n'est pas prise en compte.

        else if (valInter >= 25 && valInter <= 75){ 
           digitalWrite(pinLedV,HIGH); // entre 25 et 75 % = led verte
         } 


        Concernant ton câblage, il n'est pas nécessaire de raccorder le HC38 au GND?

        -
        Edité par Need 25 avril 2020 à 22:14:39

        • Partager sur Facebook
        • Partager sur Twitter
          25 avril 2020 à 23:55:10

          Mdr quel debile je fait en -_-" j'essaye ca tout de suite, pareil pour la résistance , le code pareil je modif ;) Merci a vous
          • Partager sur Facebook
          • Partager sur Twitter

          Hygromètre

          × 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