Plusieurs capteurs DHT22

Ma maigre contribution
je precise , je suis loin d'être un expert ...

Je n'ai pas trouvé de code pour l’utilisation de plusieurs capteurs DHT22 , j'ai donc adapté ce code :

/* 
Objet : Mesure temperature et hygrometrie avec plusieurs capteurs dht22
*/

  #include "DHT.h" // ajout de la bibliothèque DHT


  #define DHTTYPE DHT22   // type de sonde
// Numero de pin du premier capteur
  int FisrtDHT = 6;
// Nombre de capteur
  const int nSensors = 4;

DHT dht(FisrtDHT, DHTTYPE); // instanciation objet dht

void setup() {
Serial.begin(9600); // ouverture connexion serie
Serial.println("Test Capteur DHT22 ----------------------");  //

dht.begin(); 
}

void loop() {
// Numero de PIN du premier capteur
  int FirsrtPinDHT = 4;
  int CourantPinDHT ;
// Boucle
for (int i=0; i<nSensors; i++)
  {  
    CourantPinDHT=FirsrtPinDHT+i;
    DHT dht(CourantPinDHT, DHTTYPE); // instanciation objet dht
    delay(2000); // attente de 2 secondes avant de refaire une mesure
    float h = dht.readHumidity();    // lecture humidité et affectation a une variable de type float
    float t = dht.readTemperature(); // lecture température et affectation a une variable de type float

    // test si retour sonde dht2  ok ou pas ...
    if (isnan(t) || isnan(h))
      {
      Serial.print("-------------------  Capteur n°" );
      Serial.print(i+1);
      Serial.println("  -------------------");
      Serial.print("Pin n°" );
      Serial.println(CourantPinDHT);
      Serial.println("Erreur de lecture sonde dht22");
      delay(1000); // attente 
      } 
    else 
      {
      //affichage des donnees sur la console serie
      Serial.print("-------------------  Capteur n°" );
      Serial.print(i+1);
      Serial.println("  -------------------"); 
      Serial.print("Pin n°" );
      Serial.println(CourantPinDHT); 
      Serial.print("Humidite : " ); 
      Serial.print(h);
      Serial.print( " %\t ");
      Serial.print(" Temperature : " );
      Serial.print(t);
      Serial.println(" C ");
      }
   }
}

Et ça fonctionne ? C'est la première fois que je vois une instanciation dans la loop...

La bibliothèque dhtlib de Rob Tillaert peut adresser plusieurs capteurs (c'est lui même qui le dit)

Une recherche sur Google "arduino multiple dht22" te montrera que c'est possible avec d'autres bibliothèques