ניטור צמחים: נורית מצב
חלק מהיחידה פרויקטים במסלול ה-Arduino של Coddy. שיעור 18 מתוך 24.
אף אחד לא קורא אחוז ממרחק. אפשר לראות אור צבעוני במבט חטוף: אדום כשהצמח זקוק למים, ירוק כשהכול בסדר, כחול כשיש לו יותר מדי מים.
נורית החיווי היא LED מסוג RGB: שלוש נוריות LED, אדומה, ירוקה וכחולה, באריזה אחת, בפינים 9, 10 ו-6. הרגל המשותפת שלה מחוברת להארקה, ולכן ערוץ נדלק כשהפין שלו הוא HIGH. צבע אחד בכל פעם פירושו פין אחד במצב HIGH ושני האחרים במצב LOW.
שלושה טווחים, שלושה צבעים: אותו מבנה של if / else if / else כמו בחיישן החניה, והפעם מתחילים מלמטה:
if (moisture < 30) {
// יבש: אדום
} else if (moisture <= 70) {
// תקין: ירוק
} else {
// רטוב: כחול
}כבה תחילה את כל שלושת הערוצים. אחרת, האדום שנשאר מהפעם הקודמת יתערבב עם הירוק החדש, והאור יהפוך לצהוב.
אתגר
קלהוסיפו את נורית החיווי:
- פינים 9 (אדום), 10 (ירוק) ו־6 (כחול) הם יציאות
- מתחת ל־30%: אדום בלבד
- מ־30% עד 70%: ירוק בלבד
- מעל 70%: כחול בלבד
עדכנו אותה אחרי כל קריאה. לחצו על Run, סובבו את הכפתור, ואז לחצו על Check.
נסו בעצמכם
// הכפתור מדמה חיישן לחות קרקע
const int sensorPin = A0;
// הלחות באחוזים: 0 פירושו יבש לחלוטין, 100 פירושו רטוב לגמרי.
int readMoisture() {
int reading = analogRead(sensorPin);
return map(reading, 0, 1023, 0, 100);
}
void setup() {
Serial.begin(9600);
}
void loop() {
int moisture = readMoisture();
Serial.print("Moisture: ");
Serial.print(moisture);
Serial.println("%");
delay(1000);
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה פרויקטים
תרגלו בעצמכם: Arduino אונליין