#define echoPin 3 // Echo Pin
#define trigPin 2 // Trigger Pin
#define LEDPin 13 // Onboard LED
#include "DHT.h"
#define DHTPIN 11 //ขาdata ต่อ ขา11
#define DHTTYPE DHT22 //กำหนดค่าตามชนิดDHTที่ใช้งาน
DHT dht(DHTPIN, DHTTYPE);
int maximumRange = 200; // Maximum range needed
int minimumRange = 0; // Minimum range needed
long duration, distance; // Duration used to calculate distance
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(LEDPin, OUTPUT); // Use LED indicator (if required)
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
//Calculate the distance (in cm) based on the speed of sound.
distance = duration / 58.2;
Serial.println(distance); //แสดงค่าระยะทาง
if(distance >= 2 && distance <=20){
Serial.println("A");
float h = dht.readHumidity();
float t = dht.readTemperature();
float f = dht.readTemperature(true);
delay(2000);
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.println(" c ");
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
OCR1A = 12499;
Serial.println("DHT.humidity = OK");
PORTB = 0xFF; // set PORTB = 1111 1111
}
else if(distance <= 401 && distance >=350){
Serial.println("B");
}
else{
Serial.println("Error");
}
delay(5000);
}