Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    décembre 2018
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 21
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2018
    Messages : 44
    Points : 8
    Points
    8

    Par défaut Erreur de compilation pour la carte Arduino/Genuino Uno

    Bonjour,

    J'ai ce message " Erreur de compilation pour la carte Arduino/Genuino Uno " sur un script qui fonctionnait normalement il y a quelques jours et plus maintenant

    Vous avez une idée ?

    Stéphanie

  2. #2
    Membre régulier Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatique
    Inscrit en
    février 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : février 2013
    Messages : 68
    Points : 124
    Points
    124

    Par défaut

    Bonsoir Stéphanie

    Il fraudait mettre le programme complet (entre balises).
    Il faudrait, aussi, mettre l'erreur complète, en cliquant sur Recopier les messages d'erreur, en bas à droite de l'IDE Arduino et en collant le tout dans le message.

    Bonne soirée
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    décembre 2018
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 21
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2018
    Messages : 44
    Points : 8
    Points
    8

    Par défaut

    Citation Envoyé par jpbbricole Voir le message
    Bonsoir Stéphanie

    Il fraudait mettre le programme complet (entre balises).
    Il faudrait, aussi, mettre l'erreur complète, en cliquant sur Recopier les messages d'erreur, en bas à droite de l'IDE Arduino et en collant le tout dans le message.

    Bonne soirée
    jpbbricole
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    #
    #include "DHT.h"
    #define DHTPIN 2
    #define DHTTYPE DHT22 //#define DHTTYPE DHT11 (pour un capteur DHT11)
     
    DHT dht(DHTPIN, DHTTYPE);
     
    float h = 0;
    float t = 0;
     
    void setup(){
            Serial.begin(9600);
            dht.begin();
    }
     
    void loop(){
            h = dht.readHumidity();
            t = dht.readTemperature();
            if (isnan(t) || isnan(h){
                    Serial.println( "Lecture impossible !");
            }else{
                    Serial.print("Humidite :");
                    Serial.print(h);
                    Serial.print(" %\t");
                    Serial.print("Temperature :");
                    Serial.print(t);
                    Serial.println(" *C");
            }
            delay(1000);
    }
    #
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Arduino : 1.8.7 (Windows 10), Carte : "Arduino/Genuino Uno"
     
    In file included from C:\Users\stephanie\Documents\Arduino\libraries\DHT_sensor_library\DHT_U.cpp:22:0:
     
    C:\Users\stephanie\Documents\Arduino\libraries\DHT_sensor_library\DHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory
     
    compilation terminated.
     
    exit status 1
    Erreur de compilation pour la carte Arduino/Genuino Uno
     
    Ce rapport pourrait être plus détaillé avec
    l'option "Afficher les résultats détaillés de la compilation"
    activée dans Fichier -> Préférences.
    Voila je pense que tu as tout

    En te remerciant

    Stéphanie

  4. #4
    Membre régulier Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatique
    Inscrit en
    février 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : février 2013
    Messages : 68
    Points : 124
    Points
    124

    Par défaut

    Bonjour Stéphanie

    Tu n'as chargé qu'une bibliothèque sur les 2 nécessaires pour cette sonde, comme indiqué sur cette page de tuto.

    Arduino library and example code for DHT sensors
    Adafruit_Sensor library (required by the DHT library above)

    Et tu as une erreur à la ligne

    if (isnan(t) || isnan(h)){

    Il manque cette parenthèse.
    C'est le métier qui entre.

    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    décembre 2018
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 21
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2018
    Messages : 44
    Points : 8
    Points
    8

    Par défaut

    Bonjour,

    Je viens de compiler et ça marche en ayant rajouter tes modifications, effectivement il me reste du travail à faire
    je ferai le montage plus tard

    En te remerciant

    Stéphanie

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    décembre 2018
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 21
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2018
    Messages : 44
    Points : 8
    Points
    8

    Par défaut

    Bonjour,

    Je viens de faire le montage et il fonctionne normalement

    Je vérifierai quand même avec un thermomètre

    Merci encore

    Stéphanie

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    décembre 2018
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 21
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2018
    Messages : 44
    Points : 8
    Points
    8

    Par défaut

    Bonjour,

    Je reprends cette discussion pour savoir comment on pourrait rajouter un écran 16x2 avec i2C afin d avoir un affichage indépendant du pc

    Cordialement

    Stéphanie

  8. #8
    Membre régulier Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatique
    Inscrit en
    février 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : février 2013
    Messages : 68
    Points : 124
    Points
    124

    Par défaut

    Bonjour Stéphanie
    Citation Envoyé par Stéphanie13000 Voir le message
    comment on pourrait rajouter un écran 16x2 avec i2C afin d avoir un affichage indépendant du pc
    En installent la bibliothèque LiquidCrystal_I2C.h, en faisant quelques exemples proposés afin de comprendre la "mécanique" et en adaptant tout ça à ton programme.
    Si tu ne connais pas l'adresse i2C de ton affichage, va voire de ce côté.

    Facile, tu deviens une PRO

    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  9. #9
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    décembre 2018
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 21
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2018
    Messages : 44
    Points : 8
    Points
    8

    Par défaut

    Bonjour,

    Bon je me lance

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    #include <DHT.h>
    #include <DHT_U.h>
     
    #include "DHT.h"
    #define DHTPIN 2
    #define DHTTYPE DHT22 //#define DHTTYPE DHT11 (pour un capteur DHT11)
    float temp;
    int temPin = 2;
    #include <LiquidCrystal_I2C.h> //LCD i2c library
    #define I2C_ADDR 0x27
    LiquidCrystal_I2C lcd(I2C_ADDR,16,2); 
     
     
    DHT dht(DHTPIN, DHTTYPE);
     
    float h = 0;
    float t = 0;
     
    void setup(){
          lcd.init();  
     
    lcd.setBacklight(HIGH);
      lcd.setBacklight(LOW);      
      delay(1000);
      lcd.setBacklight(HIGH);
     
     
            Serial.begin(9600);
            dht.begin();
    }
     
    void loop(){
            h = dht.readHumidity();
            t = dht.readTemperature();
            if (isnan(t) || isnan(h)){
                    Serial.println( "Lecture impossible !");
     
    lcd.setCursor(0,0);
      lcd.print("Temp: ");
        lcd.print(temp);
     
     
     
     
            }else{
                    Serial.print("Humidite :");
                    Serial.print(h);
                    Serial.print(" %\t");
                    Serial.print("Temperature :");
                    Serial.print(t);
                    Serial.println(" *C");
            }
            delay(1000);
    }
    La c'est le code modifié avec l'affichage du moniteur et de l'afficheur lcd i2c, j'ai compilé et ça passe, la température devrait s'afficher mais il me reste l'humidité à rajouter mais je bloque

    j'ai peut être commis des erreurs

    Merci pour votre aide

    Cordialement

    Stéphanie

  10. #10
    Membre régulier Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatique
    Inscrit en
    février 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : février 2013
    Messages : 68
    Points : 124
    Points
    124

    Par défaut

    Bonsoir Stéphanie

    C'est parti fort

    Première remarque, tu a déclaré 2 variables différente pour la température:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    float temp;
    float t = 0;
    Utilises des noms de variables plus explicites, temperatureSonde ou humiditeSonde, parlent plus que t ou h et on comprend tout de suite leur rôle et évite, souvent, de mettre une remarque.

    Tu affiches sur le LCD dans la condition d'erreur!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	if (isnan(t) || isnan(h)){
    		Serial.println( "Lecture impossible !");
    		
    		lcd.setCursor(0,0);
    		lcd.print("Temp: ");
    		lcd.print(temp);
    et, en plus avec la variable temp qui n'est pas utilisée à la lecture de la sonde.

    Pour afficher tes valeurs mets ça après }else{
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    		lcd.setCursor(0,0);
    		lcd.print("Temp: ");
    		lcd.print(t);
     
    		lcd.setCursor(0,1);
    		lcd.print("Humid: ");
    		lcd.print(h);
    A+
    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    décembre 2018
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 21
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2018
    Messages : 44
    Points : 8
    Points
    8

    Par défaut

    Bonjour,

    J'avoue être un peu perdue dans ce code

    J'ai trouvé de code dans un tuto qui me parait plus simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    #
    #include <dht.h> //DHT and LCD libraries
    #include <LiquidCrystal_I2C.h>
     
    #define I2C_ADDR 0x27 
    #define BACKLIGHT_PIN 3
    #define En_pin 2
    #define Rw_pin 1
    #define Rs_pin 0
    #define D4_pin 4
    #define D5_pin 5
    #define D6_pin 6
    #define D7_pin 7
     
    LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
     
    dht DHT; //Declaring the DHT as a dht type to use it later
     
    #define DHT22_PIN 7 //Declaring where the DHT signal pin is wired
     
    void setup(){
      Serial.begin(9600);
                  lcd.begin (16,2);
                lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
                lcd.setBacklight(HIGH);
                lcd.home ();
    }
     
    void loop()
    {
      lcd.clear();
      lcd.setCursor(0,0);
      int chk = DHT.read22(DHT22_PIN); //Reading data from the module
      lcd.print("Temp: ");
      lcd.print(DHT.temperature); //Showing temperature value in Celsius
      lcd.print(" C");
      lcd.setCursor(0,1);
      lcd.print("Humidity: ");
      lcd.println(DHT.humidity); //Showing humidity percentage
      lcd.print(" %");
      delay(2000); //Refreshing every 2s
    }
    #
    Mais je rencontre un problème avec le LCD i2c , pourtant il est bien déclaré

    no matching function for call to 'LiquidCrystal_I2C::LiquidCrystal_I2C(int, int, int, int, int, int, int, int)'

    et j'ai beau chercher je vois pas


    Cordialement

    Stéphanie

  12. #12
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    décembre 2018
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 21
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2018
    Messages : 44
    Points : 8
    Points
    8

    Par défaut

    Bonjour et merci pour votre aide sur ce projet,

    Je reprendrai tranquillement celui ci quand j'aurai plus de temps, je souhaiterais une information sur la nécessité ou pas de rajouter une résistance entre le vcc et la broche 2, j'imagine un pull up, suivant les indications il faut ou pas puisque le dht22 en a deja une

    Cordialement

    Stéphanie

  13. #13
    Membre régulier Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatique
    Inscrit en
    février 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : février 2013
    Messages : 68
    Points : 124
    Points
    124

    Par défaut

    Bonjour Stéphanie
    Citation Envoyé par Stéphanie13000 Voir le message
    no matching function for call to 'LiquidCrystal_I2C::LiquidCrystal_I2C(int, int, int, int, int, int, int, int)'
    Je ne comprends pas très bien ce code, il utilise une bibliothèque i2C mais initialise comme pour un affichage parallèle (sans i2C)!

    Je te mets le code corrigé, essayes de voire les différences, j'ai mis en remarque les ligne erronées ou inutiles.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    #include <dht.h> //DHT and LCD libraries
    #include <LiquidCrystal_I2C.h>
     
    #define I2C_ADDR 0x27
    //#define BACKLIGHT_PIN 3
    //#define En_pin 2
    //#define Rw_pin 1
    //#define Rs_pin 0
    //#define D4_pin 4
    //#define D5_pin 5
    //#define D6_pin 6
    //#define D7_pin 7
     
    //LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
    LiquidCrystal_I2C lcd(I2C_ADDR,16, 2);
     
    dht DHT; //Declaring the DHT as a dht type to use it later
     
    #define DHT22_PIN 7 //Declaring where the DHT signal pin is wired
     
    void setup(){
    	Serial.begin(9600);
    	//lcd.begin (16,2);
    	lcd.begin ();
     
        //lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
        //lcd.setBacklight(HIGH);
    	lcd.backlight();
    	//lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
    	//lcd.setBacklight(HIGH);
    	lcd.home ();
    }
     
    void loop()
    {
    	lcd.clear();
    	lcd.setCursor(0,0);
    	int chk = DHT.read22(DHT22_PIN); //Reading data from the module
    	lcd.print("Temp: ");
    	lcd.print(DHT.temperature); //Showing temperature value in Celsius
    	lcd.print(" C");
    	lcd.setCursor(0,1);
    	lcd.print("Humidity: ");
    	lcd.println(DHT.humidity); //Showing humidity percentage
    	lcd.print(" %");
    	delay(2000); //Refreshing every 2s
    }
    Je n'ai pas de DHT donc pas pu essayer.

    Bonne journée
    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  14. #14
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    décembre 2018
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 21
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2018
    Messages : 44
    Points : 8
    Points
    8

    Par défaut

    Bonjour,

    J'ai vérifié ton code et à la compilation j'ai cette erreur
    no matching function for call to 'LiquidCrystal_I2C::begin()'
    Que penses tu de l'utilité de placer une résistance sur le dht 22 ?

    En te remerciant de ton aide

    Cordialement

    Stéphanie

  15. #15
    Membre régulier Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatique
    Inscrit en
    février 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : février 2013
    Messages : 68
    Points : 124
    Points
    124

    Par défaut

    Bonjour Stéphanie
    Citation Envoyé par Stéphanie13000 Voir le message
    j'ai cette erreur - no matching function for call to 'LiquidCrystal_I2C::begin()'
    Si c'est pas un, c'est l'autre!

    Essaye lcd.init(); à la place de lcd.begin();.

    C'était ici.

    Citation Envoyé par Stéphanie13000 Voir le message
    Que penses tu de l'utilité de placer uné résistance sur le dht 22 ?
    J'ai fait des recherches, j'ai tout vu entre rien et 10k!
    Mais, en général, c'est 4.7k, une bonne moyenne. C'est un bus de communication qui ressemble à OneWire de Dallas, mais pas tout à fait. En général il n'est pas bon de laisser ce type de bus sans résistance parce que trop sensibles aux perturbations.

    Une bonne journée
    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  16. #16
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    décembre 2018
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 21
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2018
    Messages : 44
    Points : 8
    Points
    8

    Par défaut

    Bonjour jpbbricole,

    Bien vu, j'ai corrigé (tu l'avais déjà dis) et la compil est passée, ça marche

    Je vais rajouter une résistance 4.7 k entre le vcc et le data

    en te remerciant

    Stéphanie

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. erreur : Erreur temporaire EEH pour la carte
    Par okbainf dans le forum AIX
    Réponses: 1
    Dernier message: 29/06/2009, 11h05
  2. erreur de compil pour curl
    Par webfranc dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 12/12/2008, 22h22
  3. Erreur à la compilation pour un bouton créé dynamiquement
    Par echap2000 dans le forum C++Builder
    Réponses: 5
    Dernier message: 20/08/2008, 18h23
  4. Réponses: 2
    Dernier message: 30/05/2008, 12h56
  5. Réponses: 12
    Dernier message: 12/08/2006, 16h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo