עבור לתוכן

בקשת עזרה בקוד לטמפרטורה

Featured Replies

פורסם

שלום לכם,

יש לי 2 שאלות אליכם

אני משתמש בחיישן טמפרטורה DHT11 לקחתיח את ההקוד לבדיקת החיישן לפי מה שמופיע בדוגמא, ולקחתי קוד לביצוע טרמוסטט כלל בידקת שינוי מצב.

1. קוד לבדיקת החשיין


int chk = DHT11.read(DHT11PIN); // read to check the sensor
switch (chk)
{
case 0: Serial.println("OK"); break;
case -1: Serial.println("Checksum error"); break;
case -2: Serial.println("Time out error"); break;
default: Serial.println("Unknown error"); break;
}

אם אני מעוניין ברגע שזה מחזיר שגיאה שיבצע בדיקה חוזרת של החיישן אני פשוט צריך להוריד את ה BREAK בסוף השורה?

אם לא, איך אלי לעשות זאת ?

2. קוד לטרמוסטט עבור מצב חום ומצב קור.


// ---- turn on or off damper in function of temperature in cold mode
if (mode == 1){ // check if the mode is in cold mode
if (temp >= DesirableTemp)
{
flag = 1;
if (flag =! prev_flag) {
digitalWrite(damper, HIGH);
}
}
else if (temp <= DesirableTemp)
{
flag = 0;
if (flag =! prev_flag) {
digitalWrite(damper, LOW);
}
}
prev_flag = flag;
}
// ---- end of temperature in cold mode

// ---- turn on or off damper in function of temperature in hot mode
if (mode == 0){ // check if the mode is in hot mode
if (temp <= DesirableTemp)
{
flag = 1;
if (flag =! prev_flag) {
digitalWrite(damper, HIGH);
}
}
else if (temp >= DesirableTemp)
{
flag = 0;
if (flag =! prev_flag) {
digitalWrite(damper, LOW);
}
}
prev_flag = flag;
}
// ---- end of temperature in hot mode

האם יש דרך לאחד את 2 הקודים בלי ביצוע בדיקת מצב ולא משנה אם זה על חום או על קור פשוט יבצע את הפעולה ?

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים