ניטור צמחים: לחות
חלק מהיחידה פרויקטים במסלול ה-Arduino של Coddy. שיעור 17 מתוך 24.
הפרויקט הזה עוקב אחר צמח ביתי: עד כמה האדמה שלו רטובה, נורית צבעונית שמציגה אם האדמה יבשה, במצב טוב או רטובה, אזעקה כשהאדמה נשארת יבשה ודיווח על המסך.
בבנייה אמיתית תוקעים חיישן לחות אדמה בעציץ. הוא נותן מתח שמשתנה בהתאם למידת הרטיבות של האדמה, ונקרא באמצעות analogRead(). בסימולטור אין אדמה, לכן פוטנציומטר (כפתור סיבובי) ב-A0 משמש כתחליף: מסובבים אותו כלפי מטה כדי לדמות אדמה יבשה וכלפי מעלה כדי לדמות אדמה רטובה. הסקץ׳ זהה בשני המקרים.
קל יותר לקרוא אחוזים מאשר ערכים מ-0 עד 1023: 0% הוא יובש מוחלט, ו-100% פירושו רוויה במים. map() ממירה טווח אחד לאחר:
int reading = analogRead(A0);
int moisture = map(reading, 0, 1023, 0, 100);לאדמה לוקח שעות להתייבש, לכן די בקריאה אחת בשנייה.
אתגר
קלמדדו את הלחות באדמה:
- כתבו
readMoisture(): קראו את A0 והחזירו את הלחות באחוזים באמצעותmap() - בתוך
loop(), הדפיסו אותה כך:Moisture: 42%, ואז המתינו 1000 ms
לחצו על הרצה, סובבו את הכפתור ואז לחצו על בדיקה.
נסו בעצמכם
// הכפתור משמש כתחליף לחיישן לחות קרקע
const int sensorPin = A0;
void setup() {
Serial.begin(9600);
}
void loop() {
// קרא את החיישן, המר את הערך לאחוזים, הדפס אותו, המתן שנייה
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה פרויקטים
תרגלו בעצמכם: Arduino אונליין