- భాగాలు అవసరం
- నోవా PM సెన్సార్ SDS011
- 0.96 'OLED డిస్ప్లే మాడ్యూల్
- ఎయిర్ క్వాలిటీ ఎనలైజర్ కోసం సర్క్యూట్ రేఖాచిత్రం
- పెర్ఫ్ బోర్డులో సర్క్యూట్ను నిర్మించడం
- గాలి నాణ్యత మానిటర్ కోసం కోడ్ వివరణ
- ఆర్డునో ఎయిర్ క్వాలిటీ మానిటర్ టెస్టింగ్
అనేక నగరాల్లో వాయు కాలుష్యం ఒక ప్రధాన సమస్య మరియు గాలి నాణ్యత సూచిక ప్రతిరోజూ అధ్వాన్నంగా ఉంది. ప్రపంచ ఆరోగ్య సంస్థ నివేదిక ప్రకారం, కారు ప్రమాదాల కంటే గాలిలో సమర్పించబడిన ప్రమాదకర కణాల ప్రభావంతో ఎక్కువ మంది అకాల మరణిస్తారు. ఎన్విరాన్మెంటల్ ప్రొటెక్షన్ ఏజెన్సీ (ఇపిఎ) ప్రకారం, ఇండోర్ గాలి బహిరంగ గాలి కంటే 2 నుండి 5 రెట్లు ఎక్కువ విషపూరితమైనది. కాబట్టి ఇక్కడ మేము గాలిలోని PM2.5 మరియు PM10 కణాలను కొలవడం ద్వారా గాలి నాణ్యతను పర్యవేక్షించడానికి ఒక పరికరాన్ని నిర్మిస్తాము .
మేము గతంలో గాలి నాణ్యత మానిటర్ కోసం MQ135 గ్యాస్ సెన్సార్ మరియు గాలిలో ధూళి సాంద్రతను కొలవడానికి షార్ప్ GP2Y1014AU0F సెన్సార్ను ఉపయోగించాము. ఈసారి మేము ఎయిర్ క్వాలిటీ ఎనలైజర్ను నిర్మించడానికి ఆర్డునో నానోతో ఒక SDS011 సెన్సార్ను ఉపయోగిస్తున్నాము . SDS011 సెన్సార్ గాలిలోని PM2.5 మరియు PM10 కణాల సాంద్రతలను లెక్కించగలదు. ఇక్కడ రియల్ టైమ్ PM2.5 మరియు PM 10 విలువలు OLED డిస్ప్లేలో ప్రదర్శించబడతాయి.
భాగాలు అవసరం
- ఆర్డునో నానో
- నోవా PM సెన్సార్ SDS011
- 0.96 'SPI OLED డిస్ప్లే మాడ్యూల్
- జంపర్ వైర్లు
నోవా PM సెన్సార్ SDS011
SDS011 సెన్సార్ నోవా ఫిట్నెస్ అభివృద్ధి చేసిన ఇటీవలి ఎయిర్ క్వాలిటీ సెన్సార్. ఇది లేజర్ వికీర్ణం యొక్క సూత్రంపై పనిచేస్తుంది మరియు గాలిలో 0.3 నుండి 10μm మధ్య కణ సాంద్రతను పొందవచ్చు. ఈ సెన్సార్లో చిన్న ఫ్యాన్, ఎయిర్ ఇన్లెట్ వాల్వ్, లేజర్ డయోడ్ మరియు ఫోటోడియోడ్ ఉంటాయి. గాలి ఇన్లెట్ ద్వారా గాలి ప్రవేశిస్తుంది, ఇక్కడ ఒక కాంతి మూలం (లేజర్) కణాలను ప్రకాశిస్తుంది మరియు చెల్లాచెదురైన కాంతి ఫోటోడెటెక్టర్ ద్వారా సిగ్నల్గా మారుతుంది. ఈ సంకేతాలను PM2.5 మరియు PM10 యొక్క కణ సాంద్రత పొందడానికి విస్తరించి ప్రాసెస్ చేస్తారు.
SDS011 సెన్సార్ లక్షణాలు:
- అవుట్పుట్: PM2.5, PM10
- కొలత పరిధి: 0.0-999.9μg / m3
- ఇన్పుట్ వోల్టేజ్: 4.7 వి నుండి 5.3 వి
- గరిష్ట కరెంట్: 100 ఎంఏ
- స్లీప్ కరెంట్: 2 ఎంఏ
- ప్రతిస్పందన సమయం: 1 సెకను
- సీరియల్ డేటా అవుట్పుట్ ఫ్రీక్వెన్సీ: 1 సమయం / సెకను
- కణ వ్యాసం తీర్మానం: ≤ 0.3μm
- సాపేక్ష లోపం: 10%
- ఉష్ణోగ్రత పరిధి: -20 ~ 50 ° C.
0.96 'OLED డిస్ప్లే మాడ్యూల్
OLED (సేంద్రీయ కాంతి-ఉద్గార డయోడ్లు) ఒక స్వీయ కాంతి-ఉద్గార సాంకేతికత, ఇది రెండు కండక్టర్ల మధ్య సేంద్రీయ సన్నని చిత్రాల శ్రేణిని ఉంచడం ద్వారా నిర్మించబడింది. ఈ చిత్రాలకు విద్యుత్ ప్రవాహం వర్తించినప్పుడు ప్రకాశవంతమైన కాంతి ఉత్పత్తి అవుతుంది. OLED లు టెలివిజన్ల మాదిరిగానే సాంకేతిక పరిజ్ఞానాన్ని ఉపయోగిస్తున్నాయి, కాని మన టీవీల్లో కంటే తక్కువ పిక్సెల్లను కలిగి ఉన్నాయి.
ఈ ప్రాజెక్ట్ కోసం, మేము మోనోక్రోమ్ 7-పిన్ SSD1306 0.96 ”OLED డిస్ప్లేని ఉపయోగిస్తున్నాము. ఇది మూడు వేర్వేరు కమ్యూనికేషన్ ప్రోటోకాల్లలో పనిచేయగలదు: SPI 3 వైర్ మోడ్, SPI ఫోర్-వైర్ మోడ్ మరియు I2C మోడ్. పిన్స్ మరియు దాని విధులు క్రింది పట్టికలో వివరించబడ్డాయి:
పిన్ పేరు |
ఇతర పేర్లు |
వివరణ |
Gnd |
గ్రౌండ్ |
మాడ్యూల్ యొక్క గ్రౌండ్ పిన్ |
Vdd |
విసిసి, 5 వి |
పవర్ పిన్ (3-5 వి భరించదగినది) |
ఎస్.సి.కె. |
D0, SCL, CLK |
క్లాక్ పిన్గా పనిచేస్తుంది. I2C మరియు SPI రెండింటికీ ఉపయోగిస్తారు |
SDA |
డి 1, మోసి |
మాడ్యూల్ యొక్క డేటా పిన్. IIC మరియు SPI రెండింటికీ ఉపయోగిస్తారు |
RES |
RST, రీసెట్ |
మాడ్యూల్ను రీసెట్ చేస్తుంది (SPI సమయంలో ఉపయోగపడుతుంది) |
DC |
A0 |
డేటా కమాండ్ పిన్. SPI ప్రోటోకాల్ కోసం ఉపయోగిస్తారు |
సి.ఎస్ |
చిప్ సెలెక్ట్ |
SPI ప్రోటోకాల్ క్రింద ఒకటి కంటే ఎక్కువ మాడ్యూల్ ఉపయోగించినప్పుడు ఉపయోగపడుతుంది |
మేము ఇక్కడ OLED డిస్ప్లేలు మరియు దాని రకాలను పూర్తి కథనాన్ని కవర్ చేసాము.
OLED లక్షణాలు:
- OLED డ్రైవర్ IC: SSD1306
- రిజల్యూషన్: 128 x 64
- విజువల్ యాంగిల్:> 160 °
- ఇన్పుట్ వోల్టేజ్: 3.3 వి ~ 6 వి
- పిక్సెల్ రంగు: నీలం
- పని ఉష్ణోగ్రత: -30 ° C ~ 70 ° C.
లింక్ను అనుసరించడం ద్వారా OLED మరియు విభిన్న మైక్రోకంట్రోలర్లతో దాని ఇంటర్ఫేసింగ్ గురించి మరింత తెలుసుకోండి.
ఎయిర్ క్వాలిటీ ఎనలైజర్ కోసం సర్క్యూట్ రేఖాచిత్రం
ఆర్డునో ఉపయోగించి PM2.5 మరియు PM10 కణాలను కొలిచే సర్క్యూట్ రేఖాచిత్రం చాలా సులభం మరియు క్రింద ఇవ్వబడింది.
SDS011 సెన్సార్ మరియు OLED డిస్ప్లే మాడ్యూల్ రెండూ + 5V మరియు GND తో శక్తినిస్తాయి. SDS011 యొక్క ట్రాన్స్మిటర్ మరియు రిసీవర్ పిన్స్ Arduino నానో యొక్క D3 మరియు D4 పిన్లకు అనుసంధానించబడి ఉన్నాయి. OLED డిస్ప్లే మాడ్యూల్ SPI కమ్యూనికేషన్ను ఉపయోగిస్తున్నందున, మేము OLED మాడ్యూల్ మరియు Arduino నానోల మధ్య SPI కమ్యూనికేషన్ను ఏర్పాటు చేసాము. కనెక్షన్లు క్రింది పట్టికలో చూపించబడ్డాయి:
ఎస్ |
OLED మాడ్యూల్ పిన్ |
ఆర్డునో పిన్ |
1 |
GND |
గ్రౌండ్ |
2 |
వీసీసీ |
5 వి |
3 |
డి 0 |
10 |
4 |
డి 1 |
9 |
5 |
RES |
13 |
6 |
DC |
11 |
7 |
సి.ఎస్ |
12 |
పెర్ఫ్ బోర్డులో సర్క్యూట్ను నిర్మించడం
నేను చక్కగా కనిపించేలా పెర్ఫ్ బోర్డులోని అన్ని భాగాలను కూడా కరిగించాను. కానీ మీరు వాటిని బ్రెడ్బోర్డ్లో కూడా తయారు చేయవచ్చు. నేను చేసిన బోర్డులు క్రింద ఉన్నాయి. టంకం చేసేటప్పుడు, మీరు వైర్లను క్రమబద్ధీకరించవద్దని నిర్ధారించుకోండి. నేను సాల్డర్ చేసిన పెర్ఫ్ బోర్డు క్రింద చూపబడింది:
గాలి నాణ్యత మానిటర్ కోసం కోడ్ వివరణ
ఈ ప్రాజెక్ట్ కోసం పూర్తి కోడ్ పత్రం చివరిలో ఇవ్వబడింది. ఇక్కడ మేము కోడ్ యొక్క కొన్ని ముఖ్యమైన భాగాలను వివరిస్తున్నాము.
కోడ్ ఉపయోగిస్తుంది SDS011, Adafruit_GFX , మరియు Adafruit_SSD1306 లైబ్రరీలు. ఈ లైబ్రరీలను ఆర్డునో ఐడిఇలోని లైబ్రరీ మేనేజర్ నుండి డౌన్లోడ్ చేసుకోవచ్చు మరియు అక్కడ నుండి ఇన్స్టాల్ చేయవచ్చు. దాని కోసం, Arduino IDE తెరిచి, స్కెచ్> లైబ్రరీని చేర్చండి> లైబ్రరీలను నిర్వహించండి . ఇప్పుడు SDS011 కోసం శోధించండి మరియు R. Zschiegner చే SDS సెన్సార్ లైబ్రరీని వ్యవస్థాపించండి.
అదేవిధంగా, అడాఫ్రూట్ చేత అడాఫ్రూట్ జిఎఫ్ఎక్స్ మరియు అడాఫ్రూట్ ఎస్ఎస్డి 1306 లైబ్రరీలను ఇన్స్టాల్ చేయండి.
Arduino IDE కి లైబ్రరీలను ఇన్స్టాల్ చేసిన తరువాత, అవసరమైన లైబ్రరీ ఫైల్లను చేర్చడం ద్వారా కోడ్ను ప్రారంభించండి.
# చేర్చండి
తదుపరి పంక్తులలో, PM10 మరియు PM2.5 విలువలను నిల్వ చేయడానికి రెండు వేరియబుల్స్ నిర్వచించండి.
ఫ్లోట్ పి 10, పి 25;
అప్పుడు, OLED వెడల్పు మరియు ఎత్తును నిర్వచించండి. ఈ ప్రాజెక్ట్లో, మేము 128 × 64 SPI OLED డిస్ప్లేని ఉపయోగిస్తున్నాము. మీరు మీ ప్రదర్శన ప్రకారం ఆ SCREEN_WIDTH మరియు SCREEN_HEIGHT వేరియబుల్స్ మార్చవచ్చు.
# SCREEN_WIDTH 128 ను నిర్వచించండి # SCREEN_HEIGHT 64 ని నిర్వచించండి
OLED డిస్ప్లే కనెక్ట్ చేయబడిన SPI కమ్యూనికేషన్ పిన్లను నిర్వచించండి.
# OLED_MOSI 9 ని నిర్వచించండి # OLED_CLK 10 ని నిర్వచించండి # OLED_DC 11 ని నిర్వచించండి # OLED_CS 12 ని నిర్వచించండి # OLED_RESET 13 ని నిర్వచించండి
అప్పుడు, SPI కమ్యూనికేషన్ ప్రోటోకాల్తో ముందుగా నిర్వచించిన వెడల్పు మరియు ఎత్తుతో అడాఫ్రూట్ ప్రదర్శన ఉదాహరణను సృష్టించండి.
Adafruit_SSD1306 డిస్ప్లే (SCREEN_WIDTH, SCREEN_HEIGHT, OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
ఇప్పుడు సెటప్ () ఫంక్షన్ లోపల, డీబగ్గింగ్ ప్రయోజనాల కోసం సీరియల్ మానిటర్ను 9600 బాడ్ రేటుతో ప్రారంభించండి. అలాగే, ప్రారంభ () ఫంక్షన్తో OLED డిస్ప్లే మరియు SDS011 సెన్సార్ను ప్రారంభించండి .
my_sds.begin (3,4); సీరియల్.బెగిన్ (9600); display.begin (SSD1306_SWITCHCAPVCC);
శూన్య లూప్ () లోపల, SDS011 సెన్సార్ నుండి PM10 మరియు PM2.5 విలువలను చదవండి మరియు రీడింగులను సీరియల్ మానిటర్లో ముద్రించండి.
void loop () {error = my_sds.read (& p25, & p10); if (! error) {Serial.println ("P2.5:" + స్ట్రింగ్ (p25%); సీరియల్.ప్రింట్ల్న్ ("పి 10:" + స్ట్రింగ్ (పి 10));
ఆ తరువాత, setTextSize () మరియు setTextColor () ఉపయోగించి టెక్స్ట్ పరిమాణం మరియు టెక్స్ట్ రంగును సెట్ చేయండి.
display.setTextSize (2); display.setTextColor (WHITE);
తదుపరి పంక్తిలో, సెట్ కర్సర్ (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);
చివరకు, OLED డిస్ప్లేలో వచనాన్ని ప్రదర్శించడానికి డిస్ప్లే () పద్ధతిని పిలవండి.
display.display (); display.clearDisplay ();
ఆర్డునో ఎయిర్ క్వాలిటీ మానిటర్ టెస్టింగ్
హార్డ్వేర్ మరియు కోడ్ సిద్ధమైన తర్వాత, పరికరాన్ని పరీక్షించడానికి ఇది సమయం. దాని కోసం, ఆర్డునోను ల్యాప్టాప్కు కనెక్ట్ చేయండి, బోర్డు మరియు పోర్ట్ను ఎంచుకుని, అప్లోడ్ బటన్ను నొక్కండి. దిగువ చిత్రంలో మీరు చూడగలిగినట్లుగా, ఇది OLED డిస్ప్లేలో PM2.5 మరియు PM10 విలువలను ప్రదర్శిస్తుంది.
పూర్తి పని వీడియో మరియు కోడ్ క్రింద ఇవ్వబడ్డాయి. మీరు ట్యుటోరియల్ని ఆస్వాదించారని మరియు ఉపయోగకరమైనదాన్ని నేర్చుకున్నారని ఆశిస్తున్నాము. మీకు ఏవైనా ప్రశ్నలు ఉంటే, వాటిని వ్యాఖ్య విభాగంలో ఉంచండి లేదా ఇతర సాంకేతిక ప్రశ్నల కోసం మా ఫోరమ్లను ఉపయోగించండి.