מדריך חיבור חיישן לחות אדמה ל-Arduino ו-ESP32:

במדריך זה נלמד כיצד לחבר חיישן לחות אדמה לבקר Arduino UNO ולבקר ESP32.
נראה איך לקרוא את היציאה האנלוגית של החיישן, איך להשוות בין קרקע יבשה ולחה,
ואיך לבצע כיול בסיסי לפי סוג הקרקע שבה משתמשים.

מהו חיישן לחות אדמה?

חיישן לחות אדמה הוא מודול שמאפשר להעריך את רמת הלחות היחסית בקרקע.
החיישן שבתמונה מורכב מאלקטרודה דו-שינית שמוכנסת לקרקע וממודול בקרה נפרד.

המודול מתאים לפרויקטים של ניטור צמחים, השקיה אוטומטית,
חממה חכמה, מערכות התראה וניסויים עם Arduino ו-ESP32.

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

איך החיישן עובד?

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

מודול הבקרה מספק שתי יציאות:

  • AO — יציאה אנלוגית שמאפשרת לראות שינוי הדרגתי ברמת הלחות.
  • DO — יציאה דיגיטלית HIGH / LOW לפי סף שנקבע בעזרת הפוטנציומטר.

במודול טיפוסי הערך האנלוגי גבוה יותר כאשר הקרקע יבשה,
ונמוך יותר כאשר הקרקע רטובה.
עם זאת, מומלץ תמיד לבדוק את הכיוון בפועל לפני כתיבת תנאים בקוד.

היציאה הדיגיטלית מתאימה למצב פשוט כמו "יבש / לח".
למדידה יחסית מפורטת יותר עדיף להשתמש ביציאה האנלוגית AO.

פינים במודול חיישן לחות אדמה

פיןתפקיד
VCCמתח הזנה למודול
GNDאדמה
AOיציאה אנלוגית לפי מוליכות הקרקע
DOיציאה דיגיטלית לפי סף הלחות שנקבע

רכיבים נדרשים

  • חיישן לחות אדמה עם מודול בקרה
  • Arduino UNO או ESP32
  • Breadboard
  • חוטי Dupont
  • כבל USB
  • עציץ או כלי עם קרקע לבדיקה

חיבור חיישן לחות אדמה ל-Arduino UNO

חיישן לחות אדמהArduino UNO
VCC5V
GNDGND
AOA0

הסבר חיבור

ב-Arduino UNO מחברים את היציאה האנלוגית AO לכניסה A0.
הבקר קורא את רמת המתח מהחיישן ומחזיר ערך בין 0 ל-1023.

הערך שמתקבל אינו אחוז לחות אמיתי.
כדי להשתמש בו בצורה נכונה יש למדוד את הערך בקרקע יבשה
ואת הערך בקרקע רטובה, ולאחר מכן להשתמש בערכים האלה לצורך כיול.

קוד Arduino בסיסי לקריאת החיישן

const int soilSensorPin = A0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  int sensorValue = analogRead(soilSensorPin);

  Serial.print("Soil moisture value: ");
  Serial.println(sensorValue);

  delay(1000);
}

הסבר הקוד

הקוד קורא את הערך האנלוגי מהפין A0 ומציג אותו ב-Serial Monitor.

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

כיול החיישן

לפני שמשתמשים בחיישן במערכת השקיה או במערכת התראה,
מומלץ לבצע שתי מדידות בסיסיות:

  • מדידה ראשונה כאשר האלקטרודות נמצאות בקרקע יבשה.
  • מדידה שנייה כאשר האלקטרודות נמצאות בקרקע רטובה.

לדוגמה, אם בקרקע יבשה מתקבל ערך 850 ובקרקע רטובה מתקבל ערך 350,
אפשר להשתמש בשני הערכים האלה כנקודות ייחוס.

אין להשתמש בערכים האלה בצורה אוטומטית בכל פרויקט.
יש למדוד את החיישן בפועל ולבחור ערכים שמתאימים לקרקע ולצמח שלכם.

דוגמה להצגת לחות יחסית באחוזים

const int soilSensorPin = A0;

const int dryValue = 850;
const int wetValue = 350;

void setup() {
  Serial.begin(9600);
}

void loop() {
  int sensorValue = analogRead(soilSensorPin);

  int moisturePercent = map(
    sensorValue,
    dryValue,
    wetValue,
    0,
    100
  );

  moisturePercent = constrain(moisturePercent, 0, 100);

  Serial.print("Raw value: ");
  Serial.print(sensorValue);

  Serial.print(" | Moisture: ");
  Serial.print(moisturePercent);
  Serial.println("%");

  delay(1000);
}

הסבר הקוד

הקוד משתמש בשתי נקודות כיול: ערך של קרקע יבשה וערך של קרקע רטובה.
הפונקציה map ממירה את טווח הקריאות לטווח של 0 עד 100 אחוז.

הערך שמתקבל הוא הערכה יחסית בלבד.
כדי לשפר את התוצאה יש לבצע כיול עם הקרקע שבה החיישן יעבוד בפועל.

חיבור חיישן לחות אדמה ל-ESP32

הערה חשובה לפני החיבור

ESP32 עובד עם כניסות ברמת מתח של 3.3V.
לכן מומלץ להזין את מודול החיישן מ-3V3 כאשר מחברים את AO ישירות לכניסת ADC של ESP32.

כך גם המתח המרבי ביציאה האנלוגית נשאר בתחום שמתאים לבקר.
אין להזין את המודול מ-5V ולחבר את AO ישירות ל-ESP32 ללא בדיקת רמת המתח.


חיישן לחות אדמהESP32
VCC3V3
GNDGND
AOGPIO34

הסבר חיבור

ב-ESP32 ניתן להשתמש בפין ADC כמו GPIO34 לקריאת היציאה האנלוגית.
מומלץ להשתמש בפיני ADC1, במיוחד בפרויקטים שבהם משתמשים גם ב-WiFi.

הערכים שמתקבלים ב-ESP32 שונים מהערכים ב-Arduino UNO,
ולכן יש לבצע כיול חדש ולא להעתיק את ערכי הכיול של Arduino.

קוד ESP32 בסיסי לקריאת החיישן

const int soilSensorPin = 34;

void setup() {
  Serial.begin(115200);
  analogReadResolution(12);
}

void loop() {
  int sensorValue = analogRead(soilSensorPin);

  Serial.print("Soil moisture value: ");
  Serial.println(sensorValue);

  delay(1000);
}

הסבר הקוד

הקוד קורא את היציאה האנלוגית דרך GPIO34 ומציג את הערך ב-Serial Monitor.
ברזולוציה של 12-bit הערך יכול להגיע בדרך כלל עד 4095.

בדומה ל-Arduino, יש למדוד את הערך בקרקע יבשה ובקרקע רטובה
ולבנות טווח כיול שמתאים לפרויקט.

עבודה עם היציאה הדיגיטלית DO

אם רוצים רק לזהות מצב פשוט של קרקע יבשה או לחה,
ניתן להשתמש ביציאה הדיגיטלית DO.

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

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

טיפים לעבודה נכונה

  • יש לבצע כיול לפי סוג הקרקע שבה החיישן יעבוד בפועל.
  • יש להכניס את האלקטרודות לעומק קבוע כדי לקבל קריאות דומות.
  • אין להכניס את מודול הבקרה עצמו לקרקע או למים.
  • מליחות ודשנים בקרקע יכולים להשפיע על הקריאה.
  • מומלץ לבצע כמה מדידות ולחשב ממוצע כדי לצמצם רעש.
  • לא מומלץ להשאיר את האלקטרודות תחת מתח באופן קבוע לזמן ארוך.

התחמצנות האלקטרודות

מכיוון שהחיישן מבוסס על מעבר זרם דרך הקרקע,
האלקטרודות החשופות עלולות להתחמצן ולהישחק לאורך זמן.

במערכת קבועה מומלץ להפעיל את החיישן רק בזמן המדידה,
ולאחר הקריאה לנתק ממנו את המתח בעזרת טרנזיסטור או MOSFET מתאים.

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

פרויקט לדוגמה

מערכת השקיה חכמה עם FC-28, משאבת מים ו-Blynk

בפרויקט זה משתמשים בחיישן לחות אדמה FC-28 יחד עם Arduino UNO R4 WiFi,
משאבת מים ומודול Relay.
החיישן מודד את מצב הקרקע, והמערכת מאפשרת להפעיל את המשאבה כדי להשקות את הצמח.

מעבר לחיישן עצמו, הפרויקט כולל גם חיבור לאפליקציית Blynk לצפייה ושליטה מרחוק,
וכן שימוש בתצוגת ה-LED המובנית של הבקר להצגת מצב הצמח.

זהו פרויקט מתאים ללמידה על חיישני לחות, בקרת משאבה,
Relay, תקשורת WiFi ומערכת השקיה חכמה.

מעבר לפרויקט לדוגמה

סיכום

חיישן לחות אדמה הוא מודול פשוט ונוח לניטור רמת הלחות היחסית בקרקע
בפרויקטים עם Arduino ו-ESP32.

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

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

קישור חזרה למוצר

דילוג לתוכן