כ -71% מכדור הארץ מכוסים במים, אך לצערנו רק 2.5% מהם מי שתייה. עם עליית האוכלוסייה, הזיהום ושינויי האקלים, צפוי שעד 2025 נחווה מחסור רב שנתי במים. מצד אחד יש כבר מחלוקות קלות בין מדינות ומדינות על חלוקת מי נהר מצד שני אנו כבני אדם מבזבזים הרבה מי שתייה עקב רשלנותנו.
זה אולי לא נראה גדול בפעם הראשונה, אבל אם הברז שלך טפטף טיפת מים פעם בשנייה זה ייקח לך רק כחמש שעות לבזבז גלון מים אחד, זה מספיק מים לאדם ממוצע כדי לשרוד במשך שניים ימים. אז מה אפשר לעשות כדי לעצור את זה? כמו תמיד התשובה לכך, טמונה בשיפור הטכנולוגיה. אם אנו מחליפים את כל הברזים הידניים בחכמה שנפתחת ונסגרת בכוחות עצמה באופן אוטומטי לא רק שאנחנו יכולים לחסוך במים אלא גם עם אורח חיים בריא יותר מכיוון שאיננו צריכים להפעיל את הברז בידיים המלוכלכות שלנו. אז בפרויקט זה נבנה מתקן מים אוטומטי באמצעות ארדואינו ושסתום סולנואיד שיכול לתת לכם מים באופן אוטומטי כאשר מכניסים כוס לידו. נשמע מגניב נכון! אז בואו נבנה אחת…
חומרים נדרשים
- שסתום סולנואיד
- Arduino Uno (כל גרסה)
- HCSR04 - חיישן קולי
- IRF540 MOSFET
- נגד 1k ו 10k
- קרש לחם
- חוטי חיבור
קונספט עבודה
הרעיון שמאחורי מתקן המים האוטומטי הוא פשוט מאוד. נשתמש בחיישן HCSR04 אולטרסאונד כדי לבדוק אם חפץ כזה שהכוס מונחת לפני המתקן. שסתום סולנואיד ישמש לבקרת זרימת המים, כאשר כאשר הם מפעילים את המים יזרמו החוצה וכאשר יופסקו המים יופסקו. אז נכתוב תוכנית ארדואינו שבודקת תמיד אם אובייקט כלשהו ממוקם ליד הברז, אם כן הסולנואיד יופעל והמתין עד שהאובייקט יוסר, ברגע שהאובייקט יוסר, הסולנואיד יכבה באופן אוטומטי ובכך יסגור את אספקת מים. למידע נוסף על שימוש בחיישן קולי עם Arduino כאן.
תרשים מעגל
תרשים המעגל השלם עבור מתקן מים מבוסס Arduino מוצג להלן
שסתום הסולנואיד המשמש בפרויקט זה הוא שסתום 12V עם דירוג זרם מרבי של 1.2A ודירוג זרם רציף של 700mA. זה כאשר המסתם מופעל הוא ייצרך כ- 700 mA כדי לשמור על המסתם. כידוע, ארדואינו הוא לוח פיתוח הפועל עם 5 וולט ולכן אנו זקוקים למעגל נהג מיתוג עבור סולנואיד כדי להפעיל ולכבות אותו.
מכשיר המיתוג בשימוש בפרויקט זה הוא MOSFET IRF540N N-Channel. יש לו את 3 הפינים שער, מקור וניקוז מהסיכה 1 בהתאמה. כפי שמוצג בתרשים המעגל, המסוף החיובי של הסולנואיד מופעל באמצעות סיכת ה- Vin של הארדואינו. מכיוון שנשתמש במתאם 12 וולט להפעלת הארדואינו וכך פין הווין יפיק 12 וולט שבאמצעותו ניתן לשלוט על סולנואיד. המסוף השלילי של הסולנואיד מחובר לקרקע דרך סיכות המקור והניקוז של MOSFET. אז הסולנואיד יופעל רק אם ה- MOSFET מופעל.
סיכת השער של ה- MOSFET משמשת להפעלה או כיבוי. הוא יישאר כבוי אם סיכת השער מקורקעת ותופעל אם יופעל מתח שער. כדי לשמור על כיבוי ה- MOSFET כאשר לא מפעילים מתח על סיכת השער, סיכת השער נמשכת לקרקע למרות נגד 10k. סיכת Arduino 12 משמשת להפעלה או כיבוי של ה- MOSFET, כך שסיכת D12 מחוברת לסיכת השער דרך נגד 1K. נגד 1K זה משמש למטרות הגבלת זרם.
חיישן אולטרסאונד הוא מופעל על ידי סיכות + 5V ו הקרקע של Arduino. אקו ו טריגר הסיכה מחוברת הסיכה 8 ו 9 פינים בהתאמה. לאחר מכן נוכל לתכנת את הארדואינו להשתמש בחיישן האולטרה סאונד כדי למדוד את המרחק ולהפעיל את ה- MOSFET כאשר אובייקט מזהה. המעגל כולו פשוט ולכן ניתן לבנות אותו בקלות על גבי קרש לחם. שלי נראה משהו כזה למטה אחרי שביצע את הקשרים.
תכנות לוח Arduino
לפרויקט זה עלינו לכתוב תוכנית המשתמשת בחיישן האולטרסאונד HCSR-04 למדידת מרחק האובייקט שמולו. כאשר המרחק הוא פחות מ -10 ס"מ עלינו להפעיל את ה- MOSFET ואחרים עלינו לכבות את ה- MOSFET. אנו נשתמש גם בנורית הלוח המחוברת לסיכה 13 ונחליף אותה יחד עם ה- MOSFET כדי שנוכל להבטיח אם ה- MOSFET במצב מופעל או כבוי. התוכנית המלאה לעשות את אותו הדבר ניתנת בסוף דף זה. ממש למטה הסברתי את התוכנית על ידי פריצתו לקטעי מידע משמעותיים קטנים.
התוכנית מתחילה עם הגדרת פקודות מאקרו. יש לנו את ההדק ואת סיכת ההד לחיישן האולטראסוני וסיכת השער וה- LED של MOSFET כ- I / O עבור Arduino שלנו. אז הגדרנו לאיזה סיכה אלה יחוברו. בשנת החומרה שלנו אנו חברנו את סיכת אקו טריגר כדי 8 ו 9 ה פיניים דיגיטלי בהתאמה. ואז סיכת ה- MOSFET מחוברת לסיכה 12 והנורית המשולבת כברירת מחדל מחוברת לסיכה 13. אנו מגדירים אותה באמצעות השורות הבאות
# הגדר טריגר 9 # הגדר הד 8 # הגדר נורית 13 # הגדר MOSFET 12
בתוך פונקציית ההתקנה אנו מצהירים אילו פינים הם קלט ואילו פלט. בחומרה שלנו רק פין ההד של חיישן הקולי (ארה"ב) הוא סיכת הקלט וכל השאר הם פינים של פלט. אז אנו משתמשים בפונקציית pinMode של Arduino כדי לציין את זה כפי שמוצג להלן
pinMode (טריגר, OUTPUT); pinMode (הד, INPUT); pinMode (LED, OUTPUT); pinMode (MOSFET, OUTPUT);
בתוך פונקציית הלולאה הראשית אנו קוראים לפונקציה הנקראת measure_distance (). פונקציה זו משתמשת בחיישן האמריקאי כדי למדוד את מרחק האובייקט שמולו ומעדכן את הערך למשתנה ' מרחק' . כדי למדוד מרחק באמצעות חיישן ארה"ב יש להחזיק את סיכת ההדק תחילה נמוכה במשך שתי שניות מיקרו ואז להחזיק אותה גבוה במשך עשר מיקרו שניות ושוב להחזיק אותה נמוכה למשך שתי מיקרו שניות. זה ישלח פיצוץ קולי של אותות קולי לאוויר אשר ישתקף על ידי האובייקט שמולו וסיכת ההד תקלוט את האותות המשתקפים על ידו. לאחר מכן אנו משתמשים בערך הזמן שנדרש כדי לחשב את מרחק האובייקט לפני החיישן. אם אתה רוצה לדעת