- מהי עכירות בנוזל?
- כיצד למדוד עכירות באמצעות ארדואינו?
- רכיבים הדרושים להכנת מד עכירות
- סקירה כללית של חיישן עכירות
- תכונות עיקריות של מודול עכירות
- ממשק חיישן עכירות עם ארדואינו - דיאגרמת מעגלים
- תכנות ארדואינו למדידת עכירות במים
כשמדובר בנוזלים, עכירות היא מונח חשוב. מכיוון שהוא ממלא תפקיד חשוב בדינמיקה הנוזלית ומשמש גם למדידת איכות המים. אז במדריך זה, בואו נדון מהי עכירות, כיצד למדוד את עכירות הנוזל באמצעות ארדואינו. אם אתה רוצה לקחת את הפרויקט הזה הלאה, אתה יכול גם לשקול להתממשק מד pH עם Arduino וגם לקרוא את ערך ה- pH של מים כדי להעריך טוב יותר את איכות המים. בעבר בנינו גם מכשיר ניטור איכות מים מבוסס IoT באמצעות ESP8266, אתה יכול גם לבדוק זאת אם אתה מעוניין בכך. עם זאת, בואו נתחיל
מהי עכירות בנוזל?
עכירות היא דרגת או רמת עננות או סמיכות של נוזל. זה קורה בגלל הימצאותם של מספר רב של חלקיקים בלתי נראים (בעין בלתי מזוינת) הדומים לעשן לבן באוויר. כאשר האור עובר דרך נוזלים, גלי האור מתפזרים בשל נוכחותם של חלקיקים זעירים אלה. עכירות הנוזל פרופורציונלית ישירות לחלקיקים התלויים החופשיים אם מספר החלקיקים מגביר את העכירות גם כן יגדל.
כיצד למדוד עכירות באמצעות ארדואינו?
כפי שציינתי קודם, עכירות מתרחשת עקב פיזור גלי האור, על מנת למדוד את העכירות עלינו למדוד את פיזור האור. עכירות נמדדת בדרך כלל ביחידות עכירות nephelometric (NTU) או יחידות עכירות ג'קסון (JTLJ), תלוי בשיטה בה משתמשים למדידה. שתי היחידות שוות בערך.
עכשיו בואו נראה איך עובד חיישן עכירות, יש לו שני חלקים, משדר ומקלט. המשדר מורכב ממקור אור שבדרך כלל מוביל ומעגל נהג. בקלט המקלט יש גלאי אור כמו פוטודיודה או LDR. אנו מציבים את הפתרון בין המשדר למקלט.
המשדר פשוט משדר את האור, שגלי האור עוברים דרך הפתרון והמקלט מקבל את האור. בדרך כלל (ללא נוכחות של פתרון) האור המועבר מקבל לחלוטין בצד המקלט. אך בנוכחות פתרון עכור, כמות האור המשודרת נמוכה מאוד. כלומר בצד המקלט, אנו מקבלים רק אור בעוצמה נמוכה ועוצמה זו היא ביחס הפוך לעכירות. אז נוכל למדוד את העכירות על ידי מדידת עוצמת האור אם עוצמת האור גבוהה, התמיסה פחות עכורה ואם עוצמת האור נמוכה מאוד זה אומר שהפתרון עכור יותר.
רכיבים הדרושים להכנת מד עכירות
- מודול עכירות
- ארדואינו
- 16 * 2 I2C LCD
- קתודה משותפת RGB LED
- קרש לחם
- חוטי מגשר
סקירה כללית של חיישן עכירות
חיישן העכירות המשמש בפרויקט זה מוצג להלן.
כפי שאתה יכול לראות, מודול חיישן עכירות זה מגיע עם 3 חלקים. מוליך עמיד למים, מעגל נהג וחוט מקשר. בדיקת הבדיקה מורכבת הן מהמשדר והן מהמקלט.
התמונה לעיל מראה, סוג זה של מודול משתמש בדיודת IR כמקור אור ומקלט IR כגלאי. אך עקרון העבודה זהה לקודם. החלק של הנהג (שמוצג למטה) מורכב ממגבר אופ וכמה רכיבים המגבירים את אות האור שזוהה.
ניתן לחבר את החיישן בפועל למודול זה באמצעות מחבר JST XH. יש לו שלושה פינים, VCC, קרקע ופלט. Vcc מתחבר ל- 5v וקרקע לקרקע. הפלט של מודול זה הוא ערך אנלוגי, כלומר הוא משתנה בהתאם לעוצמת האור.
תכונות עיקריות של מודול עכירות
- מתח הפעלה: 5VDC.
- זרם: 30mA (MAX).
- טמפרטורת הפעלה: -30 ° C עד 80 ° C.
- תואם עם Arduino, Raspberry Pi, AVR, PIC וכו '.
ממשק חיישן עכירות עם ארדואינו - דיאגרמת מעגלים
התרשים השלם לחיבור חיישן העכירות לארדואינו מוצג להלן, המעגל תוכנן באמצעות EasyEDA.
זוהי תרשים מעגל פשוט מאוד. הפלט של חיישן העכירות הוא אנלוגי כך שמחובר לסיכת A0 של Arduino, I2C LCD מחובר לסיכות I2C של Arduino שהוא SCL ל- A5 ו- SDA ל- A4. ואז נורית ה- RGB מחוברת לסיכה הדיגיטלית D2, D3 ו- D4. לאחר סיום החיבורים, הגדרת החומרה שלי נראית כך למטה.
חבר את ה- VCC של החיישן ל- Arduino 5v ואז חבר את האדמה לקרקע. סיכת הפלט של החיישן לאנלוגי 0 של Arduino. לאחר מכן, חבר VCC ואדמת מודול LCD ל- 5v ואדמה של Arduino. ואז SDA ל- A4 ו- SCL ל- A5, שני הפינים האלה הם הפינים I2C של Arduino. סוף סוף מחבר את האדמה של ה- RGB LED לקרקע של Arduino ומחבר ירוק ל- D3, כחול ל- D4, ואדום ל- D5.
תכנות ארדואינו למדידת עכירות במים
התוכנית היא להציג את ערכי העכירות בין 0 ל -100. כלומר, המונה צריך להציג 0 לנוזל טהור ו- 100 לערכים עכורים מאוד. קוד ארדואינו זה הוא גם פשוט מאוד והקוד השלם נמצא בתחתית דף זה.
ראשית, כללתי את ספריית הגבישים הנוזליים I2C מכיוון שאנו משתמשים ב- I2C LCD כדי למזער את החיבורים.
# כוללים
ואז הגדרתי מספר שלם עבור קלט חיישן.
int sensorPin = A0;
בחלק ההתקנה, הגדרתי את הפינים.
pinMode (3, OUTPUT); pinMode (4, OUTPUT); pinMode (5, OUTPUT);
בסעיף הלולאה, כפי שציינתי קודם, פלט החיישן הוא ערך אנלוגי. אז אנחנו צריכים לקרוא את הערכים האלה. בעזרת פונקציית Arduino AnalogRead , אנו יכולים לקרוא את ערכי הפלט בסעיף הלולאה.
int sensorValue = analogRead (sensorPin);
ראשית, עלינו להבין את התנהגות החיישן שלנו, כלומר עלינו לקרוא את הערך המינימלי והערך המרבי של חיישן העכירות. אנו יכולים לקרוא את הערך בצג הטורי באמצעות הפונקציה serial.println .
כדי לקבל ערכים אלה, ראשית, קרא את החיישן באופן חופשי ללא שום פתרון. קיבלתי ערך בסביבות 640 ואחרי זה, הנח חומר שחור בין המשדר למקלט, נקבל ערך שהוא הערך המינימלי, בדרך כלל, הערך הוא אפס. אז קיבלנו 640 כמקסימום ואפס כמינימום. כעת עלינו להמיר את הערכים הללו ל- 0-100
לשם כך השתמשתי בפונקציית המפה של ארדואינו.
עכירות int = מפה (sensorValue, 0,640, 100, 0);
ואז הצגתי את הערכים בתצוגת ה- LCD.
lcd.setCursor (0, 0); lcd.print ("עכירות:"); lcd.print (""); lcd.setCursor (10, 0); lcd.print (עכירות);
לאחר מכן, בעזרת תנאי אם נתתי תנאים אחרים.
אם (עכירות <20) { digitalWrite (2, HIGH); digitalWrite (3, LOW); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("שלה נקה"); }
פעולה זו תוביל לירוק פעיל ותציג "ברור" על LCD אם ערך העכירות נמוך מ -20.
אם ((עכירות> 20) && (עכירות <50)) { digitalWrite (2, LOW); digitalWrite (3, HIGH); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("ה- CLOUDY שלה"); }
פעולה זו תפעיל נורית כחולה ותציג "שלה מעונן" על גבי LCD אם ערך העכירות הוא בין 20 ל- 50.
אם ((עכירות> 50) { digitalWrite (2, LOW); digitalWrite (3, HIGH); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("שלה DIRTY"); }
פעולה זו תפעיל נורית אדומה ותציג "זה מלוכלך" על גבי LCD אם ערך העכירות גדול מ- 50 כמוצג להלן.
פשוט עקוב אחר דיאגרמת המעגל והעלה את הקוד, אם הכל יתקין, אתה אמור להיות מסוגל למדוד את עכירות המים ו- LCD צריך להציג את איכות המים כפי שמוצג לעיל.
שים לב שמד העכירות הזה מציג את אחוז העכירות וייתכן שזה לא ערך תעשייתי מדויק, אך עדיין ניתן להשתמש בו כדי להשוות את איכות המים של שני מים. את העבודה המלאה של פרויקט זה תוכלו למצוא בסרטון למטה. מקווה שנהנית מההדרכה ולמד משהו שימושי אם יש לך שאלה כלשהי, אתה יכול להשאיר אותם בסעיף ההערות למטה או להשתמש בפורומים CircuitDigest לפרסום השאלות הטכניות שלך או להתחיל דיון רלוונטי.