#include <DHT.h>
#define DHTPIN 7 // DHT 22 output pin connection
#define DHTTYPE DHT22 // DHT type (22)
DHT dht(DHTPIN, DHTTYPE);
int triggerPin_1= 9;
int echoPin_1= 10;
float distance_1;
float duration_1;
int triggerPin_2= 11;
int echoPin_2= 6;
float distance_2;
float duration_2;
float hum;
float temp;
float sound_m_s;
float sound_cm_ms;
void setup() {
// put your setup code here, to run once:
Serial.begin (9600);
pinMode (triggerPin_1, OUTPUT);
pinMode (echoPin_1, INPUT);
pinMode (triggerPin_2, OUTPUT);
pinMode (echoPin_2, INPUT);
dht.begin();
}
void loop() {
// put your main code here, to run repeatedly
// delay (2000); in case DHT needs to be stablized
hum= dht.readHumidity();
temp= dht.readTemperature();
sound_m_s= 331.4+ (0.606* temp)+ (0.0124* hum); //speed of sound (meter per second)
sound_cm_ms= sound_m_s/ 10000; //speed of sound (centimeter per millisecond)
digitalWrite (triggerPin_1, LOW);
delayMicroseconds (2);
digitalWrite (triggerPin_1, HIGH);
delayMicroseconds (10);
digitalWrite (triggerPin_1, LOW);
duration_1= pulseIn(echoPin_1, HIGH);
delay(200);
digitalWrite (triggerPin_2, LOW);
delayMicroseconds (2);
digitalWrite (triggerPin_2, HIGH);
delayMicroseconds (10);
digitalWrite (triggerPin_2, LOW);
duration_2= pulseIn(echoPin_2, HIGH);
delay(200);
distance_1= (duration_1/2) * sound_cm_ms;
distance_2= (duration_2/2) * sound_cm_ms;
if (distance_1> 400 || distance_1< 2){
Serial.println("Distance1= Out of range !");
}
else{
Serial.print("Distance1= ");
Serial.print(distance_1);
Serial.print(" cm, ");
}
if (distance_2> 400 || distance_2< 2){
Serial.println("Distance2= Out of range !");
}
else{
Serial.print("Distance2= ");
Serial.print(distance_2);
Serial.println(" cm");
}
}