IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Arduino Discussion :

ESP8266 et capteur BME280


Sujet :

Arduino

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Retraite
    Inscrit en
    janvier 2019
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : janvier 2019
    Messages : 81
    Points : 31
    Points
    31
    Par défaut ESP8266 et capteur BME280
    Bonjour à tous
    Je voudrais programmer un ESP8266-12F avec un capteur BME280 pour récupérer en WiFi les informations de température, pression et humidité. Dans un premier temps j'ai connecté l'ESP en WiFi et je lui est attribué une adresse statique. Ensuite j'ai un petit programme de test pour le capteur BME280, ce programme tourne correctement sur un Uno mais ne m'envoie aucune information du capteur avec l'ESP.
    Si je fais un scan de matériel sur l'Uno le code voit bien le capteur par contre avec l'ESP il ne voit rien en I2C.
    Je pense que j'ai un problème au niveau de la déclaration du capteur mais cela fait une semaine que je tourne en rond et je ne vois pas ce qui cloche. J'ai testé avec un ESP8266-01 et j'ai le même problème.
    Voici le code que j'utilise :
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    //Code test programmation pour ESP8266-12F . Vérifié le :
     
     
     
     
    #include <Wire.h>
    #include <SparkFunBME280.h> // BME
    #include <Adafruit_GFX.h>
     
     
     
    BME280 capteur;
     
    void setup()
    {
     //capteur.begin();
     Wire.begin(2,14);
      Serial.begin(115200); // initialisation com série
     //  Wire.begin(0x76);
      //configuration du capteur
      capteur.settings.commInterface = I2C_MODE; //D2 : SDA / D14 SCL;
      capteur.settings.I2CAddress = 0x76;
      capteur.settings.runMode = 3;
      capteur.settings.tStandby = 0;
      capteur.settings.filter = 0;
      capteur.settings.tempOverSample = 1 ;
      capteur.settings.pressOverSample = 1;
      capteur.settings.humidOverSample = 1;
     
      delay(20);  // attente de la mise en route du capteur. 2 ms minimum
     
    }
     
    void loop()
    {
      capteurBme();
    } // Fin de programme
     
    void capteurBme()
    { 
      Serial.println ("Données météo");
     
      Serial.print ("Pression atmosphérique : ");
      Serial.print (capteur.readFloatPressure() / 100);
      Serial.println ("hPa");
     
      Serial.print ("Température : ");
      Serial.print(capteur.readTempC(), 1); // affichage température
      Serial.println ("C"); //affichage unité température
     
      Serial.print ("Humidité : ");
      Serial.print (capteur.readFloatHumidity(), 0);
      Serial.println ("%");
     
      delay(5000);
    }
    et sur le moniteur série toutes les données sont à zéro :

    Nom : Moniteur serie BME280.JPG
Affichages : 89
Taille : 85,8 Ko

    Si quelqu'un à une idée ? Merci

    Bon Dimanche à tous.

  2. #2
    Responsable Arduino et Systèmes Embarqués

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    11 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 11 303
    Points : 49 226
    Points
    49 226
    Billets dans le blog
    17
    Par défaut
    Bonjour,

    Les connecteurs SCL et SDA pour l'I2C ne sont peut-être pas là où tu penses. Quelle est ta carte ESP8266 exactement ? (un lien, une référence ?)

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Retraite
    Inscrit en
    janvier 2019
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : janvier 2019
    Messages : 81
    Points : 31
    Points
    31
    Par défaut
    Bonsoir f-leb

    Merci pour ta réponse, il s'agit d'une ESP8266-12F, dessus je trouve :ESP8266MOD, FCC, ISM 2.4GHz, PA +25dbm, 80211b,g,n.

    Effectivement je pense aussi que c'est un problème de connexion , ou de déclaration des pins, car si je débranche le BME280 j'ai exactement le même affichage. J'avais trouvé un data sheet de Ai-thinker Team et j'ai pris pour argent comptant les informations que j'ai trouvé.

    Bonne soirée.

  4. #4
    Responsable Arduino et Systèmes Embarqués

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    11 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 11 303
    Points : 49 226
    Points
    49 226
    Billets dans le blog
    17
    Par défaut
    C'est un module qui ressemble à celui-ci ?
    Nom : esp12f.PNG
Affichages : 87
Taille : 86,5 Ko

    Ton module est-il soudé sur une carte de développement, comme celle-là ?
    Nom : carte_esp12f.PNG
Affichages : 87
Taille : 162,6 Ko

    Une image, une photo du module ou de ton kit ESP8266 ? As-tu un schéma de câblage ou une photo du montage ?

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Retraite
    Inscrit en
    janvier 2019
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : janvier 2019
    Messages : 81
    Points : 31
    Points
    31
    Par défaut
    Oui c'est un module qui ressemble à la première photo et j'ai commandé à part des cartes sur lequel j'ai monté l'ESP et en définitive cela ressemble au montage de la photo 2.

    Je n'arrive pas à faire passer les photos depuis mon téléphone sur le PC dès que j'ai résolu ce problème je t'envoie cela

  6. #6
    Responsable Arduino et Systèmes Embarqués

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    11 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 11 303
    Points : 49 226
    Points
    49 226
    Billets dans le blog
    17
    Par défaut
    Ce ne serait pas plutôt les ports 4 et 5 ( Wire.begin(4, 5); ):

    Nom : esp12.PNG
Affichages : 75
Taille : 34,5 Ko

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Retraite
    Inscrit en
    janvier 2019
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : janvier 2019
    Messages : 81
    Points : 31
    Points
    31
    Par défaut
    Perdu,

    Décidement...
    voici la photo du module :
    Nom : ESP8266-12F.jpg
Affichages : 74
Taille : 1,16 Mo

  8. #8
    Responsable Arduino et Systèmes Embarqués

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    11 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 11 303
    Points : 49 226
    Points
    49 226
    Billets dans le blog
    17
    Par défaut
    SDA et SCL sur GPIO4 et GPIO5, donc...

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Retraite
    Inscrit en
    janvier 2019
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : janvier 2019
    Messages : 81
    Points : 31
    Points
    31
    Par défaut
    SDA et SCL sur GPIO4 et GPIO5, donc...
    ben non cela ne fonctionne pas

  10. #10
    Responsable Arduino et Systèmes Embarqués

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    11 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 11 303
    Points : 49 226
    Points
    49 226
    Billets dans le blog
    17
    Par défaut
    Que donne un scan I2C ?

    Essaie peut-être avec une autre bibliothèque, celle d'Adafruit par exemple. Dans le gestionnaire de bibliothèques, recherche "adafruit bme280".

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Retraite
    Inscrit en
    janvier 2019
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : janvier 2019
    Messages : 81
    Points : 31
    Points
    31
    Par défaut
    J'ai essayé un scan I2C et il n'a rien détecté, j'ai testé avec un autre composant (écran OLED) au cas ou mais même punition

    J'ai essayé, enfin voulu essayé, la bibliothèque Adafruit mais je n’ai pas réussi à téléverser le code j'ai un message d'erreur. Peut être que je vais insister un peu plus

  12. #12
    Membre émérite

    Homme Profil pro
    savant fou :)
    Inscrit en
    septembre 2019
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : savant fou :)

    Informations forums :
    Inscription : septembre 2019
    Messages : 1 216
    Points : 2 267
    Points
    2 267
    Par défaut
    Avez vous essayé d’utiliser la notation D1 D2 ... pour les pins au lieu d’utiliser des chiffres 1 et 2?
    Par exemple D1 sera potentiellement GPIO5 et D2 sera par exemple GPIO4.

    ca peut être aussi D4 et D5, Le mapping dépend des modules.

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Retraite
    Inscrit en
    janvier 2019
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : janvier 2019
    Messages : 81
    Points : 31
    Points
    31
    Par défaut
    Ok, je regarde cela dans la journée. Merci pour votre coopération

    Bonne semaine

  14. #14
    Membre éprouvé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    mai 2013
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : mai 2013
    Messages : 337
    Points : 1 193
    Points
    1 193
    Par défaut Idée matérielle
    Bonjour,

    Sur la photo, la soudure GPI03 semble douteuse. D'autres attirent un peu l'attention car elles sont bombées (GPI04 par exemple) au lieu d'être concave (caractéristique d'une soudure qui "colle" bien).

    Ce n'est peut être pas la cause des problèmes actuels mais certainement celle de problèmes futurs. Quand une soudure n'en est pas une, il en résulte quand même un lien mécanique par enrobage qui peut éventuellement donner un contact, au mieux de mauvaise qualité et non pérenne car l'enrobage va se relâcher avec le temps.

    Je conseillerais de tester les soudures. Ce n'est pas très facile car pour tester on appuie sur les plots ce qui tend à favoriser un contact qui peut disparaitre dès que la sonde n'exerce plus de pression. Reprendre les soudures douteuses est une approche plus facile. Il faut faire attention à ce que la panne du fer exerce une même pression sur les deux parties à souder ensemble.

    Bon courage.
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Retraite
    Inscrit en
    janvier 2019
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : janvier 2019
    Messages : 81
    Points : 31
    Points
    31
    Par défaut
    Bonjour

    Merci pour votre remarque, je ne pense pas que le problème vient de là car j'ai testé avec une autre ESP8266-12F et un ESP8266-01 et le résultat est le même, mais je vais tenir compte de votre remarque et reprend les soudures.

    Bonne journée

  16. #16
    Responsable Arduino et Systèmes Embarqués

    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2009
    Messages
    11 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 11 303
    Points : 49 226
    Points
    49 226
    Billets dans le blog
    17
    Par défaut
    Si le scan i2c ne donne rien, c'est peut-etre un problème dans le câblage du capteur.

    Peut-on voir une photo ou schéma de câblage avec le capteur ?

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Retraite
    Inscrit en
    janvier 2019
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : janvier 2019
    Messages : 81
    Points : 31
    Points
    31
    Par défaut
    ?Essaie peut-être avec une autre bibliothèque, celle d'Adafruit par exemple. Dans le gestionnaire de bibliothèques, recherche "adafruit bme280".
    Bon je viens de faire un test avec la bibliothèque d'Adafruit et j'ai le même problème pas de valeur d'afficher, tout est à zéro même sur le Uno. J'ai du merdé quelque part.

    Voici le code :
    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
    48
    49
    50
    51
    52
    53
    54
     
    #include <Adafruit_BME280.h>
    #include <Wire.h>
    #include <Adafruit_GFX.h>
     
    //BME280 capteur;
    Adafruit_BME280 bme; // I2C interface
    Adafruit_Sensor *bme_temp = bme.getTemperatureSensor();
    Adafruit_Sensor *bme_pressure = bme.getPressureSensor();
    Adafruit_Sensor *bme_humidity = bme.getHumiditySensor();
     
    void setup()
    {
      Serial.begin(4800); // initialisation com série
     
     
      delay(20);  // attente de la mise en route du capteur
     
     
      bme_temp->printSensorDetails();
      bme_pressure->printSensorDetails();
      bme_humidity->printSensorDetails();
      bme.begin();
    }
     
    void loop()
    {
      capteurBme();
    } // Fin de programme
     
    void capteurBme()
    {
     
      sensors_event_t temp_event, pressure_event, humidity_event;
      bme_temp->getEvent(&temp_event);
      bme_pressure->getEvent(&pressure_event);
      bme_humidity->getEvent(&humidity_event);
     
      Serial.print(F("Temperature = "));
      Serial.print(temp_event.temperature);
      Serial.println(" °C");
     
      Serial.print(F("Humidity = "));
      Serial.print(humidity_event.relative_humidity);
      Serial.println(" %");
     
      Serial.print(F("Pressure = "));
      Serial.print(pressure_event.pressure);
      Serial.println(" hPa");
     
      Serial.println();
      delay(5000);
     
    }

  18. #18
    Nouveau membre du Club
    Homme Profil pro
    Retraite
    Inscrit en
    janvier 2019
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : janvier 2019
    Messages : 81
    Points : 31
    Points
    31
    Par défaut
    Si le scan i2c ne donne rien, c'est peut-être un problème dans le câblage du capteur.

    Peut-on voir une photo ou schéma de câblage avec le capteur ?
    Je ne pense pas qu'il s'agisse d'un problème de câblage du capteur puisque celui-ci fonctionne correctement avec le Uno. En plus 2 fils à brancher et une alim ... mais on ne sait jamais l'erreur est humaine

    Uno BME280
    3.3v Vin
    Gnd GND
    SCL ou A4 SCL
    SDA ou A5 SDA

  19. #19
    Nouveau membre du Club
    Homme Profil pro
    Retraite
    Inscrit en
    janvier 2019
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : janvier 2019
    Messages : 81
    Points : 31
    Points
    31
    Par défaut


    comme quoi l'erreur est humaine, sur le UNO SDA est en A4 et SCL en A5

  20. #20
    Membre éprouvé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    mai 2013
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : mai 2013
    Messages : 337
    Points : 1 193
    Points
    1 193
    Par défaut Hard problem ?
    Bonjour,

    Le problème de câblage semble effectivement très vraisemblable. Les photos demandées seront très utiles. Je présume que c'est un câblage volant sur une plaque d'essai (breadboard en français ). Le câblage Dupont permet bien des erreurs.

    Il y a aussi la mesure. A défaut d'un analyseur logique ou d'un oscilloscope, il est possible de pister SDA avec un simple multimètre numérique. On se place sur la broche présumée SDA du module. Si c'est la bonne, le multimètre devrait avoir des sursauts (faibles mais normalement détectables surtout sur un bargraph) toutes les 5 secondes (tempo du programme). Si c'est la bonne, on refait l'opération à la soudure correspondante du module, la broche, le câble (départ, arrivé) et enfin la broche du circuit récepteur (qui doit être SDA également). Si la première mesure est négative, on change de broche.

    A la place d'un multimètre on peut utiliser un bricolage de ce type (Led rouge de préférence). Pour travailler en 5 Volts, il est opportun d'augmenter la résistance autour de 150 Ohms (120 Ohms permet de travailler avec les deux tensions mais avec un certain manque de luminosité en 3V3 et un peu forte en 5 V). Une résistance de 100 kOhms entre la base et la masse évite des comportement erratiques sur une broche en haute impédance. Le transistor est un banal NPN comme un 2N2222 par exemple.

    Nom : Sonde.png
Affichages : 68
Taille : 22,2 Ko

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Esp8266 mqtt capteur d'humidité sol
    Par kaiezer198000 dans le forum Embarqué
    Réponses: 1
    Dernier message: 10/07/2020, 11h54
  2. Affichage de température erronné avec capteur BME280
    Par Fernand56 dans le forum Arduino
    Réponses: 12
    Dernier message: 11/01/2019, 11h14
  3. Capteur InfraRouge sur port com
    Par PoOky dans le forum Composants VCL
    Réponses: 12
    Dernier message: 12/01/2006, 16h31
  4. Utiliser le C pour récuperer données d'un capteur
    Par Malek_BAKLOUTI dans le forum C
    Réponses: 12
    Dernier message: 05/10/2005, 11h40
  5. comment récupérer l'état d'un capteur?
    Par r0d dans le forum Périphériques
    Réponses: 8
    Dernier message: 17/08/2005, 21h13

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