سلام دوستان.بنده با ی سنسور دما و رطوبت sht11 وبورد پرو مینی و دو عدد رله اقدام به ساخت کنترلر دما دستگاه جوجه کشی کردم و دمای پایین(37.5)و دمای بالا (37.7) قرار دادم.طی دو سری دوره 21 روزه جوجه کشی فقط یک بار آردیونو هنگ کرده بود( هی رله رو خاموش روشن میشد).تو اینترنت با مبحث PID آشنا شدم و علاقه مندم رو بوردم برنامه ای با این قابلیت رو آپلود کنم.کتابخانه های pid رو گرفتم اما از مثالهاش چیزی سر در نیاوردم.نمونه های آماده هم با سنسور های lm35 هست ک به درد نمیخورن.ممنون میشم با توجه به کد زیر راهنماییم کنه.
کد:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
#include <SHT1x.h>
#define dataPin A0
#define clockPin A1
SHT1x sht1x(dataPin, clockPin);
int hitter=4;
int humm=3;
void setup() {
lcd.begin();
lcd.backlight();
lcd.print("abbas javanmardi");
Serial.begin(9600);
pinMode(4,OUTPUT); //hiter relay
pinMode(3,OUTPUT); // humm fan relay
}
void loop()
{
lcd.setCursor(0,1);
float temp_c;
float humidity;
temp_c = sht1x.readTemperatureC();
humidity = sht1x.readHumidity();
lcd.clear();
lcd.setCursor(,0);
lcd.print("Tmp : ");
lcd.print(temp_c);
lcd.setCursor(2,1);
lcd.print("Hum : ");
lcd.print(humidity);
lcd.print("%");
Serial.print("Temp: ");
Serial.print(temp_c);
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println("%");
if(temp_c<37.5){
digitalWrite(4,HIGH);
}
if(temp_c>37.7){
digitalWrite(4,LOW);
}
if(humidity<57){
digitalWrite(3,HIGH);
}
if(humidity>61){
digitalWrite(3,LOW);
}
delay(1000);
}