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

נסה את הכלי שלנו לביטול בעיות





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



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

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



העיצוב:

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

אתה יכול לבחור את לוח הארדואינו המועדף עליך לפרויקט זה. המעגל מורכב משלושה חיישנים MQ-135, BMP180 ו- DHT11. בואו נראה מה כל חיישן עושה בפירוט.

חיישן MQ-135:

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

החיישן יכול לזהות שינוי בריכוז המזהמים באוויר ומוציא רמת מתח מתאימה. מתח המוצא של החיישן הוא ביחס ישר לרמת הריכוז הכימי באוויר.

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

תרשים מעגלים

ממשק חיישן MQ135 עם מעגל תחנת מזג אוויר

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

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

חיישן DHT11:

חיישן DHT11 ידוע בכינויו חיישן טמפרטורה ולחות. זה יכול למדוד טמפרטורה ולחות מהסביבה כפי שהשם מרמז.

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

הוא שולח נתונים של 8 סיביות בכל שנייה לארדואינו, כדי לפענח את האות שהתקבל, עלינו לכלול את הספרייה בקוד המיועד לטפל בו. הקישור לספרייה ניתן בחלק מאוחר יותר של המאמר.

תרשים מעגל:

ממשק DH11 עם ארדואינו

חיבור המעגל מחיישן לארדואינו הוא פשוט מאוד. פלט החיישן מחובר לסיכת A1 של ארדואינו. אספקת ה- Vcc ו- GND מחוברות לסיכות אספקת חשמל של ארדואינו.

הערה: אנא וודא כי החיישן שלך הביא נגד נגד משיכה, אם אין לו כזה חבר 4.7K משיכה כלפי מעלה בפין הפלט של חיישן DHT11.

חיישן BMP180:

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

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

תרשים מעגל:

ממשק BM180 עם Arduino
הוא משתמש בפרוטוקול תקשורת I2C, סיכת SDA עוברת ל- A4 של arduino ו- SCL עוברת ל- A5 של arduino. ה- Vcc ו- GND מחוברים לסיכות אספקת חשמל של ארדואינו.

חיבור LCD:

חיישן לחות באמצעות אדוינו


צג ה- LCD מציג את כל הנתונים מהחיישנים. החיבור בין תצוגת LCD לארדואינו הוא סטנדרטי. אנו יכולים למצוא חיבור דומה בפרויקטים רבים אחרים מבוססי LCD. כוון את פוטנציומטר 10K לקבלת נראות מיטבית מתצוגת LCD.

אב הטיפוס של המחבר:

תמונת אב טיפוס של תחנת מזג אוויר

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

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

הורד את קבצי הספרייה לפני העלאת הקוד:

ספריית DHT11: https://arduino-info.wikispaces.com/file/detail/DHT-lib.zip

ספריית BMP180: github.com/adafruit/Adafruit_BMP085_Unified.git

קוד תכנית:

#include
#include
#include
#include
#define DHTxxPIN A1
LiquidCrystal lcd(12,11,5,4,3,2)
dht DHT
Adafruit_BMP085 bmp
int ack
int input = A0
unsigned long A = 1000L
unsigned long B = A * 60
unsigned long C = B * 2
int low = 300
int med = 500
int high = 700
int x = 4000
void setup()
{
Serial.begin(9600)
lcd.begin(16,2)
lcd.setCursor(0,0)
lcd.print('Sensors are')
lcd.setCursor(0,1)
lcd.print('getting ready')
delay(C)
}
void loop()
{
ack=0
int chk = DHT.read11(DHTxxPIN)
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack=1
break
}
if(ack==0)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Temp(*C)= ')
lcd.print(DHT.temperature)
lcd.setCursor(0,1)
lcd.print('Humidity(%) = ')
lcd.print(DHT.humidity)
delay(x)
}
if(ack==1)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('NO DATA')
lcd.setCursor(0,1)
lcd.print('Check Sensor')
delay(x)
}
if (!bmp.begin())
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('BMP180 sensor')
lcd.setCursor(0,1)
lcd.print('not found')
while (1) {}
}
lcd.clear()
lcd.setCursor(0,0)
lcd.print('----Pressure---- ')
lcd.setCursor(0,1)
lcd.print(bmp.readPressure())
lcd.print(' Pascal')
delay(x)
lcd.clear()
lcd.setCursor(0,0)
lcd.print('----Altitude----')
lcd.setCursor(0,1)
lcd.print(bmp.readAltitude(101500))
lcd.print(' meter')
delay(x)
lcd.clear()
lcd.setCursor(0,0)
lcd.print(' Air Quality:')
if(analogRead(input)==0)
{
lcd.setCursor(0,1)
lcd.print(' Sensor Error')
delay(x)
}
if(analogRead(input)0)
{
lcd.setCursor(0,1)
lcd.print(' GOOD')
delay(x)
}
if(analogRead(input)>low && analogRead(input) {
lcd.setCursor(0,1)
lcd.print(' GETTING BAD')
delay(x)
}
if(analogRead(input)>=med && analogRead(input) {
lcd.setCursor(0,1)
lcd.print(' VERY POOR')
delay(x)
}
if(analogRead(input)>=high)
{
lcd.setCursor(0,1)
lcd.print(' WORST')
delay(x)
}
}

פתק:

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




קודם: כיצד לבנות מייבש בד פשוט לעונה גשומה הבא: מעגל מכוניות צעצוע המופעל באמצעות מחיאות כף