- רכיבים נדרשים
- חיישן ראש הממשלה נובה SDS011
- 0.96 'מודול תצוגת OLED
- תרשים מעגלים למנתח איכות אוויר
- בניית המעגל על לוח Perf
- הסבר קוד לפקח על איכות האוויר
- בדיקת צג איכות אוויר של Arduino
זיהום אוויר הוא נושא מרכזי בערים רבות ומדד איכות האוויר הולך ומחמיר מדי יום. על פי דו"ח ארגון הבריאות העולמי, יותר אנשים נהרגים בטרם עת בגלל ההשפעות של חלקיקים מסוכנים המוצגים באוויר מאשר מתאונות דרכים. על פי הסוכנות להגנת הסביבה (EPA), האוויר הפנימי יכול להיות רעיל פי 2 עד פי 5 מאשר האוויר בחוץ. אז הנה אנו בונים מכשיר לפיקוח על איכות האוויר על ידי מדידת חלקיקי PM2.5 ו- PM10 באוויר.
בעבר השתמשנו בחיישן הגז MQ135 לפקח על איכות האוויר ובחיישן Sharp GP2Y1014AU0F למדידת צפיפות האבק באוויר. הפעם אנו משתמשים בחיישן SDS011 עם Arduino Nano לבניית מנתח איכות האוויר. חיישן SDS011 יכול לחשב את הריכוזים של חלקיקי PM2.5 ו- PM10 באוויר. כאן ערכי PM2.5 ו- PM 10 בזמן אמת יוצגו בתצוגת ה- OLED.
רכיבים נדרשים
- ארדואינו ננו
- חיישן ראש הממשלה נובה SDS011
- 0.96 'מודול תצוגת SPI OLED
- חוטי מגשר
חיישן ראש הממשלה נובה SDS011
חיישן SDS011 הוא חיישן איכות אוויר עדכני שפותח על ידי Nova Fitness. זה עובד על פי העיקרון של פיזור לייזר ויכול לקבל את ריכוז החלקיקים בין 0.3 ל -10 מיקרומטר באוויר. חיישן זה מורכב ממאוורר קטן, שסתום כניסת אוויר, דיודת לייזר ופוטודיודה. האוויר נכנס דרך כניסת האוויר שם מקור אור (לייזר) מאיר את החלקיקים והאור המפוזר הופך לאות על ידי גלאי פוטו. אז אותות אלה מוגברים ומעובדים כדי לקבל את ריכוז החלקיקים של PM2.5 ו- PM10.
מפרט חיישן SDS011:
- פלט: PM2.5, PM10
- טווח מדידה: 0.0-999.9μg / m3
- מתח כניסה: 4.7V עד 5.3V
- זרם מרבי: 100mA
- זרם שינה: 2mA
- זמן תגובה: שנייה אחת
- תדר פלט נתונים סידורי: פעם / שנייה
- רזולוציית קוטר החלקיקים: ≤ 0.3μm
- שגיאה יחסית: 10%
- טווח טמפרטורות: -20 ~ 50 ° C
0.96 'מודול תצוגת OLED
OLED (דיודות פולטות אור אורגניות) היא טכנולוגיה הפולטת אור עצמית, שנבנתה על ידי הצבת סדרה של סרטים דקים אורגניים בין שני מוליכים. אור בהיר מופק כאשר זרם חשמלי מוחל על סרטים אלה. OLEDs משתמשים באותה טכנולוגיה כמו טלוויזיות, אך יש להם פחות פיקסלים מאשר ברוב הטלוויזיות שלנו.
לפרויקט זה אנו משתמשים בתצוגת OLED מונוכרום 7 פינים SSD1306 0.96 אינץ '. זה יכול לעבוד על שלושה פרוטוקולי תקשורת שונים: מצב חוט SPI 3, מצב ארבעה חוטים SPI ומצב I2C. הסיכות ותפקידיה מוסברים בטבלה שלהלן:
שם סיכה |
שמות אחרים |
תיאור |
Gnd |
קרקע, אדמה |
סיכת קרקע של המודול |
Vdd |
Vcc, 5V |
פינת חשמל (נסבלת 3-5 V) |
SCK |
D0, SCL, CLK |
פועל כסיכת השעון. משמש גם ל- I2C וגם ל- SPI |
SDA |
D1, MOSI |
סיכת נתונים של המודול. משמש גם ל- IIC וגם ל- SPI |
RES |
RST, RESET |
מאפס את המודול (שימושי במהלך SPI) |
זֶרֶם יָשָׁר |
A0 |
סיכת פקודת נתונים. משמש לפרוטוקול SPI |
CS |
בחר שבב |
שימושי כאשר משתמשים ביותר ממודול אחד תחת פרוטוקול SPI |
סקרנו כאן מאמר מלא על תצוגות OLED וסוגיה.
מפרט OLED:
- נהג OLED IC: SSD1306
- רזולוציה: 128 x 64
- זווית ראייה:> 160 °
- מתח כניסה: 3.3V ~ 6V
- צבע פיקסל: כחול
- טמפרטורת עבודה: -30 C ~ 70 C
למידע נוסף על OLED והתממשקותו עם מיקרו-בקרים שונים על ידי לחיצה על הקישור.
תרשים מעגלים למנתח איכות אוויר
תרשים המעגל למדידת חלקיקי PM2.5 ו- PM10 באמצעות ארדואינו פשוט מאוד ומובא להלן.
חיישן SDS011 ומודול תצוגת OLED שניהם מופעלים באמצעות + 5V ו- GND. סיכות המשדר והמקלט של SDS011 מחוברים לסיכות D3 ו- D4 של Arduino Nano. מכיוון שמודול ה- OLED Display משתמש בתקשורת SPI, הקמנו תקשורת SPI בין מודול ה- OLED לבין Arduino Nano. החיבורים מוצגים בטבלה שלהלן:
S.No |
סיכת מודול OLED |
פין ארדואינו |
1 |
GND |
קרקע, אדמה |
2 |
VCC |
5V |
3 |
D0 |
10 |
4 |
D1 |
9 |
5 |
RES |
13 |
6 |
זֶרֶם יָשָׁר |
11 |
7 |
CS |
12 |
בניית המעגל על לוח Perf
הלחמתי גם את כל הרכיבים על לוח הפרפום כדי שייראה מסודר. אבל אתה יכול גם להכין אותם על קרש לחם. הלוחות שהכנתי נמצאים למטה. בזמן ההלחמה, ודא שלא ממיינים את החוטים. לוח הפרפום שהלחמתי מוצג להלן:
הסבר קוד לפקח על איכות האוויר
הקוד השלם לפרויקט זה ניתן בסוף המסמך. כאן אנו מסבירים כמה חלקים חשובים בקוד.
קוד משתמש SDS011, Adafruit_GFX , ו Adafruit_SSD1306 ספריות. ניתן להוריד ספריות אלה ממנהל הספרייה ב- Arduino IDE וניתן להתקין אותן משם. לשם כך, פתח את IDE של Arduino ועבור אל סקיצה> כלול ספרייה> נהל ספריות . עכשיו חפש את SDS011 והתקן את ספריית ה- SDS Sensor על ידי R. Zschiegner.
באופן דומה, התקן את ספריות Adafruit GFX ו- Adafruit SSD1306 על ידי Adafruit.
לאחר התקנת הספריות ל- Arduino IDE, התחל את הקוד על ידי הכללת קבצי הספריה הדרושים.
#לִכלוֹל
בשורות הבאות, הגדירו שני משתנים לאחסון הערכים PM10 ו- PM2.5.
לצוף p10, p25;
לאחר מכן, הגדירו את רוחב וגובה ה- OLED. בפרויקט זה אנו משתמשים בתצוגת OLED של 128 × 64 SPI. אתה יכול לשנות את המשתנים SCREEN_WIDTH ו- SCREEN_HEIGHT בהתאם לתצוגה שלך.
#define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64
ואז הגדירו את סיכות התקשורת של SPI בהן מחובר OLED Display.
#define OLED_MOSI 9 #define OLED_CLK 10 #define OLED_DC 11 #define OLED_CS 12 #define OLED_RESET 13
לאחר מכן, צור מופע תצוגה של Adafruit עם הרוחב והגובה שהוגדרו קודם לכן באמצעות פרוטוקול התקשורת SPI.
תצוגת Adafruit_SSD1306 (SCREEN_WIDTH, SCREEN_HEIGHT, OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
כעת בתוך פונקציית setup () , אתחל את צג הסידורי בקצב שידור של 9600 למטרות ניפוי באגים. כמו כן, אתחל את תצוגת ה- OLED ואת חיישן ה- SDS011 באמצעות הפונקציה start () .
my_sds.begin (3,4); Serial.begin (9600); display.begin (SSD1306_SWITCHCAPVCC);
בתוך לולאת הריק () קרא את ערכי PM10 ו- PM2.5 מחיישן SDS011 והדפס את הקריאות על צג סדרתי.
לולאה בטלה () {error = my_sds.read (& p25, & p10); אם (! שגיאה) {Serial.println ("P2.5:" + מחרוזת (p25)); Serial.println ("P10:" + מחרוזת (p10));
לאחר מכן, הגדר את גודל הטקסט וצבע הטקסט באמצעות setTextSize () ו- setTextColor () .
display.setTextSize (2); display.setTextColor (WHITE);
ואז בשורה הבאה, הגדירו את המיקום להתחיל את הטקסט בשיטת setCursor (x, y) . כאן נציג את ערכי PM2.5 ו- PM10 בתצוגת OLED כך שהשורה הראשונה מתחילה ב (0,15) ואילו השורה השנייה מתחילה בקואורדינטות (0, 40).
display.setCursor (0,15); display.println ("PM2.5"); display.setCursor (67,15); display.println (p25); display.setCursor (0,40); display.println ("PM10"); display.setCursor (67,40); display.println (p10);
ולסיום, התקשרו לשיטת display () כדי להציג את הטקסט בתצוגת OLED.
display.display (); display.clearDisplay ();
בדיקת צג איכות אוויר של Arduino
לאחר שהחומרה והקוד מוכנים, הגיע הזמן לבדוק את המכשיר. לשם כך, חבר את הארדואינו למחשב הנייד, בחר את הלוח והנמל ולחץ על כפתור ההעלאה. כפי שניתן לראות בתמונה למטה, הוא יציג ערכי PM2.5 ו- PM10 בתצוגת OLED.
סרטון העבודה והקוד המלא מובאים להלן. מקווה שנהנית מההדרכה ולמדת משהו שימושי. אם יש לך שאלות, השאיר אותן בסעיף ההערות או השתמש בפורומים שלנו לשאילתות טכניות אחרות.