/*
 * Connect 4 DHT sensor to a single NANO
 * 
 * 25 April 2022
 * 
 */

/* 
 *  include libraries *  
 */
 
// include DHT library
 #include <DHT.h>
 #include <DHT_U.h>

// Pin Assignment for DHT Sensors
#define DHTPIN01 2              // Assign pin 02 for DHT 01
#define DHTPIN02 3              // Assign pin 03 for DHT 02
#define DHTPIN03 4              // Assign pin 04 for DHT 03
#define DHTPIN04 5              // Assign pin 04 for DHT 04


#define DHTTYPE DHT22
DHT dht01(DHTPIN01, DHTTYPE);   // Define an Object called DHT (dht01)
DHT dht02(DHTPIN02, DHTTYPE);   // Define an Object called DHT (dht02)
DHT dht03(DHTPIN03, DHTTYPE);   // Define an Object called DHT (dht03)
DHT dht04(DHTPIN04, DHTTYPE);   // Define an Object called DHT (dht02)

float boardHUMID01;
float boardHUMID02;
float boardHUMID03;
float boardHUMID04;

float boardTEMP01;
float boardTEMP02;
float boardTEMP03;
float boardTEMP04;



void setup(){
  Serial.begin(9600);
  delay(2000);

  dht01.begin();                // Start DHT 01
  delay(500);
  Serial.println("DHT 01 Ready    ");
  dht02.begin();                // Start DHT 02
  delay(500);
  Serial.println("DHT 02 Ready    ");
  dht03.begin();                // Start DHT 03
  delay(300);
  Serial.println("DHT 03 Ready    ");
  dht04.begin();                // Start DHT 04
  delay(500);
  Serial.println("DHT 04 Ready    ");
  }

void loop(){

  delay(2000);
  boardTEMP01 = dht01.readTemperature();    // Assign DHT 01 temp value to boardTEMP01
  boardTEMP02 = dht02.readTemperature();
  boardTEMP03 = dht03.readTemperature();    
  boardTEMP04 = dht04.readTemperature();

  boardHUMID01 = dht01.readHumidity();
  boardHUMID02 = dht02.readHumidity();
  boardHUMID03 = dht03.readHumidity();
  boardHUMID04 = dht04.readHumidity();

  Serial.println("Sensor 01:"); 
  Serial.print("Temp: =");
  Serial.print(boardTEMP01);
  Serial.print("    Humidity:=");
  Serial.println(boardHUMID01); 

  Serial.println("Sensor 02:"); 
  Serial.print("Temp: =");
  Serial.print(boardTEMP02);
  Serial.print("    Humidity:=");
  Serial.println(boardHUMID02); 

  Serial.println("Sensor 03:"); 
  Serial.print("Temp: =");
  Serial.print(boardTEMP03);
  Serial.print("    Humidity:=");
  Serial.println(boardHUMID03); 

  Serial.println("Sensor 04:"); 
  Serial.print("Temp: =");
  Serial.print(boardTEMP04);
  Serial.print("    Humidity:=");
  Serial.println(boardHUMID04); 
}