תוכן עניינים:

כיול מד הגשם של Arduino: 7 שלבים
כיול מד הגשם של Arduino: 7 שלבים
Anonim
כיול מד הגשם של Arduino
כיול מד הגשם של Arduino

מבוא:

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

מדריך זה הוא חלק מתחנת מזג אוויר שאני יוצר והוא תיעוד של תהליך הלמידה שלי שהתחפש להדרכה:)

מאפיינים של מד הגשם:

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

שלב 1: קצת תיאוריה

קצת תיאוריה
קצת תיאוריה

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

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

כך שהגשם במ מ או סנטימטרים יהיה

גובה הגשמים = נפח הגשם שנאסף / אזור ההיקף

באוסף הגשם שלי, האורך והרוחב היו 11 ס"מ על 5 ס"מ בהתאמה, ונתנו שטח תפוסה של 55 מ"ר. אז אוסף של 9 מיליליטר גשם פירושו 9 סמ"ק/55 מ"ר = 0.16363 … ס"מ = 1.6363 … מ"מ = 0.064 אינץ '.

במד הגשם של דלי ההטיה, הדלי קופץ 4 פעמים עבור 9 מ"ל (או 0.064 … אינץ 'של גשם) ולכן קצה יחיד מיועד ל (9/4) מ"ל = 2.25 מ"ל (או 0.0161.. אינצ'ים). אם נבצע קריאות לפי שעה (24 קריאות ביום לפני האיפוס) שמירה על שלוש דיוק משמעותי היא מספיק הגונה.

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

קליק אחד = 0.0161 אינץ 'של גשם

הערה 1: אני מעדיף את מערכת היחידות הבינלאומית, אך Weather Underground מעדיפה את היחידות הקיסריות/ארה ב ולכן המרה זו לאינצ'ים.

הערה 2: אם החישובים אינם כוס התה שלך, עבור אל נפח הגשם המספק עזרה מושלמת לעניינים כאלה.

שלב 2: חלקים לפרויקט זה

חלקים לפרויקט זה
חלקים לפרויקט זה
חלקים לפרויקט זה
חלקים לפרויקט זה
חלקים לפרויקט זה
חלקים לפרויקט זה

רוב החלקים היו מונחים ורישום הוגן (לצורך רשמיות) הוא

  1. Arduino Uno (או כל תואם אחר)
  2. מד גשם מתחנת מזג אוויר פגומה ישנה.
  3. לוח לחם.
  4. RJ11 לחיבור מד הגשם שלי ללוח הלחם.
  5. נגד 10K ומעלה כדי לשמש כנגד למעלה. השתמשתי ב- 15K.
  6. 2 חתיכות חוטי מגשר בין זכר לנקבה
  7. 2 חוט מגשר זכר לזכר.
  8. כבל יו אס בי; זכר עד זכר ב

כלים:

מזרק (נעשה שימוש בתכולה של 12 מ"ל)

שלב 3: אספן הגשם

אספן הגשם
אספן הגשם
אספן הגשם
אספן הגשם

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

שלב 4: מעגל

מעגל חשמלי
מעגל חשמלי

כדי להפוך את המעגל

  1. חבר את הפין הדיגיטלי מס '2 של Arduino לקצה אחד של הנגד.
  2. חבר את הקצה השני של הנגד לסיכת הארקה (GND).
  3. חבר קצה אחד של שקע RJ11 לפין הדיגיטלי מספר 2 של Arduino.
  4. חבר את הקצה השני של שקע RJ11 לסיכה +5V של Arduino (5V).
  5. חבר את מד הגשם ל- RJ11.

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

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

שלב 5: הקוד

המערכון RainGauge.ino (מוטבע בסוף שלב זה) זוכה להערכה טובה ולכן אציין שלושה חלקים בלבד.

חלק אחד סופר את מספר עצות הדליפה.

if (bucketPositionA == false && digitalRead (RainPin) == HIGH) {

… … }

חלק אחר בודק את הזמן ומחשב את כמות הגשם

אם (now.minute () == 0 && first == true) {

hourlyRain = dailyRain - dailyRain_till_LastHour; …… ……

וחלק אחר מנקה את הגשם להיום, בחצות.

אם (now.hour () == 0) {

dailyRain = 0; …..

שלב 6: כיול ובדיקה

נתק את אספן הגשם משאר המעגל ובצע את השלבים הבאים.

  1. ממלאים את המזרק במים. אני ממלא את שלי עם 10 מ"ל.
  2. שמור את אספן הגשם על משטח ישר ויוצקים את המים מהמזרק טיפין טיפין.
  3. אני שומר ספירה של דלי ההטיה. ארבעה טיפים הספיקו לי, וניקזו 9 מ"ל מהמזרק. על פי חישובים (ראו סעיף תיאוריה) קיבלתי כמות של 0.0161 אינץ 'של גשם לכל קצה.
  4. אני כולל את המידע הזה בקוד שלי בהתחלה.

const bucketAmount = 0.0161;

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

למטרות בדיקה

  1. חבר את אספן הגשם לשקע RJ11.
  2. חבר את ה- Arduino למחשב באמצעות כבל ה- USB.
  3. פתח את הצג הטורי.
  4. יוצקים כמויות מים שנמדדו בעבר והתבוננו על התפוקה כאשר השעה מסתיימת.
  5. אין לשפוך מים אלא המתן עד להשלמת השעה הקרובה. הגשם לשעה חייב להיות אפסי במקרה זה.
  6. שמור את המחשב האישי כשהמעגל המחובר מופעל למשך הלילה ובדוק אם הגשם היומי והגשם השעתי יתאפסו לאפס בחצות. עבור שלב זה, ניתן גם לשנות את השעון של המחשב האישי לערך מתאים (לצפייה ביציאות על הצג הטורי בשידור חי).

שלב 7: מחשבות אודות ותודות

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

חלק מהקוד הושאל מ- Lazy Old Geek's Instructable.

מוּמלָץ: