- భాగాలు అవసరం
- 0.96 'OLED డిస్ప్లే మాడ్యూల్
- MQ-135 సెన్సార్ను సిద్ధం చేస్తోంది
- Arduino తో ఇంటర్ఫేస్ MQ135 కు సర్క్యూట్ రేఖాచిత్రం
- R ను లెక్కిస్తోంది
- Arduino MQ135 సెన్సార్ ఉపయోగించి CO2 ను కొలవడానికి కోడ్
- MQ-135 సెన్సార్ యొక్క ఇంటర్ఫేసింగ్ను పరీక్షిస్తోంది
భూమి యొక్క వాతావరణ CO2 స్థాయి రోజురోజుకు పెరుగుతోంది. 2019 లో ప్రపంచ సగటు వాతావరణ కార్బన్ డయాక్సైడ్ మిలియన్కు 409.8 భాగాలు, అక్టోబర్ -2020 లో ఇది 411.29. కార్బన్ డయాక్సైడ్ ఒక గ్రీన్హౌస్ వాయువు మరియు ఇది మూడొంతుల ఉద్గారాలకు కారణమవుతుంది. కాబట్టి CO2 స్థాయి పర్యవేక్షణ కూడా ప్రాముఖ్యతను పొందడం ప్రారంభించింది.
మా మునుపటి ప్రాజెక్ట్లో, గాలిలో CO2 గా ration తను కొలవడానికి గ్రావిటీ ఇన్ఫ్రారెడ్ CO2 సెన్సార్ను ఉపయోగించాము. ఈ ప్రాజెక్ట్లో, CO2 గా ration తను కొలవడానికి మేము ఆర్డునోతో MQ-135 సెన్సార్ను ఉపయోగించబోతున్నాము. కొలిచిన CO2 ఏకాగ్రత విలువలు OLED మాడ్యూల్లో ప్రదర్శించబడతాయి మరియు చివరిగా మేము Arduino MQ-135 సెన్సార్ రీడింగులను ఇన్ఫ్రారెడ్ CO2 సెన్సార్ రీడింగులతో పోలుస్తాము. CO2 కాకుండా, మేము ఆర్డునోను ఉపయోగించి LPG, పొగ మరియు అమ్మోనియా వాయువు యొక్క సాంద్రతను కూడా కొలిచాము.
భాగాలు అవసరం
- ఆర్డునో నానో
- MQ-135 సెన్సార్
- జంపర్ వైర్లు
- 0.96 'SPI OLED డిస్ప్లే మాడ్యూల్
- బ్రెడ్బోర్డ్
- 22KΩ రెసిస్టర్
0.96 'OLED డిస్ప్లే మాడ్యూల్
OLED (సేంద్రీయ కాంతి-ఉద్గార డయోడ్లు) ఒక స్వీయ కాంతి-ఉద్గార సాంకేతికత, ఇది రెండు కండక్టర్ల మధ్య సేంద్రీయ సన్నని చిత్రాల శ్రేణిని ఉంచడం ద్వారా నిర్మించబడింది. ఈ చిత్రాలకు విద్యుత్ ప్రవాహం వర్తించినప్పుడు ప్రకాశవంతమైన కాంతి ఉత్పత్తి అవుతుంది. OLED లు టెలివిజన్ల మాదిరిగానే సాంకేతిక పరిజ్ఞానాన్ని ఉపయోగిస్తున్నాయి, కాని మన టీవీల్లో కంటే తక్కువ పిక్సెల్లను కలిగి ఉన్నాయి.
ఈ ప్రాజెక్ట్ కోసం, మేము మోనోక్రోమ్ 7-పిన్ SSD1306 0.96 ”OLED డిస్ప్లేని ఉపయోగిస్తున్నాము. ఇది మూడు వేర్వేరు కమ్యూనికేషన్ ప్రోటోకాల్లలో పనిచేయగలదు: SPI 3 వైర్ మోడ్, SPI ఫోర్-వైర్ మోడ్ మరియు I2C మోడ్. లింక్ చేసిన కథనాన్ని చదవడం ద్వారా మీరు OLED డిస్ప్లే యొక్క ప్రాథమికాలు మరియు దాని రకాలను గురించి మరింత తెలుసుకోవచ్చు. పిన్స్ మరియు దాని విధులు క్రింది పట్టికలో వివరించబడ్డాయి:
పిన్ పేరు |
ఇతర పేర్లు |
వివరణ |
Gnd |
గ్రౌండ్ |
మాడ్యూల్ యొక్క గ్రౌండ్ పిన్ |
Vdd |
విసిసి, 5 వి |
పవర్ పిన్ (3-5 వి భరించదగినది) |
ఎస్.సి.కె. |
D0, SCL, CLK |
క్లాక్ పిన్గా పనిచేస్తుంది. I2C మరియు SPI రెండింటికీ ఉపయోగిస్తారు |
SDA |
డి 1, మోసి |
మాడ్యూల్ యొక్క డేటా పిన్. IIC మరియు SPI రెండింటికీ ఉపయోగిస్తారు |
RES |
RST, రీసెట్ |
మాడ్యూల్ను రీసెట్ చేస్తుంది (SPI సమయంలో ఉపయోగపడుతుంది) |
DC |
A0 |
డేటా కమాండ్ పిన్. SPI ప్రోటోకాల్ కోసం ఉపయోగిస్తారు |
సి.ఎస్ |
చిప్ సెలెక్ట్ |
SPI ప్రోటోకాల్ క్రింద ఒకటి కంటే ఎక్కువ మాడ్యూల్ ఉపయోగించినప్పుడు ఉపయోగపడుతుంది |
OLED లక్షణాలు:
- OLED డ్రైవర్ IC: SSD1306
- రిజల్యూషన్: 128 x 64
- విజువల్ యాంగిల్:> 160 °
- ఇన్పుట్ వోల్టేజ్: 3.3 వి ~ 6 వి
- పిక్సెల్ రంగు: నీలం
- పని ఉష్ణోగ్రత: -30 ° C ~ 70 ° C.
MQ-135 సెన్సార్ను సిద్ధం చేస్తోంది
MQ-135 గ్యాస్ సెన్సార్ అనేది NH3, NOx, ఆల్కహాల్, బెంజీన్, పొగ మరియు CO2 తో సహా విస్తృత శ్రేణి వాయువులను గుర్తించడానికి గాలి నాణ్యత సెన్సార్. MQ-135 సెన్సార్ మాడ్యూల్గా లేదా సెన్సార్గా మాత్రమే కొనుగోలు చేయవచ్చు. ఈ ప్రాజెక్ట్లో, PPM లో CO2 గా ration తను కొలవడానికి మేము MQ-135 సెన్సార్ మాడ్యూల్ను ఉపయోగిస్తున్నాము. MQ-135 బోర్డు కోసం సర్క్యూట్ రేఖాచిత్రం క్రింద ఇవ్వబడింది:
సెన్సార్ పని చేయడంలో లోడ్ రెసిస్టర్ RL చాలా ముఖ్యమైన పాత్ర పోషిస్తుంది. ఈ నిరోధకం వాయువు ఏకాగ్రత ప్రకారం దాని నిరోధక విలువను మారుస్తుంది. MQ-135 డేటాషీట్ ప్రకారం, లోడ్ రెసిస్టర్ విలువ 10KΩ నుండి 47KΩ వరకు ఉంటుంది. మీరు 100ppm NH3 లేదా 50ppm గాలిలో ఆల్కహాల్ గా ration త కోసం డిటెక్టర్ను క్రమాంకనం చేయాలని మరియు సుమారు 20 KΩ యొక్క లోడ్ నిరోధకత (RL) విలువను ఉపయోగించాలని డేటాషీట్ సిఫార్సు చేస్తుంది. బోర్డులో మీ RL విలువను కనుగొనడానికి మీరు మీ PCB జాడలను ట్రాక్ చేస్తే, మీరు 1KΩ (102) లోడ్ రెసిస్టర్ను చూడవచ్చు.
కాబట్టి తగిన CO2 గా ration త విలువలను కొలవడానికి, మీరు 1KΩ రెసిస్టర్ను 22KΩ రెసిస్టర్తో భర్తీ చేయాలి.
Arduino తో ఇంటర్ఫేస్ MQ135 కు సర్క్యూట్ రేఖాచిత్రం
MQ-135 గ్యాస్ సెన్సార్ను Arduino తో కనెక్ట్ చేయడానికి పూర్తి స్కీమాటిక్స్ క్రింద ఇవ్వబడింది:
మేము MQ-135 సెన్సార్ మరియు OLED డిస్ప్లే మాడ్యూల్ను Arduino నానోతో మాత్రమే కనెక్ట్ చేస్తున్నందున సర్క్యూట్ చాలా సులభం. MQ-135 గ్యాస్ సెన్సార్ మరియు OLED డిస్ప్లే మాడ్యూల్ రెండూ + 5V మరియు GND తో శక్తినిస్తాయి. MQ-135 సెన్సార్ యొక్క అనలాగ్ అవుట్ పిన్ Arduino నానో యొక్క A0 పిన్తో అనుసంధానించబడి ఉంది. OLED డిస్ప్లే మాడ్యూల్ SPI కమ్యూనికేషన్ను ఉపయోగిస్తున్నందున, మేము OLED మాడ్యూల్ మరియు Arduino నానోల మధ్య SPI కమ్యూనికేషన్ను ఏర్పాటు చేసాము. కనెక్షన్లు క్రింది పట్టికలో చూపించబడ్డాయి:
ఎస్ |
OLED మాడ్యూల్ పిన్ |
ఆర్డునో పిన్ |
1 |
GND |
గ్రౌండ్ |
2 |
వీసీసీ |
5 వి |
3 |
డి 0 |
10 |
4 |
డి 1 |
9 |
5 |
RES |
13 |
6 |
DC |
11 |
7 |
సి.ఎస్ |
12 |
సర్క్యూట్ రేఖాచిత్రం ప్రకారం హార్డ్వేర్ను కనెక్ట్ చేసిన తరువాత, ఆర్డునో MQ135 సెన్సార్ సెటప్ ఈ క్రింది విధంగా ఉండాలి:
R ను లెక్కిస్తోంది
ఇప్పుడు మనకు RL విలువ తెలుసు, R o విలువలను స్వచ్ఛమైన గాలిలో ఎలా లెక్కించాలో ముందుకు సాగండి. ఇక్కడ మనం గాలిలో CO2 గా ration తను కొలవడానికి MQ135.h ను ఉపయోగించబోతున్నాము. కాబట్టి మొదట MQ-135 లైబ్రరీని డౌన్లోడ్ చేసుకోండి, ఆపై R o విలువలను చదవడానికి ముందు 24 గంటలు సెన్సార్ను వేడి చేయండి. ప్రీహీటింగ్ ప్రక్రియ తరువాత, R o విలువలను చదవడానికి క్రింది కోడ్ను ఉపయోగించండి:
# "MQ135.h" శూన్య సెటప్ () {Serial.begin (9600); } శూన్య లూప్ () {MQ135 గ్యాస్సెన్సర్ = MQ135 (A0); // పిన్ A0 ఫ్లోట్ rzero = gasSensor.getRZero () కు సెన్సార్ను అటాచ్ చేయండి; సీరియల్.ప్రింట్ల్న్ (రజెరో); ఆలస్యం (1000); }
ఇప్పుడు మీకు R o విలువలు వచ్చాక , పత్రాలు> Arduino> లైబ్రరీలు> MQ135- మాస్టర్ ఫోల్డర్కు వెళ్లి MQ135.h ఫైల్ను తెరిచి RLOAD & RZERO విలువలను మార్చండి.
/// బోర్డులోని లోడ్ నిరోధకత # RLOAD 22.0 ని నిర్వచించండి /// వాతావరణ CO2 స్థాయిలో అమరిక నిరోధకత # RZERO 5804.99 ని నిర్వచించండి
ఇప్పుడు క్రిందికి స్క్రోల్ చేయండి మరియు ATMOCO2 విలువను ప్రస్తుత వాతావరణ CO2 తో భర్తీ చేయండి, అది 411.29
/// అమరిక ప్రయోజనాల కోసం వాతావరణ CO2 స్థాయి # ATMOCO2 397.13 ని నిర్వచించండి
Arduino MQ135 సెన్సార్ ఉపయోగించి CO2 ను కొలవడానికి కోడ్
ఆర్క్యూనోతో MQ-135 సెన్సార్ను ఇంటర్ఫేసింగ్ కోసం పూర్తి కోడ్ పత్రం చివరిలో ఇవ్వబడింది. ఇక్కడ మేము MQ135 Arduino కోడ్ యొక్క కొన్ని ముఖ్యమైన భాగాలను వివరిస్తున్నాము.
కోడ్ Adafruit_GFX , మరియు Adafruit_SSD1306 , మరియు MQ135.h లైబ్రరీలను ఉపయోగిస్తుంది. ఈ లైబ్రరీలను ఆర్డునో ఐడిఇలోని లైబ్రరీ మేనేజర్ నుండి డౌన్లోడ్ చేసుకొని అక్కడి నుండే ఇన్స్టాల్ చేసుకోవచ్చు. దాని కోసం, Arduino IDE ని తెరిచి, స్కెచ్ <లైబ్రరీని చేర్చండి <లైబ్రరీలను నిర్వహించండి . ఇప్పుడు అడాఫ్రూట్ జిఎఫ్ఎక్స్ కోసం శోధించండి మరియు అడాఫ్రూట్ చేత అడాఫ్రూట్ జిఎఫ్ఎక్స్ లైబ్రరీని ఇన్స్టాల్ చేయండి.
అదేవిధంగా, అడాఫ్రూట్ చేత అడాఫ్రూట్ SSD1306 లైబ్రరీలను వ్యవస్థాపించండి. MQ135 లైబ్రరీని ఇక్కడ నుండి డౌన్లోడ్ చేసుకోవచ్చు.
Arduino IDE కి లైబ్రరీలను ఇన్స్టాల్ చేసిన తరువాత, అవసరమైన లైబ్రరీల ఫైల్లను చేర్చడం ద్వారా కోడ్ను ప్రారంభించండి.
# చేర్చండి "MQ135.h" # చేర్చండి
అప్పుడు, 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);
ఆ తరువాత, MQ-135 సెన్సార్ అనుసంధానించబడిన Arduino పిన్ను నిర్వచించండి.
పూర్ణాంక సెన్సార్ఇన్ = A0;
ఇప్పుడు సెటప్ () ఫంక్షన్ లోపల, డీబగ్గింగ్ ప్రయోజనాల కోసం సీరియల్ మానిటర్ను 9600 బాడ్ రేటుతో ప్రారంభించండి. అలాగే, ప్రారంభ () ఫంక్షన్తో OLED డిస్ప్లేని ప్రారంభించండి .
సీరియల్.బెగిన్ (9600); display.begin (SSD1306_SWITCHCAPVCC); display.clearDisplay ();
లూప్ () ఫంక్షన్ లోపల, మొదట అనలాగ్ రీడ్ () ఫంక్షన్కు కాల్ చేయడం ద్వారా ఆర్డునో యొక్క అనలాగ్ పిన్ వద్ద సిగ్నల్ విలువలను చదవండి.
val = అనలాగ్ రీడ్ (A0); సీరియల్.ప్రింట్ ("raw =");
తరువాత పంక్తిలో, PPM విలువలను లెక్కించడానికి gasSensor.getPPM () కు కాల్ చేయండి. PPM విలువలు లోడ్ రెసిస్టర్, R 0 మరియు అనలాగ్ పిన్ నుండి చదవడం ఉపయోగించి లెక్కించబడతాయి.
ఫ్లోట్ ppm = gasSensor.getPPM (); సీరియల్.ప్రింట్ ("ppm:"); సీరియల్.ప్రింట్ల్న్ (పిపిఎం);
ఆ తరువాత, setTextSize () మరియు setTextColor () ఉపయోగించి టెక్స్ట్ పరిమాణం మరియు టెక్స్ట్ రంగును సెట్ చేయండి.
display.setTextSize (1); display.setTextColor (WHITE);
తదుపరి పంక్తిలో, సెట్ కర్సర్ (x, y) పద్ధతిని ఉపయోగించి టెక్స్ట్ ప్రారంభమయ్యే స్థానాన్ని నిర్వచించండి. Display.println () ఫంక్షన్ను ఉపయోగించి OLED డిస్ప్లేలో CO2 విలువలను ప్రింట్ చేయండి.
display.setCursor (18,43); display.println ("CO2"); display.setCursor (63,43); display.println ("(PPM)"); display.setTextSize (2); display.setCursor (28,5); display.println (ppm);
చివరికి, OLED డిస్ప్లేలో వచనాన్ని ప్రదర్శించడానికి డిస్ప్లే () పద్ధతిని పిలవండి.
display.display (); display.clearDisplay ();
MQ-135 సెన్సార్ యొక్క ఇంటర్ఫేసింగ్ను పరీక్షిస్తోంది
హార్డ్వేర్ మరియు కోడ్ సిద్ధమైన తర్వాత, సెన్సార్ను పరీక్షించడానికి ఇది సమయం. దాని కోసం, ఆర్డునోను ల్యాప్టాప్కు కనెక్ట్ చేయండి, బోర్డు మరియు పోర్ట్ను ఎంచుకుని, అప్లోడ్ బటన్ను నొక్కండి. అప్పుడు మీ సీరియల్ మానిటర్ తెరిచి కొంత సమయం వేచి ఉండండి (ప్రీహీట్ ప్రాసెస్), అప్పుడు మీరు తుది డేటాను చూస్తారు. క్రింద చూపిన విధంగా విలువలు OLED డిస్ప్లేలో ప్రదర్శించబడతాయి:
గాలిలో ఖచ్చితమైన CO2 ను కొలవడానికి MQ-135 సెన్సార్ను ఈ విధంగా ఉపయోగించవచ్చు. పూర్తి MQ135 ఎయిర్ క్వాలిటీ సెన్సార్ ఆర్డునో కోడ్ మరియు వర్కింగ్ వీడియో క్రింద ఇవ్వబడ్డాయి. మీకు ఏవైనా సందేహాలు ఉంటే, వాటిని వ్యాఖ్య విభాగంలో ఉంచండి.