5.9 KiB
מדידת לחות קרקע - Raspberry Pi
בחלק זה של השיעור, תוסיף חיישן לחות קרקע קיבולי ל-Raspberry Pi שלך, ותקרא ממנו ערכים.
חומרה
ה-Raspberry Pi זקוק לחיישן לחות קרקע קיבולי.
החיישן שבו תשתמש הוא חיישן לחות קרקע קיבולי, שמודד את לחות הקרקע על ידי זיהוי הקיבוליות של הקרקע, תכונה שמשתנה בהתאם לשינויי הלחות בקרקע. ככל שלחות הקרקע עולה, המתח יורד.
זהו חיישן אנלוגי, ולכן הוא משתמש בפין אנלוגי וב-ADC של 10 ביט בכובע הבסיס של Grove על ה-Pi כדי להמיר את המתח לאות דיגיטלי בטווח של 1-1,023. האות הזה נשלח לאחר מכן דרך GPIO ב-Pi.
חיבור חיישן לחות הקרקע
ניתן לחבר את חיישן לחות הקרקע של Grove ל-Raspberry Pi.
משימה - חיבור חיישן לחות הקרקע
חבר את חיישן לחות הקרקע.
-
הכנס קצה אחד של כבל Grove לשקע על חיישן לחות הקרקע. הכבל ייכנס רק בכיוון אחד.
-
כשה-Raspberry Pi כבוי, חבר את הקצה השני של כבל Grove לשקע האנלוגי המסומן A0 בכובע הבסיס של Grove המחובר ל-Pi. שקע זה הוא השני מימין, בשורה של השקעים ליד פיני ה-GPIO.
- הכנס את חיישן לחות הקרקע לתוך הקרקע. יש לו 'קו מיקום עליון' - קו לבן שחוצה את החיישן. הכנס את החיישן עד לקו זה אך לא מעבר לו.
תכנות חיישן לחות הקרקע
כעת ניתן לתכנת את ה-Raspberry Pi לשימוש בחיישן לחות הקרקע המחובר.
משימה - תכנות חיישן לחות הקרקע
תכנת את המכשיר.
-
הפעל את ה-Pi והמתן עד שיסיים את תהליך האתחול.
-
פתח את VS Code, או ישירות על ה-Pi, או באמצעות חיבור דרך תוסף Remote SSH.
⚠️ תוכל לעיין בהוראות להגדרת VS Code והפעלתו בשיעור 1 של nightlight אם יש צורך.
-
מהטרמינל, צור תיקייה חדשה בספריית הבית של המשתמש
pi
בשםsoil-moisture-sensor
. צור קובץ בתיקייה זו בשםapp.py
. -
פתח את התיקייה הזו ב-VS Code.
-
הוסף את הקוד הבא לקובץ
app.py
כדי לייבא ספריות נדרשות:import time from grove.adc import ADC
הפקודה
import time
מייבאת את המודולtime
שישמש בהמשך המשימה.הפקודה
from grove.adc import ADC
מייבאת את ה-ADC
מספריות ה-Python של Grove. ספרייה זו מכילה קוד לאינטראקציה עם ממיר האנלוגי לדיגיטלי בכובע הבסיס של ה-Pi ולקריאת מתחים מחיישנים אנלוגיים. -
הוסף את הקוד הבא מתחת לזה כדי ליצור מופע של מחלקת
ADC
:adc = ADC()
-
הוסף לולאה אינסופית שקוראת מה-ADC בפין A0, וכותבת את התוצאה לקונסול. הלולאה תישן למשך 10 שניות בין קריאות.
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10)
-
הרץ את אפליקציית ה-Python. תראה את מדידות לחות הקרקע נכתבות לקונסול. הוסף מים לקרקע, או הוצא את החיישן מהקרקע, וצפה בשינוי הערך.
pi@raspberrypi:~/soil-moisture-sensor $ python3 app.py Soil moisture: 615 Soil moisture: 612 Soil moisture: 498 Soil moisture: 493 Soil moisture: 490 Soil Moisture: 388
בדוגמת הפלט למעלה, ניתן לראות את ירידת המתח כאשר מוסיפים מים.
💁 תוכל למצוא את הקוד הזה בתיקייה code/pi.
😀 תוכנית חיישן לחות הקרקע שלך הצליחה!
כתב ויתור:
מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית Co-op Translator. למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור סמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי אדם. איננו נושאים באחריות לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה.