בכל פעם שאנחנו יוצאים מהעיר לכמה ימים, תמיד היינו דואגים לצמחים שלנו מכיוון שהם זקוקים למים על בסיס קבוע. אז הנה אנחנו מייצרים מערכת השקיה אוטומטית של צמחים באמצעות Arduino, המספקת מים באופן אוטומטי לצמחים שלך ומעדכנת אותך על ידי שליחת הודעה לטלפון הסלולרי שלך.
במערכת השקיית צמחים זו, חיישן הלחות בקרקע בודק את רמת הלחות בקרקע ואם רמת הלחות נמוכה אז ארדואינו מפעיל משאבת מים שתספק מים לצמח. משאבת מים נכבת אוטומטית כאשר המערכת מוצאת מספיק לחות בקרקע. בכל פעם שהמערכת מפעילה או מכבה את המשאבה, נשלחת הודעה למשתמש באמצעות מודול GSM, המעדכן את מצב משאבת המים ולחות הקרקע. מערכת זו שימושית מאוד בחוות, בגינות, בבית וכו '. מערכת זו אוטומטית לחלוטין ואין צורך בהתערבות אנושית כלשהי.
רכיבים נדרשים לפרויקט מערכת השקיית צמחים בארדואינו
- ארדואינו אונו
- מודול GSM
- טרנזיסטור BC547 (2)
- חוטי חיבור
- LCD 16x2 (אופציונלי)
- ספק כוח 12v 1A
- ממסר 12v
- משאבת קירור מים
- חיישן לחות קרקע
- נגדים (1k, 10k)
- נגד משתנה (10k, 100k)
- מחבר מסוף
- ויסות מתח IC LM317
מודול GSM:
כאן השתמשנו במודול GSM TTL SIM800. ה- SIM800 הוא מודול GSM / GPRS מרובע-פס אשר ניתן להטמיע בקלות על ידי לקוח או חובב. מודול ה- GSM SIM900 מספק ממשק סטנדרטי בתעשייה; ה- SIM800 מספק ביצועי GSM / GPRS 850/900/1800 / 1900MHz עבור קול, SMS, נתונים עם צריכת חשמל נמוכה. העיצוב של מודול ה- GSM SIM800 הזה הוא דק וקומפקטי. זה זמין בקלות בשוק או באינטרנט דרך eBay.
- מודול GSM / GPRS בעל ארבע פס בגודל קטן.
- GPRS מופעל
- פלט TTL
למידע נוסף על מודול GSM ופקודות AT כאן. בדוק גם את הפרויקטים השונים שלנו באמצעות GSM ו- Arduino כדי להבין נכון את הממשק שלהם.
הסבר מעגל:
במערכת השקיית צמחים זו, השתמשנו בבדיקת חיישן לחות קרקע תוצרת בית כדי לחוש את רמת לחות האדמה. כדי לבצע בדיקה, חתכנו וחרטנו לוח לבוש נחושת על פי התמונה המוצגת למטה. צד אחד של החללית מחובר ישירות ל- Vcc ומסוף בדיקה אחר עובר לבסיס הטרנזיסטור BC547. פוטנציומטר מחובר לבסיס הטרנזיסטור כדי להתאים את רגישות החיישן.
Arduino משמש לבקרת כל התהליך של מערכת השקיית צמחים אוטומטית זו. הפלט של מעגל חיישן האדמה מחובר ישירות לסיכה D7 הדיגיטלית של Arduino. נעשה שימוש במנורת LED במעגל החיישן, מצב נורית ה- LED הזה מציין נוכחות של לחות בקרקע ומצב OFF מציין את היעדר הלחות בקרקע.
מודול GSM משמש לשליחת SMS למשתמש. כאן השתמשנו במודול GSM TTL SIM800, הנותן ולוקח היגיון TTL ישירות (המשתמש רשאי להשתמש בכל מודול GSM). רגולטור מתח LM317 משמש כוח מודול GSM SIM800. LM317 רגיש מאוד לדירוג מתח ומומלץ לקרוא את גליון הנתונים שלו לפני השימוש. דירוג מתח ההפעלה שלו הוא 3.8 וולט עד 4.2 וולט (אנא העדיפו 3.8 וולט להפעלה). להלן תרשים המעגל של ספק הכוח שניתן למודול ה- GSM TTL sim800:
אם המשתמש רוצה להשתמש במודול ה- SIM900 TTL אז עליו להשתמש ב- 5V ואם המשתמש רוצה להשתמש במודול ה- SIM900 ואז להחיל 12V בחריץ ה- DC Jack של הלוח.
12V ממסר משמש כדי לשלוט על משאבת מים קטנים 220VAC. הממסר מונע על ידי טרנזיסטור BC547 המחובר עוד לסיכה הדיגיטלית 11 של ארדואינו.
LCD אופציונלי משמש גם להצגת סטטוס והודעות. סיכות בקרה של LCD, RS ו- EN מחוברות לסיכה 14 ו -15 של Arduino וסיכות נתונים של LCD D4-D7 מחוברות ישירות בסיכה 16, 17, 18 ו- 19 של Arduino. LCD משמש במצב 4 סיביות ומונע על ידי ספריית ה- LCD המובנית של Arduino.
להלן תרשים המעגל של מערכת השקיה זו עם ארדואינו וחיישן לחות קרקע:
הסבר עבודה:
העבודה של מערכת השקיית צמחים אוטומטית היא די פשוטה. ראשית כל, מדובר במערכת אוטומטית לחלוטין ואין צורך בכוח אדם כדי לשלוט במערכת. Arduino משמש לשליטה בתהליך כולו ומודול GSM משמש לשליחת הודעות התראה למשתמש בסלולרי שלו.
אם קיימת לחות בקרקע, ישנה הולכה בין שני הבדיקות של חיישן לחות קרקע ועקב הולכה זו, הטרנזיסטור Q2 נשאר במצב מופעל / מופעל וסיכה D7 של ארדואינו נותרה נמוכה. כאשר Arduino קורא אות נמוך ב- D7, הוא שולח SMS למשתמש על "קרקע לחות רגילה. המנוע כבוי ”ומשאבת המים נשארת במצב כבוי.
כעת אם אין לחות בקרקע אז טרנזיסטור Q2 הופך כבוי וסיכה D7 הופכת גבוהה. ואז ארדואינו קורא את הפין D7 ומדליק את מנוע המים וגם שולח הודעה למשתמש על "זוהתה לחות נמוכה בקרקע. המנוע פועל ”. המנוע יכבה אוטומטית כשיש מספיק לחות בקרקע. בדוק עוד בסרטון ההדגמה והקוד (שניתן בסוף) כדי להבין טוב יותר את תהליך העבודה של הפרויקט.
הסבר על תכנות:
ניתן להבין את הקוד לתוכנית זו בקלות. קודם כל כללנו את ספריית SoftwareSerial להכנת סיכה 2 ו -3 כ- Rx & Tx וכללנו גם את LiquidCrystal ל- LCD. ואז הגדרנו כמה משתנים עבור מנוע, חיישן לחות קרקע, נורית וכו '.
#לִכלוֹל
ואז בפונקציית ההתקנה הריקנית () , מאותחל תקשורת טורית ב 9600 bps וההנחיות ניתנות לסיכות השונות. פונקציית gsmInit נקראת לאתחול של מודול ה- GSM.
סדרה 1. התחיל (9600); Serial.begin (9600); pinMode (led, OUTPUT); pinMode (מנוע, OUTPUT); pinMode (חיישן, INPUT_PULLUP); lcd.print ("השקיית מים"); lcd.setCursor (4,1); עיכוב (2000); lcd.clear (); lcd.print ("מעגל עיכול"); lcd.setCursor (0,1); lcd.print ("מברך אותך"); עיכוב (2000); gsmInit ();
לאחר מכן קוראים את החיישן בפונקציה loop () , והמנוע מופעל או כבוי בהתאם למצב החיישן ו- SMS נשלח גם למשתמש באמצעות פונקציית sendSMS . בדוק את הפונקציות השונות בקוד המלא שניתן בסוף.
לולאה בטלה () {lcd.setCursor (0,0); lcd.print ("מצב אוטומטי"); אם (digitalRead (חיישן) == 1 && דגל == 0) {עיכוב (1000); אם (digitalRead (חיישן) == 1) {digitalWrite (led, HIGH); sendSMS ("זוהתה לחות נמוכה בקרקע. המנוע מופעל"); lcd.begin (16,2); lcd.setCursor (0,1);…………………
כאן הפונקציה gsmInit () חשובה ומשתמשים לרוב מתקשים להגדיר אם נכון. הוא משמש לאתחול של מודול ה- GSM, שם ראשית נבדק מודול ה- GSM אם הוא מחובר או לא באמצעות שליחת פקודת 'AT' למודול ה- GSM. אם מתקבלת תגובה אישור, פירושה שהיא מוכנה. המערכת ממשיכה לבדוק את המודול עד שהוא מוכן או עד לקבלת 'אישור'. ואז ECHO מכובה על ידי שליחת הפקודה ATE0, אחרת מודול GSM יהדהד את כל הפקודות. ואז לבסוף זמינות הרשת נבדקת באמצעות 'AT + CPIN?' פקודה, אם כרטיס מוכנס הוא כרטיס ה- SIM וה- PIN קיים, זה נותן את התגובה מוכנה. זה גם לבדוק שוב ושוב עד למציאת הרשת. ניתן להבין זאת היטב על ידי הסרטון שלהלן.
בטל gsmInit () {lcd.clear (); lcd.print ("מודול איתור.."); בוליאני at_flag = 1; בעוד (at_flag) {Serial1.println ("AT"); בעוד (Serial1.available ()> 0) {if (Serial1.find ("OK")) at_flag = 0; } עיכוב (1000); }……………….
אז עם מערכת השקיה אוטומטית זו, אינך צריך לדאוג לצמחים שלך כאשר אתה רחוק מהבית שלך. ניתן לשפר אותו עוד יותר להפעלה ולניטור דרך האינטרנט.