สวัสดีครับ ผมได้ทำCode ตัวนี้ขึ้นแต่ผมติดปัญหาที่โค๊ดตัวนี้ไม่ทำตามเงื่อนไข แต่จะทำเฉพาะในเงื่อนไขที่9โดนที่จริงๆๆ Code ตัวนี้จะต้องเปลี่ยนเงื่อนไขไปตามอุณหภูมิและความชื้น ขอผู้รู้ช่วยแก้หน่อยครับ ผมทำไม่ถูกแล้วจริงๆๆ ถึงกับตันเลยครับตอนนี้ ใช้เขียนในArduino นะครับ
ขอบคุณล่วงหน้าสำหรับทุกคำตอบครับ
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้#include <LiquidCrystal.h>
#include "DHT.h"
DHT dht;
// select the pins used on the LCD panel
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
//=========================================================================================
int I = 2;
//==========================================================================================
// Temperature set can be changing the temp here
float TempHigh = 60 ;
float TempNormal = 33;
float TempLow = 20 ;
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// Humidity Set can be changing the Humid here
float HumidHigh = 90 ;
float HumidNormal = 60 ;
float HumidLow = 30 ;
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// HardWare Setting here
int Fan1 = 31 ; // Fan In
int Fan2 = 33 ; // Fan Out
int Heater = 35 ;
int Pump = 37 ;
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
void setup() {
Serial.begin(9600);
Serial.println();
Serial.println("Initiating system >>>>>>>>>>" );
Serial.println("Status\tHumidity (%)\tTemperature (C)\t(F)");
dht.setup(52); // data pin 52
lcd.begin(16, 2); // start the library
lcd.setCursor(0,0);
}
void loop() {
delay(300);
float humidity = dht.getHumidity();
float temperature = dht.getTemperature();
lcd.setCursor(0,0);
lcd.print("Temp:");
lcd.setCursor(0,1);
lcd.print("Humiddity:");
lcd.setCursor(10,1);
lcd.print(humidity);
lcd.setCursor(5,0);
lcd.print(temperature);
Serial.print(dht.getStatusString());
Serial.print("\t");
Serial.print(humidity, 1);
Serial.print("\t\t");
Serial.print(temperature, 1);
Serial.print("\t\t");
Serial.println(dht.toFahrenheit(temperature), 1);
Dicision((humidity, 1),(temperature, 1),(dht.toFahrenheit(temperature), 1));
}
void Dicision(int R1,int R2,int R3) // if Change the temp Unit to Farenheight using R3 to Replace R1
{
//****************************************************************************************
//Function 1
if(R1 >= TempHigh && R2 >= HumidHigh )
{
Serial.print("Function 1 is now working " );
HardwareFunc(1,0,0);
Fann2(0);
}
//*****************************************************************************************
//Function 2
//if(R1 >= TempHigh && (R2 >= HumidNormal+I && R2 <= HumidNormal-I))
//{
// Serial.print("Function 2 is now working " );
//HardwareFunc(1,0,1);
//Fann2(0);
//}
//*****************************************************************************************
//Function 3
//if(R1 >= TempHigh && R2 <= HumidLow)
//{
//Serial.print("Function 3 is now working " );
//HardwareFunc(0,0,1);
//Fann2(0);
//}
//******************************************************************************************
//Function 4
//if((R1 >= TempNormal+I && R1 <= TempNormal-I) && R2 >= HumidHigh)
//{
//Serial.print("Function 4 is now working " );
//HardwareFunc(1,1,1);
//Fann2(0);
//}
//******************************************************************************************
// Function 5
//if((R1 >= TempNormal+I && R1 <= TempNormal-I) && (R2 >= HumidNormal+I && R2 <= HumidNormal-I))
//{
//Serial.print("Function 5 is now working " );
//HardwareFunc(1,1,1);
//Fann2(1);
//}
//******************************************************************************************
//Function 6
//if((R1 >= TempNormal-I && R1 <= TempNormal+I) && (R2 >= HumidLow ))
//{
//Serial.print("Function 6 is now working " );
//HardwareFunc(1,1,0);
//Fann2(1);
//}
//******************************************************************************************
//Function 7
//if(R1 <= TempLow && R2 >= HumidHigh)
//{
//Serial.print("Function 7 is now working " );
//HardwareFunc(1,0,1);
//Fann2(0);
//}
//******************************************************************************************
//Function 8
//if((R1 <= TempLow) && (R2 >= HumidNormal-I && R2 <= HumidNormal+I))
//{
//Serial.print("Function 8 is now working " );
//HardwareFunc(1,0,0);
//Fann2(1);
//}
//******************************************************************************************
//Function 9
//if(R1 <= TempLow && R2 <= HumidLow)
//{
//Serial.print("Function 9 is now working " );
//HardwareFunc(1,0,0);
//Fann2(1);
//}
//******************************************************************************************
//******************************************************************************************
void HardwareFunc(int w1,int w2,int w3)
{
Fann1(w1);
Heater1(w2);
Pump1(w3);
}
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]
// Fan1 Space
void Fann1(int R )
{
if(R == 1 )
{
analogWrite(Fan1,200);
}
if(R == 0)
{
analogWrite(Fan1,0) ;
}
}
//********************************************************************************************
// Fan2 Space
void Fann2(int R)
{
if(R == 1 )
{
analogWrite(Fan2,200);
}
if(R == 0 )
{
analogWrite(Fan2,0);
}
}
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//Heater Space
void Heater1(int R )
{
if(R == 1)
{
analogWrite(Heater,200);
}
if(R == 0 )
{
analogWrite(Heater,0);
}
}
//******************************************************************************************
// Pump Space
void Pump1(int R)
{
if(R == 1)
{
analogWrite(Pump,200);
}
if(R == 0)
{
analogWrite(Pump,0);
}
}
ต้องการความช่วยเหลือหน่อยครับ
ขอบคุณล่วงหน้าสำหรับทุกคำตอบครับ
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้