- భాగాలు అవసరం
- PM2.5 మరియు PM10 ను కొలవడానికి నోవా PM సెన్సార్ SDS011
- 0.96 'OLED డిస్ప్లే మాడ్యూల్ యొక్క ప్రాథమికాలు
- కార్బన్ మోనాక్సైడ్ (CO) ను కొలవడానికి MQ-7 సెన్సార్ను సిద్ధం చేస్తోంది
- గాలి నాణ్యత సూచిక గణన
- సర్క్యూట్ రేఖాచిత్రం
- పెర్ఫ్ బోర్డులో ఎయిర్ క్వాలిటీ మానిటరింగ్ సిస్టమ్ సర్క్యూట్ను నిర్మించడం
- అడాఫ్రూట్ IO సెటప్
- కోసం కోడ్ వివరణ
- AQI మానిటరింగ్ సిస్టమ్ కోసం 3D ప్రింటెడ్ కేసింగ్
- AQI పర్యవేక్షణ వ్యవస్థను పరీక్షిస్తోంది
శీతాకాలం ప్రారంభమైనప్పుడు, మనపై వేలాడుతున్న గాలి పొగ మరియు దహనం చేసే పొలాలు, పారిశ్రామిక కర్మాగారాలు మరియు వాహనాల రాకపోకలతో గట్టిపడుతుంది, సూర్యుడిని అడ్డుకుంటుంది మరియు.పిరి పీల్చుకుంటుంది. అధిక స్థాయిలో వాయు కాలుష్యం మరియు COVID-19 మహమ్మారి ప్రమాదకరమైన మిశ్రమంగా ఉండవచ్చని, ఇది తీవ్రమైన పరిణామాలను కలిగిస్తుందని నిపుణులు అంటున్నారు. గాలి నాణ్యతను నిజ-సమయ పర్యవేక్షణ యొక్క ఆవశ్యకత చాలా మెరుస్తున్నది.
కాబట్టి ఈ ప్రాజెక్ట్లో, మేము నోవా PM SDS011 సెన్సార్, MQ-7 సెన్సార్ మరియు DHT11 సెన్సార్ ఉపయోగించి ESP32 ఎయిర్ క్వాలిటీ మానిటరింగ్ సిస్టమ్ను నిర్మించబోతున్నాము. మేము గాలి నాణ్యత విలువలను ప్రదర్శించడానికి OLED డిస్ప్లే మాడ్యూల్ను కూడా ఉపయోగిస్తాము. భారతదేశంలో ఎయిర్ క్వాలిటీ ఇండెక్స్ (AQI) ఎనిమిది కాలుష్య కారకాలపై ఆధారపడింది, PM10, PM2.5, SO2 మరియు NO2, CO, ఓజోన్, NH3 మరియు Pb. అయితే, కాలుష్య కారకాలన్నింటినీ కొలవడం అవసరం లేదు. కాబట్టి మేము గాలి నాణ్యత సూచికను లెక్కించడానికి PM2.5, PM10 మరియు కార్బన్ మోనాక్సైడ్ యొక్క గా ration తను కొలవబోతున్నాము. AQI విలువలు అడాఫ్రూట్ IO లో ప్రచురించబడతాయి, తద్వారా మేము ఎక్కడి నుండైనా పర్యవేక్షించగలము. ఇంతకుముందు మేము ఆర్డునో ఉపయోగించి LPG, పొగ మరియు అమ్మోనియా వాయువు యొక్క సాంద్రతను కూడా కొలిచాము.
భాగాలు అవసరం
- ESP32
- నోవా PM సెన్సార్ SDS011
- 0.96 'SPI OLED డిస్ప్లే మాడ్యూల్
- DHT11 సెన్సార్
- MQ-7 సెన్సార్
- జంపర్ వైర్లు
PM2.5 మరియు PM10 ను కొలవడానికి నోవా PM సెన్సార్ SDS011
SDS011 సెన్సార్ నోవా ఫిట్నెస్ అభివృద్ధి చేసిన ఇటీవలి ఎయిర్ క్వాలిటీ సెన్సార్. ఇది లేజర్ వికీర్ణం యొక్క సూత్రంపై పనిచేస్తుంది మరియు గాలిలో 0.3 నుండి 10μm మధ్య కణ సాంద్రతను పొందవచ్చు. ఈ సెన్సార్లో చిన్న ఫ్యాన్, ఎయిర్ ఇన్లెట్ వాల్వ్, లేజర్ డయోడ్ మరియు ఫోటోడియోడ్ ఉంటాయి. గాలి ఇన్లెట్ ద్వారా గాలి ప్రవేశిస్తుంది, ఇక్కడ ఒక కాంతి మూలం (లేజర్) కణాలను ప్రకాశిస్తుంది మరియు చెల్లాచెదురైన కాంతి ఫోటోడెటెక్టర్ ద్వారా సిగ్నల్గా మారుతుంది. ఈ సంకేతాలను PM2.5 మరియు PM10 యొక్క కణ సాంద్రత పొందడానికి విస్తరించి ప్రాసెస్ చేస్తారు. PM10 & PM2.5 గా concent తను లెక్కించడానికి మేము ఇంతకుముందు Arduino తో నోవా PM సెన్సార్ను ఉపయోగించాము.
SDS011 సెన్సార్ లక్షణాలు:
- అవుట్పుట్: PM2.5, PM10
- కొలత పరిధి: 0.0-999.9μg / m3
- ఇన్పుట్ వోల్టేజ్: 4.7 వి నుండి 5.3 వి
- గరిష్ట కరెంట్: 100 ఎంఏ
- స్లీప్ కరెంట్: 2 ఎంఏ
- ప్రతిస్పందన సమయం: 1 సెకను
- సీరియల్ డేటా అవుట్పుట్ ఫ్రీక్వెన్సీ: 1 సమయం / సెకను
- కణ వ్యాసం తీర్మానం:.30.3μm
- సాపేక్ష లోపం: 10%
- ఉష్ణోగ్రత పరిధి: -20 ~ 50 ° C.
0.96 'OLED డిస్ప్లే మాడ్యూల్ యొక్క ప్రాథమికాలు
OLED (సేంద్రీయ కాంతి ఉద్గార డయోడ్) అనేది ఒక రకమైన కాంతి ఉద్గార డయోడ్, ఇది సేంద్రీయ సమ్మేళనాలను ఉపయోగించి తయారవుతుంది, వాటి ద్వారా విద్యుత్ ప్రవాహాన్ని అనుమతించినప్పుడు ఉత్తేజపరుస్తుంది. ఈ సేంద్రీయ సమ్మేళనాలు వాటి స్వంత కాంతిని కలిగి ఉంటాయి, అందువల్ల వాటికి సాధారణ ఎల్సిడిల వంటి బ్యాక్లైట్ సర్క్యూట్రీ అవసరం లేదు. ఈ కారణంగా, OLED డిస్ప్లే టెక్నాలజీ శక్తి సామర్థ్యం మరియు టెలివిజన్లు మరియు ఇతర ప్రదర్శన ఉత్పత్తులలో విస్తృతంగా ఉపయోగించబడుతుంది.
ప్రదర్శన యొక్క రంగు, పిన్స్ సంఖ్య, పరిమాణం మరియు నియంత్రిక IC ఆధారంగా వివిధ రకాల OLED లు మార్కెట్లో అందుబాటులో ఉన్నాయి. ఈ ట్యుటోరియల్లో, మేము 128 పిక్సెల్ల వెడల్పు మరియు 64 పిక్సెల్ల పొడవు కలిగిన మోనోక్రోమ్ బ్లూ 7-పిన్ ఎస్ఎస్డి 1306 0.96 ”ఓఎల్ఇడి మాడ్యూల్ని ఉపయోగిస్తాము. ఈ 7-పిన్ OLED SPI ప్రోటోకాల్కు మద్దతు ఇస్తుంది మరియు కంట్రోలర్ IC SSD1306 అందుకున్న అక్షరాలను ప్రదర్శించడానికి OLED కి సహాయపడుతుంది. లింక్ను అనుసరించడం ద్వారా OLED మరియు విభిన్న మైక్రోకంట్రోలర్లతో దాని ఇంటర్ఫేసింగ్ గురించి మరింత తెలుసుకోండి.
కార్బన్ మోనాక్సైడ్ (CO) ను కొలవడానికి MQ-7 సెన్సార్ను సిద్ధం చేస్తోంది
MQ-7 CO కార్బన్ మోనాక్సైడ్ గ్యాస్ సెన్సార్ మాడ్యూల్ గాలిలో CO యొక్క సాంద్రతలను కనుగొంటుంది. సెన్సార్ 10 నుండి 10,000 పిపిఎమ్ సాంద్రతలను కొలవగలదు. MQ-7 సెన్సార్ మాడ్యూల్గా లేదా సెన్సార్గా మాత్రమే కొనుగోలు చేయవచ్చు. వివిధ వాయువులను గుర్తించడానికి మరియు కొలవడానికి ఇంతకుముందు మేము అనేక రకాల గ్యాస్ సెన్సార్లను ఉపయోగించాము, మీకు ఆసక్తి ఉంటే మీరు కూడా వాటిని తనిఖీ చేయవచ్చు. ఈ ప్రాజెక్ట్లో, పిపిఎమ్లో కార్బన్ మోనాక్సైడ్ గా ration తను కొలవడానికి మేము MQ-7 సెన్సార్ మాడ్యూల్ను ఉపయోగిస్తున్నాము. MQ-7 బోర్డు కోసం సర్క్యూట్ రేఖాచిత్రం క్రింద ఇవ్వబడింది:
సెన్సార్ పని చేయడంలో లోడ్ రెసిస్టర్ RL చాలా ముఖ్యమైన పాత్ర పోషిస్తుంది. ఈ నిరోధకం వాయువు ఏకాగ్రత ప్రకారం దాని నిరోధక విలువను మారుస్తుంది. MQ-7 సెన్సార్ బోర్డు 1KΩ యొక్క లోడ్ నిరోధకతతో వస్తుంది, ఇది పనికిరానిది మరియు సెన్సార్ రీడింగులను ప్రభావితం చేస్తుంది. కాబట్టి తగిన CO ఏకాగ్రత విలువలను కొలవడానికి, మీరు 1KΩ రెసిస్టర్ను 10KΩ రెసిస్టర్తో భర్తీ చేయాలి.
గాలి నాణ్యత సూచిక గణన
భారతదేశంలో AQI ఒక నిర్దిష్ట సమయ కాలుష్య కారకం యొక్క ప్రామాణిక సాంద్రత ఆధారంగా లెక్కించబడుతుంది (చాలా కాలుష్య కారకాలకు 24 గంటలు, కార్బన్ మోనాక్సైడ్ మరియు ఓజోన్ కోసం 8 గంటలు). ఉదాహరణకు, PM2.5 మరియు PM10 ల కొరకు AQI 24-గంటల సగటు ఏకాగ్రతపై ఆధారపడి ఉంటుంది మరియు కార్బన్ మోనాక్సైడ్ కొరకు AQI 8-గంటల సగటు ఏకాగ్రతపై ఆధారపడి ఉంటుంది). AQI లెక్కల్లో PM10, PM2.5, నైట్రోజన్ డయాక్సైడ్ (NO 2), సల్ఫర్ డయాక్సైడ్ (SO 2), కార్బన్ మోనాక్సైడ్ (CO), భూ-స్థాయి ఓజోన్ (O 3), అమ్మోనియా (NH 3), మరియు లీడ్ (పిబి). అయితే, కాలుష్య కారకాలన్నీ ప్రతి ప్రదేశంలో కొలవబడవు.
కాలుష్య కారకం యొక్క కొలిచిన 24-గంటల పరిసర సాంద్రతల ఆధారంగా, ఉప-సూచిక లెక్కించబడుతుంది, ఇది ఏకాగ్రత యొక్క సరళ విధి (ఉదా. PM2.5 కొరకు ఉప సూచిక ఏకాగ్రత 31 µg / m3 వద్ద 51, ఏకాగ్రత వద్ద 100 ఉంటుంది 60 g / m3, మరియు 75 45 µg / m3 గా ration త వద్ద). చెత్త ఉప-సూచిక (లేదా అన్ని పారామితులలో గరిష్టంగా) మొత్తం AQI ని నిర్ణయిస్తుంది.
సర్క్యూట్ రేఖాచిత్రం
IoT బేస్డ్ ఎయిర్ క్వాలిటీ మానిటరింగ్ సిస్టమ్ కోసం సర్క్యూట్ రేఖాచిత్రం చాలా సులభం మరియు క్రింద ఇవ్వబడింది:
SDS011 సెన్సార్, DHT11 మరియు MQ-7 సెన్సార్ + 5V తో శక్తినివ్వగా, OLED డిస్ప్లే మాడ్యూల్ 3.3V తో శక్తినిస్తుంది. SDS011 యొక్క ట్రాన్స్మిటర్ మరియు రిసీవర్ పిన్స్ ESP32 యొక్క GPIO16 & 17 కి అనుసంధానించబడి ఉన్నాయి. MQ-7 సెన్సార్ యొక్క అనలాగ్ అవుట్ పిన్ GPIO 25 కి కనెక్ట్ చేయబడింది మరియు DHT11 సెన్సార్ యొక్క డేటా పిన్ GPIO27 సెన్సార్కు అనుసంధానించబడి ఉంది. OLED డిస్ప్లే మాడ్యూల్ SPI కమ్యూనికేషన్ను ఉపయోగిస్తున్నందున, మేము OLED మాడ్యూల్ మరియు ESP32 ల మధ్య SPI కమ్యూనికేషన్ను ఏర్పాటు చేసాము. కనెక్షన్లు క్రింది పట్టికలో చూపించబడ్డాయి:
ఎస్ |
OLED మాడ్యూల్ పిన్ |
ESP32 పిన్ |
1 |
GND |
గ్రౌండ్ |
2 |
వీసీసీ |
5 వి |
3 |
డి 0 |
18 |
4 |
డి 1 |
23 |
5 |
RES |
2 |
6 |
DC |
4 |
7 |
సి.ఎస్ |
5 |
ఎస్ |
SDS011 పిన్ |
ESP32 పిన్ |
1 |
5 వి |
5 వి |
2 |
GND |
GND |
3 |
RX |
17 |
4 |
టిఎక్స్ |
16 |
ఎస్ |
DHT పిన్ |
ESP32 పిన్ |
1 |
విసిసి |
5 వి |
2 |
GND |
GND |
3 |
సమాచారం |
27 |
ఎస్ |
MQ-7 పిన్ |
ESP32 పిన్ |
1 |
విసిసి |
5 వి |
2 |
GND |
GND |
3 |
A0 |
25 |
పెర్ఫ్ బోర్డులో ఎయిర్ క్వాలిటీ మానిటరింగ్ సిస్టమ్ సర్క్యూట్ను నిర్మించడం
మీరు ప్రధాన చిత్రం నుండి చూడగలిగినట్లుగా, ఈ సర్క్యూట్ను 3 డి ప్రింటెడ్ కేసింగ్ లోపల ఉపయోగించాలనే ఆలోచన ఉంది. కాబట్టి పైన చూపిన పూర్తి సర్క్యూట్ ఒక పెర్ఫ్ బోర్డులో కరిగించబడుతుంది. OLED మరియు సెన్సార్లను మౌంట్ చేయడానికి తగినంత దూరం ఉంచడానికి వైర్లను ఉపయోగించాలని నిర్ధారించుకోండి. నా పెర్ఫ్ బోర్డు OLED కి కరిగించబడింది మరియు సెన్సార్ మాడ్యూల్ క్రింద చూపబడింది.
అడాఫ్రూట్ IO సెటప్
అడాఫ్రూట్ IO అనేది ఓపెన్ డేటా ప్లాట్ఫామ్, ఇది క్లౌడ్లోని ప్రత్యక్ష డేటాను సమగ్రపరచడానికి, దృశ్యమానం చేయడానికి మరియు విశ్లేషించడానికి మిమ్మల్ని అనుమతిస్తుంది. Adafruit IO ని ఉపయోగించి, మీరు ఇంటర్నెట్ ద్వారా మీ డేటాను అప్లోడ్ చేయవచ్చు, ప్రదర్శించవచ్చు మరియు పర్యవేక్షించవచ్చు మరియు మీ ప్రాజెక్ట్ IoT ఎనేబుల్ చెయ్యవచ్చు. మీరు మోటార్లు నియంత్రించవచ్చు, సెన్సార్ డేటాను చదవవచ్చు మరియు అడాఫ్రూట్ IO ని ఉపయోగించి ఇంటర్నెట్లో చల్లని IoT అనువర్తనాలను చేయవచ్చు.
Adafruit IO ని ఉపయోగించడానికి, మొదట Adafruit IO లో ఒక ఖాతాను సృష్టించండి. ఇది చేయుటకు, అడాఫ్రూట్ IO వెబ్సైట్కి వెళ్లి, స్క్రీన్ కుడి ఎగువ భాగంలో 'ఉచితంగా ప్రారంభించండి' పై క్లిక్ చేయండి.
ఖాతా సృష్టి ప్రక్రియను పూర్తి చేసిన తర్వాత, ఖాతాకు లాగిన్ అయి, ఖాతా వినియోగదారు పేరు మరియు AIO కీని పొందడానికి కుడి ఎగువ మూలలో ఉన్న 'వ్యూ AIO కీ' పై క్లిక్ చేయండి.
మీరు 'AIO కీ' పై క్లిక్ చేసినప్పుడు, ఒక విండో అడాఫ్రూట్ IO AIO కీ మరియు వినియోగదారు పేరుతో పాపప్ అవుతుంది. ఈ కీ మరియు వినియోగదారు పేరును కాపీ చేయండి, ఇది కోడ్లో ఉపయోగించబడుతుంది.
ఇప్పుడు, AIO కీలను పొందిన తరువాత, DHT సెన్సార్ డేటాను నిల్వ చేయడానికి ఫీడ్ను సృష్టించండి. ఫీడ్ సృష్టించడానికి, 'ఫీడ్' పై క్లిక్ చేయండి. ఆపై 'చర్యలు' పై క్లిక్ చేసి, ఆపై అందుబాటులో ఉన్న ఎంపికల నుండి 'క్రొత్త ఫీడ్ను సృష్టించు' ఎంచుకోండి.
దీని తరువాత, మీరు ఫీడ్ యొక్క పేరు మరియు వివరణను ఇన్పుట్ చేయాల్సిన చోట క్రొత్త విండో తెరవబడుతుంది. వివరణ రాయడం ఐచ్ఛికం.
దీని తరువాత 'సృష్టించు' పై క్లిక్ చేయండి; మీరు కొత్తగా సృష్టించిన ఫీడ్కు మళ్ళించబడతారు.
ఈ ప్రాజెక్ట్ కోసం, మేము PM10, PM2.5, CO, ఉష్ణోగ్రత, తేమ మరియు AQI విలువల కోసం మొత్తం ఆరు ఫీడ్లను సృష్టించాము. మిగిలిన ఫీడ్లను సృష్టించడానికి పైన చెప్పిన విధానాన్ని అనుసరించండి.
ఫీడ్లను సృష్టించిన తరువాత, ఇప్పుడు ఒకే పేజీలో సెన్సార్ డేటాను దృశ్యమానం చేయడానికి మేము అడాఫ్రూట్ IO డాష్బోర్డ్ లక్షణాన్ని సృష్టిస్తాము. దాని కోసం, మొదట, డాష్బోర్డ్ను సృష్టించండి, ఆపై ఈ ఫీడ్లన్నింటినీ ఆ డాష్బోర్డ్లో జోడించండి.
డాష్బోర్డ్ను సృష్టించడానికి, డాష్బోర్డ్ ఎంపికపై క్లిక్ చేసి, ఆపై 'యాక్షన్' పై క్లిక్ చేసి, దీని తరువాత, 'క్రొత్త డాష్బోర్డ్ను సృష్టించు' పై క్లిక్ చేయండి.
తదుపరి విండోలో, డాష్బోర్డ్ పేరును నమోదు చేసి, 'సృష్టించు' పై క్లిక్ చేయండి.
డాష్బోర్డ్ సృష్టించబడినందున, ఇప్పుడు డేటాను దృశ్యమానం చేయడానికి గేజ్ మరియు స్లైడర్ వంటి అడాఫ్రూట్ IO బ్లాక్లను ఉపయోగిస్తాము. బ్లాక్ను జోడించడానికి, కుడి ఎగువ మూలలోని '+' పై క్లిక్ చేయండి.
అప్పుడు 'గేజ్' బ్లాక్ను ఎంచుకోండి.
తదుపరి విండోలో, మీరు దృశ్యమానం చేయదలిచిన ఫీడ్ డేటాను ఎంచుకోండి.
చివరి దశలో, అనుకూలీకరించడానికి బ్లాక్ సెట్టింగులను మార్చండి.
ఇప్పుడు మిగిలిన ఫీడ్ల కోసం విజువలైజేషన్ బ్లాక్లను జోడించడానికి పైన చెప్పిన విధానాన్ని అనుసరించండి. నా అడాఫ్రూట్ IO డాష్బోర్డ్ ఇలా ఉంది:
కోసం కోడ్ వివరణ
ఈ ప్రాజెక్ట్ కోసం పూర్తి కోడ్ పత్రం చివరిలో ఇవ్వబడింది. ఇక్కడ మేము కోడ్ యొక్క కొన్ని ముఖ్యమైన భాగాలను వివరిస్తున్నాము.
కోడ్ SDS011, Adafruit_GFX, Adafruit_SSD1306, Adafruit_MQTT మరియు DHT.h లైబ్రరీలను ఉపయోగిస్తుంది. SDS011, Adafruit_GFX మరియు Adafruit_SSD1306 లైబ్రరీలను Arduino IDE లోని లైబ్రరీ మేనేజర్ నుండి డౌన్లోడ్ చేసుకొని అక్కడి నుండి ఇన్స్టాల్ చేసుకోవచ్చు. దాని కోసం, Arduino IDE ని తెరిచి, స్కెచ్ <లైబ్రరీని చేర్చండి <లైబ్రరీలను నిర్వహించండి . ఇప్పుడు SDS011 కోసం శోధించండి మరియు R. Zschiegner చే SDS సెన్సార్ లైబ్రరీని వ్యవస్థాపించండి.
అదేవిధంగా, అడాఫ్రూట్ చేత అడాఫ్రూట్ జిఎఫ్ఎక్స్ మరియు అడాఫ్రూట్ ఎస్ఎస్డి 1306 లైబ్రరీలను ఇన్స్టాల్ చేయండి. ఇచ్చిన లింకుల నుండి Adafruit_MQTT.h మరియు DHT11.h ని డౌన్లోడ్ చేసుకోవచ్చు.
Arduino IDE కి లైబ్రరీలను ఇన్స్టాల్ చేసిన తరువాత, అవసరమైన లైబ్రరీల ఫైల్లను చేర్చడం ద్వారా కోడ్ను ప్రారంభించండి.
# చేర్చండి
తదుపరి పంక్తులలో, OLED ప్రదర్శన వెడల్పు మరియు ఎత్తును నిర్వచించండి. ఈ ప్రాజెక్ట్లో, నేను 128 × 64 SPI OLED డిస్ప్లేని ఉపయోగించాను. మీరు మార్చవచ్చు SCREEN_WIDTH , మరియు SCREEN_HEIGHT మీ ప్రదర్శన ప్రకారం వేరియబుల్స్.
# SCREEN_WIDTH 128 ను నిర్వచించండి # SCREEN_HEIGHT 64 ని నిర్వచించండి
OLED డిస్ప్లే కనెక్ట్ చేయబడిన SPI కమ్యూనికేషన్ పిన్లను నిర్వచించండి.
# OLED_MOSI 23 ని నిర్వచించండి # OLED_CLK ని నిర్వచించండి # OLED_DC 4 ని నిర్వచించండి # OLED_CS 5 ని నిర్వచించండి # OLED_RESET 2 ని నిర్వచించండి
అప్పుడు, అడాఫ్రూట్ డిస్ప్లే కోసం వెడల్పు మరియు ఎత్తు మరియు ఇంతకు ముందు నిర్వచించిన SPI కమ్యూనికేషన్ ప్రోటోకాల్తో ఒక ఉదాహరణను సృష్టించండి.
Adafruit_SSD1306 డిస్ప్లే (SCREEN_WIDTH, SCREEN_HEIGHT, OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
అప్పుడు మీరు Adafruit IO సర్వర్ నుండి కాపీ చేసిన WiFi మరియు Adafruit IO ఆధారాలను చేర్చండి. వీటిలో MQTT సర్వర్, పోర్ట్ నం, యూజర్ నేమ్ మరియు AIO కీ ఉంటాయి.
const char * ssid = "గెలాక్సీ- M20"; const char * pass = "ac312124"; # MQTT_SERV "io.adafruit.com" ను నిర్వచించండి # MQTT_PORT 1883 ను నిర్వచించండి # MQTT_NAME "చౌదరియులను" నిర్వచించండి
సెన్సార్ డేటాను నిల్వ చేయడానికి అడాఫ్రూట్ IO ఫీడ్లను సెటప్ చేయండి. నా విషయంలో, విభిన్న సెన్సార్ డేటాను నిల్వ చేయడానికి నేను ఆరు ఫీడ్లను నిర్వచించాను, అవి: ఎయిర్ క్వాలిటీ, టెంపరేచర్, తేమ, PM10, PM25 మరియు CO.
Adafruit_MQTT_Client mqtt (& క్లయింట్, MQTT_SERV, MQTT_PORT, MQTT_NAME, MQTT_PASS); Adafruit_MQTT_ ప్రచురించు AirQuality = Adafruit_MQTT_ ప్రచురించండి (& mqtt, MQTT_NAME "/ f / AirQuality"); Adafruit_MQTT_ ప్రచురణ ఉష్ణోగ్రత = Adafruit_MQTT_ ప్రచురించండి (& mqtt, MQTT_NAME "/ f / Temperature"); Adafruit_MQTT_ ప్రచురించు తేమ = Adafruit_MQTT_ ప్రచురించండి (& mqtt, MQTT_NAME "/ f / తేమ"); Adafruit_MQTT_ ప్రచురించు PM10 = Adafruit_MQTT_ ప్రచురించండి (& mqtt, MQTT_NAME "/ f / PM10"); Adafruit_MQTT_ ప్రచురించు PM25 = Adafruit_MQTT_ ప్రచురించండి (& mqtt, MQTT_NAME "/ f / PM25"); Adafruit_MQTT_ ప్రచురించు CO = Adafruit_MQTT_ ప్రచురించండి (& mqtt, MQTT_NAME "/ f / CO");
ఇప్పుడు సెటప్ () ఫంక్షన్ లోపల, డీబగ్గింగ్ ప్రయోజనాల కోసం సీరియల్ మానిటర్ను 9600 బాడ్ రేటుతో ప్రారంభించండి. ప్రారంభ () ఫంక్షన్తో OLED డిస్ప్లే, DHT సెన్సార్ మరియు SDS011 సెన్సార్ను కూడా ప్రారంభించండి .
శూన్య సెటప్ () {my_sds.begin (16,17); సీరియల్.బెగిన్ (9600); dht.begin (); display.begin (SSD1306_SWITCHCAPVCC);
లూప్ లోపల సెటప్ ఫంక్షన్ ఒక నిర్వచించబడిన సంఖ్య విలువలు అప్ సేకరించడానికి మరియు తరువాత వోల్టేజ్ సున్నాకు కౌంటర్ సెట్ ఉపయోగిస్తారు.
(int thisReading1 = 0; thisReading1 <numReadingsPM10; thisReading1 ++) {readingsPM10 = 0; }
సెన్సార్ విలువలను చదవడం:
ఇప్పుడు లూప్ ఫంక్షన్ లోపల, ప్రతి గంటలో సెన్సార్ విలువలను చదవడానికి మిల్లిస్ () పద్ధతిని ఉపయోగించండి. ప్రతి గ్యాస్ సెన్సార్లు అనలాగ్ విలువను 0 నుండి 4095 వరకు ఉత్పత్తి చేస్తాయి. ఈ విలువను వోల్టేజ్గా మార్చడానికి, ఈ క్రింది సమీకరణాన్ని ఉపయోగించండి: RvRo = MQ7Raw * (3.3 / 4095); ఇక్కడ MQ7Raw అనేది సెన్సార్ యొక్క అనలాగ్ పిన్ నుండి అనలాగ్ విలువ. అలాగే, SDS011 సెన్సార్ నుండి PM2.5 మరియు PM10 రీడింగులను చదవండి.
if ((సంతకం చేయని పొడవు) (ప్రస్తుత మిల్లిస్ - మునుపటి మిల్లిస్)> = విరామం) {MQ7 రా = అనలాగ్ రీడ్ (iMQ7); RvRo = MQ7 రా * (3.3 / 4095); MQ7ppm = 3.027 * exp (1.0698 * (RvRo)); సీరియల్.ప్రింట్ల్న్ (MQ7ppm); లోపం = my_sds.read (& p25, & p10); if (! error) {Serial.println ("P2.5:" + స్ట్రింగ్ (p25%); సీరియల్.ప్రింట్ల్న్ ("పి 10:" + స్ట్రింగ్ (పి 10)); }}
విలువలను మార్చడం:
PM2.5 మరియు PM10 విలువలు ఇప్పటికే µg / m 3 లో ఉన్నాయి, కాని మేము కార్బన్ మోనాక్సైడ్ విలువలను PPM నుండి mg / m 3 గా మార్చాలి. మార్పిడి సూత్రం క్రింద ఇవ్వబడింది:
ఏకాగ్రత (mg / m 3) = ఏకాగ్రత (PPM) × (మాలిక్యులర్ మాస్ (g / mol) / మోలార్ వాల్యూమ్ (L))
ఎక్కడ: CO యొక్క పరమాణు ద్రవ్యరాశి 28.06 గ్రా / మోల్ మరియు మోలార్ వాల్యూమ్ 25 0 సి వద్ద 24.45 ఎల్
ఏకాగ్రత INmgm3 = MQ7ppm * (28.06 / 24.45); సీరియల్.ప్రింట్ల్న్ (ఏకాగ్రత INmgm3);
24-గంటల సగటును లెక్కిస్తోంది:
తరువాత పంక్తులలో, PM10, PM2.5 పఠనం కోసం 24 గంటల సగటు మరియు కార్బన్ మోనాక్సైడ్ రీడింగుల కోసం 8 గంటల సగటును లెక్కించండి. కోడ్ యొక్క మొదటి వరుసలో, ప్రస్తుత మొత్తాన్ని తీసుకోండి మరియు శ్రేణిలోని మొదటి మూలకాన్ని తీసివేయండి, ఇప్పుడు దీన్ని క్రొత్త మొత్తంగా సేవ్ చేయండి. ప్రారంభంలో, ఇది జీరో అవుతుంది. అప్పుడు సెన్సార్ విలువలను పొందండి మరియు ప్రస్తుత పఠనాన్ని మొత్తానికి జోడించి సంఖ్య సూచికను పెంచండి. సూచిక యొక్క విలువ numReadings కంటే సమానంగా లేదా అంతకంటే ఎక్కువ ఉంటే, అప్పుడు సూచికను తిరిగి సున్నాకి సెట్ చేయండి.
totalPM10 = totalPM10 - రీడింగ్లు PM10; రీడింగ్స్ పిఎం 10 = పి 10; totalPM10 = totalPM10 + readingsPM10; readIndexPM10 = readIndexPM10 + 1; if (readIndexPM10> = numReadingsPM10) {readIndexPM10 = 0; }
చివరికి, ఈ విలువలను అడాఫ్రూట్ IO లో ప్రచురించండి.
if (! Temperature.publish (ఉష్ణోగ్రత)) {ఆలస్యం (30000); } if (! తేమ. ప్రచురించు (తేమ)) {ఆలస్యం (30000); …………………………………………………. ………………………………………………….
AQI మానిటరింగ్ సిస్టమ్ కోసం 3D ప్రింటెడ్ కేసింగ్
తరువాత, నేను నా వెర్నియర్ ఉపయోగించి సెటప్ యొక్క కొలతలు కొలిచాను మరియు సెన్సింగ్ యొక్క కొలతలు మరియు ఒక కేసింగ్ రూపకల్పనకు OLED ను కూడా కొలిచాను. ఇది పూర్తయిన తర్వాత నా డిజైన్ ఈ విధంగా కనిపిస్తుంది.
నేను డిజైన్తో సంతృప్తి చెందిన తరువాత, నేను దానిని ఒక STL ఫైల్గా ఎగుమతి చేసాను, ప్రింటర్ సెట్టింగుల ఆధారంగా ముక్కలు చేసి, చివరకు దాన్ని ప్రింట్ చేసాను. మళ్ళీ STL ఫైల్ థింగైవర్స్ నుండి డౌన్లోడ్ చేసుకోవడానికి కూడా అందుబాటులో ఉంది మరియు మీరు దాన్ని ఉపయోగించి మీ కేసింగ్ను ప్రింట్ చేయవచ్చు.
ముద్రణ పూర్తయిన తర్వాత, దానిని శాశ్వత ఆవరణలో ఏర్పాటు చేసిన ప్రాజెక్ట్ను ఒక సదుపాయంలో వ్యవస్థాపించడానికి నేను ముందుకు సాగాను. పూర్తి కనెక్షన్తో, నేను సర్క్యూట్ను నా కేసింగ్లోకి సమీకరించాను మరియు మీరు ఇక్కడ చూడగలిగినట్లుగా ప్రతిదీ చక్కగా సరిపోతుంది.
AQI పర్యవేక్షణ వ్యవస్థను పరీక్షిస్తోంది
హార్డ్వేర్ మరియు కోడ్ సిద్ధమైన తర్వాత, పరికరాన్ని పరీక్షించడానికి ఇది సమయం. మేము పరికరానికి శక్తినిచ్చే బాహ్య 12V 1A అడాప్టర్ను ఉపయోగించాము. మీరు గమనిస్తే, పరికరం OLED డిస్ప్లేలో PM10, PM2.5 మరియు కార్బన్ మోనాక్సైడ్ యొక్క ఏకాగ్రతను ప్రదర్శిస్తుంది. PM2.5 మరియు PM10 యొక్క గా ration త µg / m 3 లో ఉండగా, కార్బన్ మోనాక్సైడ్ గా concent త mg / m 3 లో ఉంటుంది.
ఈ రీడింగులను అడాఫ్రూట్ IO డాష్బోర్డ్లో కూడా ప్రచురిస్తారు. అన్ని పారామితుల గరిష్ట (PM10, PM2.5 & CO) AQI అవుతుంది.
గత 30 రోజుల AQI విలువలు గ్రాఫ్గా చూపబడతాయి.
ఈ విధంగా మీరు గాలి నాణ్యత సూచికను లెక్కించడానికి SDS011 మరియు MQ-7 సెన్సార్లను ఉపయోగించవచ్చు. ప్రాజెక్ట్ యొక్క పూర్తి పని క్రింద లింక్ చేయబడిన వీడియోలో కూడా చూడవచ్చు. మీరు ప్రాజెక్ట్ను ఆస్వాదించారని మరియు మీ స్వంతంగా నిర్మించడం ఆసక్తికరంగా ఉందని ఆశిస్తున్నాము. మీకు ఏవైనా ప్రశ్నలు ఉంటే, దయచేసి వాటిని క్రింది వ్యాఖ్య విభాగంలో ఉంచండి.