Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

projets:thl [2020/11/08 14:44] – créée chefprojets:thl [2020/11/08 15:09] (Version actuelle) chef
Ligne 1: Ligne 1:
 ====== Module lumière, pression, température, humidité ====== ====== Module lumière, pression, température, humidité ======
 Test pour connecter un modue tout complet qui comprend plusieurs capteur sur une même carte.\\ Test pour connecter un modue tout complet qui comprend plusieurs capteur sur une même carte.\\
-Description du module : +Description du module : [[achats:doc#module_set_hdc1080_bmp280_bh1750fvi]]
  
  
 En fait pour la programmation, on agit comme si on avait affaire a des capteurs séparés.\\ En fait pour la programmation, on agit comme si on avait affaire a des capteurs séparés.\\
 +On peu trouver un exemple sur :\\
 +[[http://arduinolearning.com/code/htu21d-bmp180-bh1750fvi-sensor-example.php]]
  
 +Pour ma carte, je l'ai relier au SDA(20)/SCL(21) de la carte mega/ESP.\\
 +Il y a une petit subtilité pour le BH1750, il faut l'initialiser dans le begin sinon on se trouve avec une erreur.\\
 +Cette erreur est signalée readLightLevel si l'attribut BH1750_MODE n'est pas défini. \\
 +L'attribut BH1750_MODE est défini dans configure lequel est appelé à partir de la begin fonction. \\
 +Il est initialisé à UNCONFIGURED et par défaut à CONTINUOUS_HIGH_RES_MODE dans la déclaration de la begin fonction. \\
 +
 +j'ai ajouté dans mon code :\\
 +<code c>
 +   // begin returns a boolean that can be used to detect setup problems.
 +   if ( !lightMeter.begin(BH1750::CONTINUOUS_HIGH_RES_MODE)) {
 +     Serial.println(F("Error initialising BH1750"));
 +   }
 +</code>
 +
 +Donc en résumé ce que l'on a besoin :\\
 +<code c>
 +#include <BH1750.h>
 +#include <Adafruit_BMP085.h>
 +#include <Sodaq_SHT2x.h>
 +...
 +BH1750 lightMeter(0x23);
 +Adafruit_BMP085 bmp;
 +...
 +float lux = 0;                        // data BH1750 luminosité
 +float pression = 0;                   // data BMP180 pressio
 +float temp = 0;                       // data HTU21D température
 +float hum = 0;                        // data HTU21D humidité
 +...
 +//======== Fonction SETUP ================================================================
 +void setup(void) {
 +  ...
 +  ...  
 +   // begin returns a boolean that can be used to detect setup problems.
 +   if ( !lightMeter.begin(BH1750::CONTINUOUS_HIGH_RES_MODE)) {
 +     Serial.println(F("Error initialising BH1750"));
 +   }
 +   if (!bmp.begin()) {
 +     Serial.println("Could not find a valid BMP085 sensor, check wiring!");
 +     while (1) {}
 +   }
 +  ...
 +}
 +...
 +//========================================================================================
 +// Affiche le résultat des capteurs
 +void Aff_capteur() {
 +  // Test luminosité
 +  lux = lightMeter.readLightLevel();
 +  pression = bmp.readPressure();
 +  hum = SHT2x.GetHumidity();
 +  temp = SHT2x.GetTemperature();
 +  // affichage
 +  Serialprint(...
 +  ....
 +  
 +  ou
 +  // Affichage du code sur l'écran TFT 3.5
 +    tft.fillRect(0,455 ,200, 455 , BLACK);
 +    tft.setTextSize(2);
 +    tft.setTextColor(GRAY);
 +    tft.setCursor(10, 300);
 +    tft.print("Temperature :");
 +    tft.setCursor(180, 300);
 +    tft.print(temp);
 +    tft.setCursor(10, 320);
 +    tft.print("Humidite :");
 +    tft.setCursor(180, 320);
 +    tft.print(hum);
 +    tft.setCursor(10, 340);
 +    tft.print("Luminosite :");
 +    tft.setCursor(180, 340);
 +    tft.print(lux);
 +    tft.setCursor(10, 360);
 +    tft.print("Pression :");
 +    tft.setCursor(180, 360);
 +    tft.print(pression);
 +    
 +    delay(500);
 +    tft.fillRect(0,455 ,200, 455 , BLACK);
 +    if (debug) {
 +      Serial.print("reçu="); Serial.println(value);
 +    }
 +}
 +
 +</code>
  
projets/thl.txt · Dernière modification : 2020/11/08 15:09 de chef
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0