מד קיבולת מיכל גשם קולי: 10 שלבים (עם תמונות)
מד קיבולת מיכל גשם קולי: 10 שלבים (עם תמונות)
Anonim
מד קיבולת מיכל גשם קולי
מד קיבולת מיכל גשם קולי

אם אתה דומה לי ויש לך קצת מצפון סביבתי (או שאתה סתם כתמי עור להוטים לחסוך כמה דולרים - וזה גם אני …), יתכן שיש לך מיכל מי גשמים. יש לי מיכל לקצור את הגשם הנדיר למדי שאנו מקבלים באוסטרליה - אבל ילד אוי, כשיורד כאן גשם, ממש יורד גשם! המיכל שלי מתנשא לגובה של כ -1.5 מ 'והוא על בסיס, כלומר אני צריך לצאת מדרגות כדי לבדוק את מפלס המים (או - כי אני כל כך עצלן, מתאזן בצורה מסוכנת על גבי בקבוק גז ישן מהמנגל שעכשיו לקח מגורים קבועים כ'מדרגה 'ליד הטנק).

רציתי דרך כלשהי לבדוק את מפלס המים במיכל, בלי כל הטיפוס והתליה על צינור הניקוז ביד אחת (תוך דאגה מה עכבישים עשויים להיות מאחוריו - שמעת על עכבישים אוסטרלים - נכון?) … אז, עם התעניינות מחודשת המאוחרת באלקטרוניקה ושיבוטים Arduino זולים מסין ב- eBay, החלטתי לנסות לבנות 'יישומון' שיעשה את העבודה בשבילי.

כעת, יישומון ה'חלום 'שלי היה להיות מותקן לצמיתות במיכל, להשתמש במקור חשמל סולארי, עם קריאה מרחוק במוסך שלי, או אולי משדר אלחוטי באמצעות Bluetooth שאוכל לבדוק מהטלפון שלי, או אולי אפילו מכשיר מסוג ESP המארח דף אינטרנט המתעדכן אוטומטית, כך שאוכל לבדוק את רמת המים במיכל שלי מכל מקום בעולם דרך האינטרנט … אבל באמת - למה אני צריך את כל זה? אז חיזרתי קצת את האידיאלים הגדולים שלי (ובכן, במידה ניכרת), והפסקתי עם האלחוטיות של הפתרון, ההתקנה הקבועה, הטעינה הסולרית והיכולת לבדוק את רמת הטנק שלי מהקצה האחורי של מעבר (תמיד בהנחה שלקצה האחורי של מעבר יש WiFi זמין, כלומר …)

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

שלב 1: המתמטיקה …

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

NB - למעשה, הערך המוחזר מהחיישן הוא באמת רק הזמן שלוקח לאות לעזוב את הצד הפולט ולחזור למקלט. זה במיקרו שניות - אבל לדעת מהירות הקול היא 29 מיקרו שניות לכל ס מ (מה? לא ידעת את זה? Pfft …) הופכת המרה קלה מפרק זמן למדידת מרחק.

תמונה
תמונה

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

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

שלב 2: מעשיות

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

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

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

כללתי גם קצת קוד כדי לבדוק אם הוא גבוה או נמוך באחד מסיכות הקלט/פלט הדיגיטליים של Arduino, ומשתמש בו כדי להכניס את היחידה למצב שכיניתי 'כיול'. במצב זה, התצוגה פשוט מציגה את המרחק האמיתי (מחולק ב -2) שהחיישן החזיר, כך שאוכל לבדוק את דיוקו מול סרט מדידה.

שלב 3: החומרים

היחידה מורכבת משלושה מרכיבים עיקריים…

תמונה
תמונה
  1. מודול משדר/מקלט אולטרסוני HC-SR04
  2. מיקרו -בקר Arduino Pro Mini
  3. תצוגת LED בת 7 ספרות בת 7 חלקים או 'מודול' לתצוגה כגון TM1637

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

ביישום זה, התצוגה פשוט משתמשת ב -3 ספרות כדי להציג ערך % של 0-100 או 4 ספרות כדי להציג את מספר הליטרים (מקסימום 2000 במקרה שלי), כך שכל תצוגה בת 4 ספרות תעשה - אינך צריך לדאוג אם המודול כולל נקודות עשרוניות או נקודתיים. "מודול" לתצוגה (LED המותקן על לוח פריצה, עם שבב ממשק) הוא קל יותר, מכיוון שהוא משתמש בפחות חיבורי פינים, אך תצוגת LED גולמית עם 12 סיכות יכולה להכיל את Arduino עם כמה שינויים קטנים בקוד (למעשה העיצוב המקורי שלי התבסס על התקנה זו). עם זאת, שים לב כי שימוש בתצוגת LED גולמית דורש גם 7 נגדים כדי להגביל את הזרם המושך על ידי כל קטע. במקרה היה לי מודול תצוגת שעון TM1637, אז החלטתי להשתמש בזה.

חלקים ומשלימים נוספים כוללים קליפ סוללה בנפח 9 וולט (וסוללה, מן הסתם), מתג כפתור לחיצה רגעי של 'דחיפה להכנה', תיבת פרוייקט, סיכות כותרת, חוטי חיבור ואורך של 2 "x4" העולה על קוטר פתח הטנק.

החלקים המשלימים (מלבד גוש העץ) נרכשו מרשת האאוטלטים המקומית לתחביב האלקטרוניקה שלי - שהיא Jaycar באוסטרליה. אני מתאר לעצמי שמפלין בבריטניה תהיה אלטרנטיבה בת קיימא, ואני חושב שיש כמה בארצות הברית, כמו Digikey ו- Mouser. עבור מדינות אחרות, אני חושש שאני לא יודע, אבל אני בטוח שאם חסר לך מוצא מתאים לרשת רחוב או ספק מקוון במדינה שלך, אז מוכרי eBay סינית יגיעו עבורך, אם לא המוח מחכה מספר שבועות למשלוח (למרבה האירוניה, למרות היותו אחד השכנים הקרובים ביותר שלנו, שישה שבועות ומעלה אינם יוצאי דופן למשלוח לאוסטרליה מסין!).

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

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

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

שלב 4: בדיקת אב הטיפוס (והקוד)

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

בשלב זה, הסתובבתי למידע בסיסי כיצד להתחבר ולהשתמש ב- HC-SR04, ועלי להכיר ב"דוגמא פשוטה של Arduino ו- HC-SR04 "של jsvester. הדוגמה והניסיון שלו היוותה נקודת התחלה מצוינת בשבילי להתחיל לקודד ממנה.

מצאתי את ספריית הפונקציות של NewPing עבור HC-SR04, הכוללת פונקציונליות מובנית בכדי לקחת את הממוצע של קריאות מרובות, ובכך להפוך את הקוד שלי להרבה יותר פשוט.

מצאתי גם ספרייה עבור מודול תצוגת השעון TM1637, מה שהפך את הצגת המספרים לפשוטה בהרבה. בקוד המקורי שלי (לתצוגה בת 4 ספרות בת 7 ספרות), הייתי צריך לפצל את המספר לספרות בודדות, ולאחר מכן לבנות כל ספרה בודדת בתצוגה על ידי ידיעה אילו מקטעים להאיר ולאחר מכן לעבור על כל ספרה במספר. ובניית מספר זה על ספרת התצוגה המתאימה. שיטה זו נקראת ריבוב, ומציגה למעשה רק ספרה אחת בכל פעם, אך עוברת דרכם בין ספרה אחת לשנייה כל כך מהר, שהעין האנושית לא שמה לב, ומטעה אותך להאמין שכל הספרות מופעלות באותו הזמן. כמו שספריית HC-SR04 הופכת את פעולות המדידה לקלות יותר, ספריית התצוגה הזו מטפלת בכל הטיפולים המרובבים והמספרים. דפי ההתייחסות של Arduino המקושרים למעלה, נותנים כמה דוגמאות, וכמובן, לכל ספרייה יש קוד לדוגמא שיכול לעזור מאוד.

תמונה
תמונה
תמונה
תמונה

נ

אז, התמונות שלמעלה מציגות את מערך הבדיקה שלי - אני בוחן אותו על ה- Arduino Uno שלי לפשטות, מכיוון שהוא כבר מותקן לחיבורים זמניים הניתנים לשימוש חוזר לאב טיפוס. היחידה פועלת כאן במצב 'כיול' (שים לב כי סיכה דיגיטלית 10 - החוט הלבן - מחובר לקרקע) וקוראת במדויק 39 ס מ לתיבה שהנחתי לפניה באופן אקראי, כפי שמוצג על ידי מדידת הקלטת. במצב זה, אני מציג את ה- 'c' הקטן לפני המדידה, רק כדי לציין שזו לא המדידה הרגילה.

בנוסף ל- Vcc (5v) ו- Ground, ה- HC -SR04 צריך 2 חיבורים נוספים - ההדק (צהוב לסיכה 6) והד (ירוק לסיכה 7). התצוגה זקוקה גם ל- Vcc (5v) ו- Ground, ועוד 2 חיבורים - שעון (כחול לסיכה 8) ו- DIO (סגול לסיכה 9). כפי שכבר צוין, מצב ההפעלה נשלט על ידי סיכה 10 גבוהה או נמוכה (לבן). החיבורים ישתמשו באותם סיכות ב- Arduino Pro Mini, אך ימולחלו לצמיתות. ניתן יהיה לבחור את מצב ההפעלה באמצעות מגשר על פני שני מתוך שלושה סיכות כותרת, המחוברות ל- Vcc, סיכה 10 וקרקע בהתאמה.

המפרט הרשמי של HC -SR04 טוען משהו כמו שגיאה מקסימלית של 3 מילימטרים בלבד עד למרחק הפעולה המרבי המיועד של 4 מטרים, אז תארו לעצמכם את ההפתעה שלי לגלות שהיחידה שלי בהחלט הייתה מדויקת עד 2 מטרים - מה עולה בהרבה על מה שאני צריך. בשל מקום מוגבל להתקנת בדיקה מהירה ומלוכלכת, תוצאות הבדיקה שלי מעבר למרחק זה נפגעו מהשתקפויות ממשטחים שאינם מטרת הבדיקה שלי, כשהקורה מהמשדר התפשטה ותפסה שטח רחב יותר. אבל כל עוד זה טוב עד 1.5 מטר - זה יעשה לי יפה, תודה רבה:-)

שלב 5: סקיצה Ino מד מים

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

קודם כל ההתקנה…

#לִכלוֹל

#include #include // פינים ל- HC-SR04 #define pinTrig 6 #define pinEcho 7 סונאר NewPing (pinTrig, pinEcho, 155); // 400 ס"מ הוא מקסימום עבור HC-SR04, 155 ס"מ הוא מקסימלי לטנק // סיכות חיבור מודול LED (פינים דיגיטליים) #define CLK 8 #define DIO 9 TM1637 תצוגת תצוגה (CLK, DIO); // סיכות אחרות #define opMode 10

בנוסף לספריות TM1637 ו- NewPing, כללתי גם ספריית מתמטיקה, המעניקה לי גישה לפונקציית ה"עיגול ". אני משתמש בזה בחלק מהמתמטיקה כדי לאפשר לי להציג את האחוזים ל -5% הקרובים למשל.

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

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

// הגדר את כל הקטעים עבור כל הספרות

uint8_t בתים = {0x00, 0x00, 0x00, 0x00}; display.setSegments (בתים);

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

תמונה
תמונה

הסיביה המשמעותית ביותר בבת שולטת ב- DP, ואז 7 הסיביות הנותרות שולטות ב -7 הקטעים מ- G ל- A בסדר הפוך. אז כדי להציג את המספר 1 למשל, דורש מקטעים B ו- C, כך שהייצוג הבינארי יהיה '0b00000110'. (תודה ל- CircuitsToday.com על התמונה למעלה).

// קח 10 קריאות והשתמש בחציון משך הזמן.

int Dur = sonar.ping_median (10); // משך הזמן הוא במיקרו שניות אם (משך == 0) // שגיאת מדידה - הד חד משמעי או ללא הד {uint8_t bytes = {0x00, 0b01111001, 0b01010000, 0b01010000}; // פלחים לאיית "Err" display.setSegments (בתים); }

כאן, אני אומר ל- HC-SR04 לבצע 10 קריאות ולתת לי את התוצאה הממוצעת. אם לא מוחזר ערך, אז היחידה נמצאת מחוץ לטווח. לאחר מכן אני משתמש באותה טכניקה שלמעלה כדי לשלוט בקטעים ספציפיים ב -4 הספרות, כדי לאיית את האותיות (ריקות), E, r ו- r. השימוש בסימון בינארי מקשה מעט יותר על ההתייחסות בין הסיביות הבודדות למקטעים.

שלב 6: טעינת קוד ל- Arduino Pro Mini (ללא USB)

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

דבר אחד שלא שמתי לב אליו לגבי ה- Pro Mini, עד שכבר הזמנתי אותו, הוא שאין בו יציאת USB להורדת הסקיצה. אז, לאחר קצת חיפושים מטורפים, גיליתי שיש שתי דרכים לטעון סקיצה במקרה זה - האחת דורשת כבל מיוחד שעובר מה- USB במחשב האישי שלך, ל- 6 סיכות ספציפיות ב- Pro Mini. קבוצה זו של 6 סיכות ידועה כסיכות ISP (מתכנת במערכת), ואתה יכול למעשה להשתמש בשיטה זו על כל ארדואינו אם תרצה - אך מכיוון שממשק ה- USB זמין כמעט בכל שאר גרסאות ה- Arduino (I חושב), השימוש באפשרות זו הוא הרבה יותר פשוט. השיטה האחרת מחייבת שיהיה לך ארדואינו נוסף עם ממשק USB עליו, כדי לפעול כ'בין-בין '.

למרבה המזל, השימוש ב- Arduino Uno שלי פירושו שאוכל להשתמש בשיטה השנייה אותה אפרט לך בהמשך. הוא נקרא באמצעות 'Arduino as ISP'. בקצרה, אתם מעמיסים סקיצה מיוחדת על הארדואינו ה'בין-בין 'שהופך אותו לממשק סידורי. לאחר מכן טען את הסקיצה שלך בפועל, אך במקום אפשרות ההעלאה הרגילה, אתה משתמש באפשרות מתפריט IDE שמעלה 'באמצעות Arduino כספק אינטרנט'. ארדואינו ה'בין-בין 'לוקח את הסקיצה האמיתית שלך מה- IDE, ומעביר אותה לסיכות ספקית האינטרנט של ה- Pro Mini, במקום להעמיס אותה לזיכרון שלה. זה לא קשה ברגע שאתה מסדר את הראש איך זה עובד, אבל זו שכבה נוספת של מורכבות שאולי תרצה להימנע ממנה. אם זה המקרה, או שאין לך עוד Arduino שתוכל להשתמש בו כ'בין-בין ', אולי כדאי לך לקנות Arduino Nano, או אחד מדגמי גורם הטופס הקטן האחרים, הכולל את ממשק ה- USB והופך את התכנות לפשוט יותר.

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

  • מדריך העזר של Arduino - שימוש בארדואינו כספקית אינטרנט
  • סרטון היוטיוב של ג'וליאן אילט - שימוש בארדואינו כספק אינטרנט

מכיוון שב- Pro Mini אין את 6 סיכות ISP המקובצות בצורה נוחה יחד, עליך לפענח אילו מהסיכות הדיגיטליות מתייחסות ל -4 סיכות התכנות (שני החיבורים האחרים הם רק Vcc ו- Gnd - כך שהם די פשוטים). למזלכם, כבר עברתי את זה - ומוכן לחלוק אתכם את הידע - איזה בן אדם נדיב אני !!

ל- Arduino Uno, ועוד רבים אחרים ממשפחת Arduino, יש את 6 הסיכות מסודרות ביד בגוש 3x2, כך (תמונה מאת www.arduino.cc).

תמונה
תמונה

למרבה הצער, ה- Pro Mini לא. כפי שאתה יכול לראות להלן, הם די קלים לזיהוי והם עדיין מסודרים ב -2 בלוקים של 3 סיכות. MOSI, MISO ו- SCK זהים לסיכות הדיגיטליות 11, 12 ו -13 בהתאמה הן ב- Pro Mini והן ב- Arduino Uno, ובתכנות ISP, פשוט חבר 11 עד 11, 12 עד 12 ו -13 עד 13. ה- Pro יש לחבר את סיכת האיפוס של מיני לסיכה Uno 10, ואת ה- Vcc (5v)/הקרקע של Pro Mini צריך לחבר ל- Arduino +5v/Ground. (תמונה מאת www.arduino.cc)

תמונה
תמונה

שלב 7: הרכבה

הַרכָּבָה
הַרכָּבָה

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

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

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

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

לאחר מכן, הלחמתי את כל הרכיבים יחד כדי לבדוק שכולם עדיין עובדים לאחר הכיפוף והשחזה והקיצוץ שלי, לפני שהרכבתי את כולם למארז. אתה יכול לראות את חיבור המגשר ממש מתחת למודול התצוגה, עם סיכה 10 על הארדואינו (מוביל לבן) מחובר ל- Gnd, ובכך להכניס את היחידה למצב כיול. המסך קורא 122 ס מ מהספסל שלי - הוא כנראה קלט אות שהוחזר לאחור מהחלק העליון של מסגרת החלון (נמוך מדי מכדי להיות התקרה).

תמונה
תמונה

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

תמונה
תמונה

שלב 8: המאמר המוגמר

לאחר כמה בדיקות לאחר ההרכבה, ותיקון הקוד שלי כדי להסביר את עומק נתח העץ שהברגתי אליו את המכשיר (שאותו התעלמתי לגמרי מהחישובים שלי - אוף !!), הכל נעשה. סוף כל סוף!

בדיקה מורכבת

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

תמונה
תמונה

נראה שממעלה הספסל שלי לרצפה הוא 76 ס"מ (ובכן, 72 ס"מ בתוספת עומק 4 ס"מ של נתח העץ).

תמונה
תמונה

החלק התחתון של היחידה, המראה את המשדר והמקלט החובבים על נתח העץ - אני באמת צריך להפסיק לקרוא לזה נתח עץ - מכאן והלאה הוא יכונה פלטפורמת ייצוב מד ומיקום! למרבה המזל, זו כנראה הפעם האחרונה שאזכיר זאת;-)

אוי - אתה יכול לראות את כל השריטות המגעילות ואת סימני ההחלקה הזה …

תמונה
תמונה

… והנה הפריט המוגמר, ממוקם במצב הפעלה רגיל, ובאמת מודד את קיבולת הטנק שלי ל -5%הקרובים ביותר. זה היה יום ראשון אחר הצהריים הגשום (מאוד) שראה אותי מסיים את הפרויקט הזה, ומכאן טיפות הגשם על היחידה, והקריאה הנעימה של 90%.

תמונה
תמונה

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

אנא המשך לקרוא - על מה שקרה למחרת …!

שלב 9: Postscript - מאה (וחמישה) אחוזים?

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

הוצאתי את הדיפסטיק שלי וגיליתי שההנחות המקוריות שלי של 140 ס"מ כעומק המים המרבי, ו -16 ס"מ מרווח הראש (בהתבסס על הערכות חזותיות שנערכו מחוץ לטנק), היו קצת פחות מהמידות בפועל. כל כך חמוש בנתונים האמיתיים למדד 100% שלי, הצלחתי לשנות את הקוד שלי ולטעון מחדש את הארדואינו.

עומק המים המרבי מתברר כ- 147 ס"מ, כאשר נקודת המדידה יושבת על 160 ס"מ, ונותנת 13 ס"מ של מרווח הראש (סכום המרווח בתוך המיכל, גובה צוואר המיכל ועומק נתח … וואו, לא, מה ?! אני מתכוון לעומק של פלטפורמת ייצוב מד ומיקום הדיוק!).

לאחר תיקון משתני maxDepth ו- headroom בהתאם, כמו גם איפוס הטווח המרבי של אובייקט הסונאר ל -160 ס מ, בדיקה חוזרת מהירה הראתה 100% שירדה ל -95% כשהרמתי מעט את המד (כדי לדמות כמות קטנה של שימוש במים).

העבודה נעשתה!

נ.ב - זהו הניסיון הראשון שלי להדרכה. אם אתה אוהב את הסגנון שלי, חוש ההומור, הכנות להודות בטעויות (היי - אפילו שאני לא מושלם …) וכו ' - הודע לי על כך וזה עשוי לתת לי דחיפה לעשות עוד אחת.

שלב 10: מחשבות אחרונות

קיבולת ניתנת לשימוש

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

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

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

מוּמלָץ: