- Απαιτούμενα στοιχεία
- Nova PM Sensor SDS011
- Ενότητα οθόνης OLED 0,96 '
- Διάγραμμα κυκλώματος για αναλυτή ποιότητας αέρα
- Χτίζοντας το κύκλωμα στο Perf Board
- Επεξήγηση κωδικού για την παρακολούθηση ποιότητας αέρα
- Δοκιμή ελέγχου ποιότητας αέρα Arduino
Η ατμοσφαιρική ρύπανση είναι ένα σημαντικό ζήτημα σε πολλές πόλεις και ο δείκτης ποιότητας του αέρα επιδεινώνεται καθημερινά. Σύμφωνα με την έκθεση του Παγκόσμιου Οργανισμού Υγείας, περισσότεροι άνθρωποι σκοτώνονται πρόωρα από τις επιπτώσεις επικίνδυνων σωματιδίων που εμφανίζονται στον αέρα παρά από τροχαία ατυχήματα. Σύμφωνα με την Υπηρεσία Προστασίας Περιβάλλοντος (EPA), ο αέρας εσωτερικού χώρου μπορεί να είναι 2 έως 5 φορές πιο τοξικός από τον εξωτερικό αέρα. Εδώ λοιπόν κατασκευάζουμε μια συσκευή για την παρακολούθηση της ποιότητας του αέρα μετρώντας σωματίδια PM2.5 και PM10 στον αέρα.
Χρησιμοποιήσαμε προηγουμένως τον αισθητήρα αερίου MQ135 για την παρακολούθηση ποιότητας αέρα και τον αισθητήρα Sharp GP2Y1014AU0F για τη μέτρηση της πυκνότητας σκόνης στον αέρα. Αυτή τη φορά χρησιμοποιούμε έναν αισθητήρα SDS011 με το Arduino Nano για την κατασκευή αναλυτή ποιότητας αέρα. Ο αισθητήρας SDS011 μπορεί να υπολογίσει τις συγκεντρώσεις σωματιδίων PM2,5 και PM10 στον αέρα. Εδώ οι τιμές PM2.5 και PM 10 σε πραγματικό χρόνο θα εμφανίζονται στην οθόνη OLED.
Απαιτούμενα στοιχεία
- Arduino Nano
- Nova PM Sensor SDS011
- Ενότητα οθόνης OLED 0,96 'SPI
- Καλώδια αλτών
Nova PM Sensor SDS011
Ο αισθητήρας SDS011 είναι ένας πολύ πρόσφατος αισθητήρας ποιότητας αέρα που αναπτύχθηκε από τη Nova Fitness. Λειτουργεί με βάση την αρχή της σκέδασης με λέιζερ και μπορεί να πάρει τη συγκέντρωση σωματιδίων μεταξύ 0,3 έως 10μm στον αέρα. Αυτός ο αισθητήρας αποτελείται από έναν μικρό ανεμιστήρα, βαλβίδα εισόδου αέρα, δίοδο λέιζερ και φωτοδίοδο. Ο αέρας εισέρχεται μέσω της εισόδου αέρα όπου μια πηγή φωτός (Laser) φωτίζει τα σωματίδια και το διάσπαρτο φως μετατρέπεται σε σήμα από έναν φωτοανιχνευτή. Αυτά τα σήματα στη συνέχεια ενισχύονται και υποβάλλονται σε επεξεργασία για να ληφθεί η συγκέντρωση σωματιδίων των PM2.5 και PM10.
Προδιαγραφές αισθητήρα SDS011:
- Έξοδος: PM2.5, PM10
- Εύρος μέτρησης: 0,0-999,9μg / m3
- Τάση εισόδου: 4,7V έως 5,3V
- Μέγιστο ρεύμα: 100mA
- Ρεύμα ύπνου: 2mA
- Χρόνος απόκρισης: 1 δευτερόλεπτο
- Συχνότητα εξόδου σειριακών δεδομένων: 1 φορά / δευτερόλεπτο
- Ανάλυση διαμέτρου σωματιδίων: ≤ 0,3μm
- Σχετικό σφάλμα: 10%
- Εύρος θερμοκρασίας: -20 ~ 50 ° C
Ενότητα οθόνης OLED 0,96 '
Το OLED (Organic Light-Emitting Diodes) είναι μια τεχνολογία αυτόματης εκπομπής φωτός, κατασκευασμένη τοποθετώντας μια σειρά από οργανικά λεπτά φιλμ μεταξύ δύο αγωγών. Ένα φωτεινό φως παράγεται όταν εφαρμόζεται ηλεκτρικό ρεύμα σε αυτές τις μεμβράνες. Τα OLED χρησιμοποιούν την ίδια τεχνολογία με τις τηλεοράσεις, αλλά έχουν λιγότερα pixel από ό, τι στις περισσότερες τηλεοράσεις μας.
Για αυτό το έργο, χρησιμοποιούμε μια οθόνη OLED Monochrome 7-pin SSD1306 0,96 ”. Μπορεί να λειτουργήσει σε τρία διαφορετικά πρωτόκολλα επικοινωνίας: SPI 3 Wire mode, SPI four-wire mode και I2C mode. Οι ακίδες και οι λειτουργίες της εξηγούνται στον παρακάτω πίνακα:
Όνομα καρφιτσώματος |
Αλλα ονόματα |
Περιγραφή |
Gnd |
Εδαφος |
Καρφίτσα γείωσης της μονάδας |
Vdd |
Vcc, 5V |
Τροφοδοτικό (3-5V ανεκτό) |
SCK |
D0, SCL, CLK |
Λειτουργεί ως καρφίτσα ρολογιού. Χρησιμοποιείται τόσο για I2C όσο και για SPI |
SDA |
D1, MOSI |
Καρφίτσα δεδομένων της ενότητας. Χρησιμοποιείται τόσο για IIC όσο και για SPI |
ΑΠΕ |
RST, ΕΠΑΝΑΦΟΡΑ |
Επαναφέρει τη μονάδα (χρήσιμο κατά τη διάρκεια SPI) |
DC |
Α0 |
Καρφίτσα εντολών δεδομένων. Χρησιμοποιείται για πρωτόκολλο SPI |
CS |
Επιλογή τσιπ |
Χρήσιμο όταν περισσότερες από μία λειτουργικές μονάδες χρησιμοποιούνται στο πρωτόκολλο SPI |
Εδώ έχουμε καλύψει ένα πλήρες άρθρο σχετικά με τις οθόνες OLED και τους τύπους του.
Προδιαγραφές OLED:
- IC οδηγού OLED: SSD1306
- Ανάλυση: 128 x 64
- Οπτική γωνία:> 160 °
- Τάση εισόδου: 3.3V ~ 6V
- Χρώμα Pixel: Μπλε
- Θερμοκρασία λειτουργίας: -30 ° C ~ 70 ° C
Μάθετε περισσότερα για το OLED και τη διασύνδεσή του με διαφορετικούς μικροελεγκτές ακολουθώντας τον σύνδεσμο.
Διάγραμμα κυκλώματος για αναλυτή ποιότητας αέρα
Το διάγραμμα κυκλώματος για τη μέτρηση σωματιδίων PM2.5 και PM10 χρησιμοποιώντας Arduino είναι πολύ απλό και δίνεται παρακάτω.
Η μονάδα SDS011 Sensor και OLED Display τροφοδοτείται και με + 5V και GND. Οι ακίδες του πομπού και του δέκτη SDS011 συνδέονται με τους ακροδέκτες D3 και D4 του Arduino Nano. Δεδομένου ότι η ενότητα OLED Display χρησιμοποιεί επικοινωνία SPI, έχουμε δημιουργήσει μια επικοινωνία SPI μεταξύ της μονάδας OLED και του Arduino Nano. Οι συνδέσεις φαίνονται στον παρακάτω πίνακα:
ΝΟ |
Καρφίτσα μονάδας OLED |
Arduino Pin |
1 |
GND |
Εδαφος |
2 |
VCC |
5V |
3 |
Δ0 |
10 |
4 |
Δ1 |
9 |
5 |
ΑΠΕ |
13 |
6 |
DC |
11 |
7 |
CS |
12 |
Χτίζοντας το κύκλωμα στο Perf Board
Έχω κολλήσει επίσης όλα τα εξαρτήματα στον πίνακα perf για να το κάνω να φαίνεται τακτοποιημένο. Αλλά μπορείτε επίσης να τα φτιάξετε σε ένα breadboard. Οι σανίδες που έκανα είναι παρακάτω. Κατά τη συγκόλληση, βεβαιωθείτε ότι δεν ταξινομείτε τα καλώδια. Ο πίνακας perf που συγκολλήσαμε φαίνεται παρακάτω:
Επεξήγηση κωδικού για την παρακολούθηση ποιότητας αέρα
Ο πλήρης κωδικός για αυτό το έργο δίνεται στο τέλος του εγγράφου. Εδώ εξηγούμε ορισμένα σημαντικά μέρη του κώδικα.
Ο κώδικας χρησιμοποιεί τις SDS011, Adafruit_GFX , και Adafruit_SSD1306 βιβλιοθήκες. Αυτές οι βιβλιοθήκες μπορούν να ληφθούν από τη Διαχείριση βιβλιοθηκών στο Arduino IDE και μπορούν να εγκατασταθούν από εκεί. Για αυτό, ανοίξτε το Arduino IDE και μεταβείτε στο Σκίτσο> Συμπερίληψη βιβλιοθήκης> Διαχείριση βιβλιοθηκών . Τώρα αναζητήστε SDS011 και εγκαταστήστε τη βιβλιοθήκη αισθητήρα SDS από τον R. Zschiegner.
Ομοίως, εγκαταστήστε τις βιβλιοθήκες Adafruit GFX και Adafruit SSD1306 από το Adafruit.
Αφού εγκαταστήσετε τις βιβλιοθήκες στο Arduino IDE, ξεκινήστε τον κωδικό συμπεριλαμβάνοντας τα απαραίτητα αρχεία βιβλιοθήκης.
#περιλαμβάνω
Στις επόμενες γραμμές, ορίστε δύο μεταβλητές για να αποθηκεύσετε τις τιμές PM10 και PM2,5.
float p10, p25;
Στη συνέχεια, ορίστε το πλάτος και το ύψος OLED. Σε αυτό το έργο, χρησιμοποιούμε οθόνη OLED 128 × 64 SPI. Μπορείτε να αλλάξετε αυτές τις μεταβλητές SCREEN_WIDTH και SCREEN_HEIGHT ανάλογα με την οθόνη σας.
# καθορισμός SCREEN_WIDTH 128 # καθορισμός SCREEN_HEIGHT 64
Στη συνέχεια, ορίστε τους πείρους επικοινωνίας SPI όπου είναι συνδεδεμένη η οθόνη OLED.
# καθορισμός OLED_MOSI 9 # καθορισμός OLED_CLK 10 # ορισμός OLED_DC 11 # καθορισμός OLED_CS 12 # καθορισμός OLED_RESET 13
Στη συνέχεια, δημιουργήστε μια παρουσία εμφάνισης Adafruit με το πλάτος και το ύψος που ορίστηκε νωρίτερα με το πρωτόκολλο επικοινωνίας SPI.
Οθόνη Adafruit_SSD1306 (SCREEN_WIDTH, SCREEN_HEIGHT, OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS).
Τώρα μέσα στη λειτουργία setup () , αρχικοποιήστε το Serial Monitor με ρυθμό baud 9600 για σκοπούς εντοπισμού σφαλμάτων. Επίσης, αρχικοποιήστε την οθόνη OLED και τον αισθητήρα SDS011 με τη λειτουργία έναρξης () .
my_sds.begin (3,4); Serial.begin (9600); display.begin (SSD1306_SWITCHCAPVCC);
Μέσα στον κενό βρόχο (), διαβάστε τις τιμές PM10 και PM2,5 από τον αισθητήρα SDS011 και εκτυπώστε τις ενδείξεις σε μια σειριακή οθόνη.
void loop () {error = my_sds.read (& p25, & p10); εάν (! σφάλμα) {Serial.println ("P2.5:" + String (p25)); Serial.println ("P10:" + String (σελ10));
Μετά από αυτό, ορίστε το μέγεθος κειμένου και το χρώμα κειμένου χρησιμοποιώντας το setTextSize () και το setTextColor () .
display.setTextSize (2); display.setTextColor (ΛΕΥΚΟ);
Στη συνέχεια, στην επόμενη γραμμή, ορίστε τη θέση για να ξεκινήσετε το κείμενο χρησιμοποιώντας τη μέθοδο 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 (σελ25); display.setCursor (0,40); display.println ("PM10"); display.setCursor (67,40); display.println (σελ10);
Και τέλος, καλέστε τη μέθοδο οθόνης () για να εμφανίσετε το κείμενο στην Οθόνη OLED.
display.display (); display.clearDisplay ();
Δοκιμή ελέγχου ποιότητας αέρα Arduino
Μόλις το υλικό και ο κωδικός είναι έτοιμοι, είναι καιρός να δοκιμάσετε τη συσκευή. Για αυτό, συνδέστε το Arduino στον φορητό υπολογιστή, επιλέξτε την πλακέτα και τη θύρα και πατήστε το κουμπί μεταφόρτωσης. Όπως μπορείτε να δείτε στην παρακάτω εικόνα, θα εμφανίσει τις τιμές PM2,5 και PM10 στην οθόνη OLED.
Το πλήρες βίντεο και ο κωδικός εργασίας δίνονται παρακάτω. Ελπίζω να απολαύσατε το σεμινάριο και να μάθετε κάτι χρήσιμο. Εάν έχετε οποιεσδήποτε ερωτήσεις, αφήστε τις στην ενότητα σχολίων ή χρησιμοποιήστε τα φόρουμ μας για άλλες τεχνικές ερωτήσεις.