Finale
unknown
c_cpp
2 years ago
5.3 kB
4
Indexable
#include "DHT.h" #define Relay1 5 //For Vane_1 & Dht_1 #define Relay2 18 //For Vane_2 & Dht_2 #define Relay3 19 //For Vane_3 & Dht_3 #define Relay4 21 //For Pompe water #define DHT1 4 // Digital pin connected to the DHT1 sensor #define DHT2 22 // Digital pin connected to the DHT2 sensor #define DHT3 23 // Digital pin connected to the DHT3 sensor #define DHTTYPE DHT11 // DHT 11 bool Relay_1 = false , Relay_2 = false, Relay_3 = false ; bool control = true; DHT dht1(DHT1, DHTTYPE); DHT dht2(DHT2, DHTTYPE); DHT dht3(DHT3, DHTTYPE); void setup() { Serial.begin(9600); Serial.println(F("DHTxx test!")); dht1.begin(); dht2.begin(); dht3.begin(); pinMode(Relay1,OUTPUT); pinMode(Relay2,OUTPUT); pinMode(Relay3,OUTPUT); pinMode(Relay4,OUTPUT); digitalWrite(Relay1,LOW) ; digitalWrite(Relay2,LOW) ; digitalWrite(Relay3,LOW) ; digitalWrite(Relay4,LOW) ; } void loop() { // Wait a few seconds between measurements. delay(2000); //*****for dht 1***** // Reading temperature or humidity takes about 250 milliseconds! // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor) float h1 = dht1.readHumidity(); // Read temperature as Celsius (the default) float t1 = dht1.readTemperature(); // Read temperature as Fahrenheit (isFahrenheit = true) float f1 = dht1.readTemperature(true); //*****for dht 2***** // Reading temperature or humidity takes about 250 milliseconds! // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor) float h2 = dht2.readHumidity(); // Read temperature as Celsius (the default) float t2 = dht2.readTemperature(); // Read temperature as Fahrenheit (isFahrenheit = true) float f2 = dht2.readTemperature(true); //*****for dht 3***** // Reading temperature or humidity takes about 250 milliseconds! // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor) float h3 = dht3.readHumidity(); // Read temperature as Celsius (the default) float t3 = dht3.readTemperature(); // Read temperature as Fahrenheit (isFahrenheit = true) float f3 = dht3.readTemperature(true); // Check if any reads failed and exit early (to try again). // if (isnan(h1) || isnan(t1) || isnan(f1)|| // isnan(h2) || isnan(t2) || isnan(f2)|| // isnan(h3) || isnan(t3) || isnan(f3)) { // Serial.println(F("Failed to read from DHT sensor!")); // return; // } // Compute heat index in Fahrenheit (the default) float hif1 = dht1.computeHeatIndex(f1, h1); // Compute heat index in Celsius (isFahreheit = false) float hic1 = dht1.computeHeatIndex(t1, h1, false); // Compute heat index in Fahrenheit (the default) float hif2 = dht2.computeHeatIndex(f2, h2); // Compute heat index in Celsius (isFahreheit = false) float hic2 = dht2.computeHeatIndex(t2, h2, false); // Compute heat index in Fahrenheit (the default) float hif3 = dht3.computeHeatIndex(f3, h3); // Compute heat index in Celsius (isFahreheit = false) float hic3 = dht3.computeHeatIndex(t3, h3, false); Serial.print(F("Humidity1: ")); Serial.print(h1); Serial.print(F("% Temperature1: ")); Serial.print(t1); Serial.print(F("°C ")); Serial.print(f1); Serial.print(F("°F Heat index1: ")); Serial.print(hic1); Serial.print(F("°C ")); Serial.print(hif1); Serial.println(F("°F")); Serial.print(F("Humidity2: ")); Serial.print(h2); Serial.print(F("% Temperature2: ")); Serial.print(t2); Serial.print(F("°C ")); Serial.print(f2); Serial.print(F("°F Heat index2: ")); Serial.print(hic2); Serial.print(F("°C ")); Serial.print(hif2); Serial.println(F("°F")); Serial.print(F("Humidity3: ")); Serial.print(h3); Serial.print(F("% Temperature3: ")); Serial.print(t3); Serial.print(F("°C ")); Serial.print(f3); Serial.print(F("°F Heat index3: ")); Serial.print(hic3); Serial.print(F("°C ")); Serial.print(hif3); Serial.println(F("°F")); if (control){ ///*****Manual*****/////***************************** char x = Serial.read(); switch(x) { case '1': digitalWrite(Relay1,HIGH); break; case '2': digitalWrite(Relay1,LOW); break; case '3': digitalWrite(Relay2,HIGH); break; case '4': digitalWrite(Relay2,LOW); break; case '5': digitalWrite(Relay3,HIGH); break; case '6': digitalWrite(Relay3,LOW); break; case '7': digitalWrite(Relay4,HIGH); break; case '8': digitalWrite(Relay4,LOW); break; dufault : Serial.println("Ivalid"); break; } /////////////////////////////////////////////////// } else{ ////******Auto*****///////// if (h1 > 40 && h1 <90){ digitalWrite(Relay1,HIGH); Relay_1 = true; } else { digitalWrite(Relay1,LOW); Relay_1 = false; } if (h2 > 40 && h2 <90){ digitalWrite(Relay2,HIGH); Relay_2 = true; } else { digitalWrite(Relay2,LOW); Relay_2 = false; } if (h3 > 40 && h3 <90){ digitalWrite(Relay3,HIGH); Relay_3 = true; } else { digitalWrite(Relay3,LOW); Relay_3 = false; } if ( Relay_1 || Relay_2 || Relay_3 ){ digitalWrite(Relay4,HIGH); } else { digitalWrite(Relay4,LOW); } } }
Editor is loading...