سلام
در بین سنسورهای دما و رطوبت سنسور am2301 حسنی که داره میشه طول سیم سنسور را با کابل 3 سیم تا 22 متر هم افزایش داد.
این برنامه به شما کمک میکنه تا با اتصال یک آردینو و یک سنسور AM2301 و یک رله دو کانال که به کولر و یا هیتر متصل شده دمای محیط و رطوبت محیط را در بازه تعریف شده نگه دارید.
مد سرمایش و یا گرمایشی را در خط 18 برنامه با صفر و یک تعیین کنید
صلوات برمحمد و آل محمد
در بین سنسورهای دما و رطوبت سنسور am2301 حسنی که داره میشه طول سیم سنسور را با کابل 3 سیم تا 22 متر هم افزایش داد.
این برنامه به شما کمک میکنه تا با اتصال یک آردینو و یک سنسور AM2301 و یک رله دو کانال که به کولر و یا هیتر متصل شده دمای محیط و رطوبت محیط را در بازه تعریف شده نگه دارید.
مد سرمایش و یا گرمایشی را در خط 18 برنامه با صفر و یک تعیین کنید
کد PHP:
#include "DHT.h"
#define DHTPIN A0 // what digital pin we're connected to
#define RELAY_Hum 6
#define RELAY_Temp 7
// Uncomment whatever type you're using!
#define DHTTYPE DHT21 // DHT 21 (AM2301)
// Initialize DHT sensor.
DHT dht(DHTPIN, DHTTYPE);
//Moisturizing system
float Low_humidity_level = 30.50;
float Maximum_humidity = 45.50;
//Heating=1 Cooling=0
boolean Heating_Cooling = 0;
//Heating system
float Low_heat_limit = 33.50; //hade aghale garma
float Maximum_heating = 36.50; //hade aksare garma
//Cooling system
float Maximum_cooling = 25.50; //hade aksare sarma
float Upper_limit_of_cooling = 29.50; //hade aghale sarma
void setup() {
pinMode(RELAY_Hum, OUTPUT);
pinMode(RELAY_Temp, OUTPUT);
digitalWrite (RELAY_Hum, HIGH );
digitalWrite (RELAY_Temp, HIGH );
Serial.begin(9600);
Serial.println("Waiting for first reading");
dht.begin();
}
void loop() {
// Wait a few seconds between measurements.
delay(1000);
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// Compute heat index in Fahrenheit (the default)
//float hif = dht.computeHeatIndex(f, h);
// Compute heat index in Celsius (isFahreheit = false)
// float hic = dht.computeHeatIndex(t, h, false);
{
//Moisturizing system
if (h < Low_humidity_level ) //if humidity is less that Low_humidity_level that turn relay ON until Maximum_humidity
{
digitalWrite (RELAY_Hum, LOW);
delay(1000);
} if (h > Maximum_humidity ) {
digitalWrite (RELAY_Hum, HIGH );
}
if (Heating_Cooling) {
//Heating system
if (t < Low_heat_limit) //if tempurature is less than Low_heat_limit C that turn relay ON until Maximum_heating
{
digitalWrite (RELAY_Temp, LOW);
delay(1000);
} if (t > Maximum_heating) {
digitalWrite (RELAY_Temp, HIGH);
}
}
else {
//Cooling system
if (t > Upper_limit_of_cooling) //if tempurature is more than Upper_limit_of_cooling C that turn relay ON until Maximum_cooling
{
digitalWrite (RELAY_Temp, LOW);
delay(1000);
} if (t < Maximum_cooling) {
digitalWrite (RELAY_Temp, HIGH);
}
}
}
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.println(" *C ");
//Serial.print("Heat index: ");
// Serial.print(hic);
//Serial.print(" *C ");
//Serial.print(hif);
//Serial.println(" *F");
}
دیدگاه