const int pingPin = 4;
int inPin = 5;
#include "DHT.h"
#define DHTPIN 7
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
float v;
void setup() {
Serial.begin(9600);
dht.begin();
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(6,INPUT);
}
void loop(){
float h = dht.readHumidity();
float t = dht.readTemperature();
float f = dht.readTemperature(true);
float k = dht.readTemperature()+273.15;
if (isnan(h) || isnan(t) || isnan(f) || isnan(k)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
float hif = dht.computeHeatIndex(f, h);
float hic = dht.computeHeatIndex(t, h, false);
long duration, cm;
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(5);
digitalWrite(pingPin, LOW);
pinMode(inPin, INPUT);
duration = pulseIn(inPin, HIGH);
cm = microsecondsToCentimeters(duration);
v = analogRead(6);
Serial.println(cm);
if(cm <= 70 and t <= (v/26.1)+11){
Serial.println((v/26.1)+11);
digitalWrite(2,0);
digitalWrite(3,1);
}
if(cm <= 70 and t > (v/26.1)+11){
Serial.println((v/26.1)+11);
digitalWrite(2,1);
digitalWrite(3,0);
}else if (cm > 70){
digitalWrite(2,0);
digitalWrite(3,0);
}
}
long microsecondsToCentimeters(long microseconds){
return microseconds / 29 / 2;
}
/*โปรเจ็คนี้คือระบบเปิด/ปิดพัดลมปรับอากาศอัตโนมัตโดยถ้ามีสิ่งของหรือสิ่งมีชีวิตเข้าไกล้อัลตราโซนิคเซ็นเซอร์่ในระยะที่กำหนดไว้
จะวิเคราะห์ว่าอุณหภูมิอยู่ในความต้องการข้องผู้ใช้หรือไม่ โดยสามารถปรับอุณหภูมิด้วยตัวต้านทานปรับค่าได้ตามต้องการ
และเมื่ออุณหภูมิต่ำ่กว่าที่กำหนดไว้ledสีแดงจะติด(แทนการปิดพัดลมปรับอากาศ)
และเมื่ออุณหภูมิสูงกวากำหนดledสีฟ้าจะติด(แทนการเปิดพัดลมปรับอากาศ)เพื่อให้ความเย็นและลดอุณหภูมิ
เช่น ต้องหารให้อุณหภูมิโดยรอบไม่ต่ำกว่า24องศาจึงปรับให้ค่า=24องศาซึ่งจะแสดงผลออกทางหน้าจอoled(ผู้ใช้สามารถกำหนดเองได้ว่าจะใช้หน้าจออะไร)
และเมื่อพัดลมทำงานจนอุณหภูมิโดยรอบต่ำกว่าหรือ=24องศาเเล้วจะปิดพัดลมโดยอัตโนมัต