- భాగాలు అవసరం
- పదునైన GP2Y1014AU0F సెన్సార్
- OLED డిస్ప్లే మాడ్యూల్
- సర్క్యూట్ రేఖాచిత్రం
- పెర్ఫ్ బోర్డులో సర్క్యూట్ను నిర్మించడం
- ఎయిర్ క్వాలిటీ ఎనలైజర్ కోసం కోడ్ వివరణ
- Arduino తో పదునైన GP2Y1014AU0F సెన్సార్ యొక్క ఇంటర్ఫేసింగ్ను పరీక్షిస్తోంది
అనేక నగరాల్లో వాయు కాలుష్యం ఒక ప్రధాన సమస్య మరియు గాలి నాణ్యత సూచిక ప్రతిరోజూ అధ్వాన్నంగా ఉంది. ప్రపంచ ఆరోగ్య సంస్థ నివేదిక ప్రకారం, కారు ప్రమాదాల కంటే గాలిలో సమర్పించబడిన ప్రమాదకర కణాల ప్రభావంతో ఎక్కువ మంది అకాల మరణిస్తారు. ఎన్విరాన్మెంటల్ ప్రొటెక్షన్ ఏజెన్సీ (ఇపిఎ) ప్రకారం, ఇండోర్ గాలి బహిరంగ గాలి కంటే 2 నుండి 5 రెట్లు ఎక్కువ విషపూరితమైనది. కాబట్టి ఇక్కడ మనం గాలిలోని దుమ్ము కణాల సాంద్రతను కొలవడం ద్వారా గాలి నాణ్యతను పర్యవేక్షించే ప్రాజెక్ట్ను నిర్మిస్తాము.
కాబట్టి మా మునుపటి ప్రాజెక్టులైన ఎల్పిజి డిటెక్టర్, స్మోక్ డిటెక్టర్ మరియు ఎయిర్ క్వాలిటీ మానిటర్ యొక్క కొనసాగింపుగా, ఇక్కడ మేము గాలిలోని ధూళి సాంద్రతను కొలవడానికి ఆర్డునో నానోతో షార్ప్ GP2Y1014AU0F సెన్సార్ను ఇంటర్ఫేస్ చేయబోతున్నాం. డస్ట్ సెన్సార్ మరియు ఆర్డునో నానో కాకుండా, కొలిచిన విలువలను ప్రదర్శించడానికి OLED డిస్ప్లే కూడా ఉపయోగించబడుతుంది. షార్ప్ యొక్క GP2Y1014AU0F డస్ట్ సెన్సార్ సిగరెట్ పొగ వంటి చాలా చక్కటి కణాలను గుర్తించడంలో చాలా ప్రభావవంతంగా ఉంటుంది. ఇది ఎయిర్ ప్యూరిఫైయర్స్ మరియు ఎయిర్ కండీషనర్లలో ఉపయోగం కోసం రూపొందించబడింది.
భాగాలు అవసరం
- ఆర్డునో నానో
- పదునైన GP2Y1014AU0F సెన్సార్
- 0.96 'SPI OLED డిస్ప్లే మాడ్యూల్
- జంపర్ వైర్లు
- 220 Capf కెపాసిటర్
- 150 రెసిస్టర్
పదునైన GP2Y1014AU0F సెన్సార్
షార్ప్ యొక్క GP2Y1014AU0F అనేది ఒక చిన్న సిక్స్-పిన్ అనలాగ్ అవుట్పుట్ ఆప్టికల్ ఎయిర్ క్వాలిటీ / ఆప్టికల్ డస్ట్ సెన్సార్, ఇది గాలిలోని దుమ్ము కణాలను గ్రహించడానికి రూపొందించబడింది. ఇది లేజర్ వికీర్ణం సూత్రంపై పనిచేస్తుంది. సెన్సార్ మాడ్యూల్ లోపల, ఇన్ఫ్రారెడ్ ఎమిటింగ్ డయోడ్ మరియు ఫోటోసెన్సర్ ఈ క్రింది చిత్రంలో చూపిన విధంగా ఎయిర్ ఇన్లెట్ రంధ్రం దగ్గర వికర్ణంగా అమర్చబడి ఉంటాయి:
ధూళి కణాలను కలిగి ఉన్న గాలి సెన్సార్ గదిలోకి ప్రవేశించినప్పుడు, దుమ్ము కణాలు ఫోటో-డిటెక్టర్ వైపు IR LED కాంతిని చెదరగొట్టాయి. చెల్లాచెదురైన కాంతి యొక్క తీవ్రత దుమ్ము కణాలపై ఆధారపడి ఉంటుంది. గాలిలో ఎక్కువ దుమ్ము కణాలు, కాంతి తీవ్రత ఎక్కువ. సెన్సార్ యొక్క V OUT పిన్ వద్ద అవుట్పుట్ వోల్టేజ్ చెల్లాచెదురైన కాంతి యొక్క తీవ్రతకు అనుగుణంగా మారుతుంది.
GP2Y1014AU0F సెన్సార్ పిన్అవుట్:
ముందు చెప్పినట్లుగా, GP2Y1014AU0F సెన్సార్ 6-పిన్ కనెక్టర్తో వస్తుంది. GP2Y1014AU0F కోసం పిన్ అసైన్మెంట్లను ఈ క్రింది బొమ్మ మరియు పట్టిక చూపిస్తుంది:
S. NO. |
పిన్ పేరు |
పిన్ వివరణ |
1 |
V-LED |
LED Vcc పిన్. 150Ω రెసిస్టర్ ద్వారా 5 వికి కనెక్ట్ అవ్వండి |
2 |
LED-GND |
LED గ్రౌండ్ పిన్. GND కి కనెక్ట్ చేయండి |
3 |
LED |
LED ని ఆన్ / ఆఫ్ టోగుల్ చేయడానికి ఉపయోగిస్తారు. Arduino యొక్క ఏదైనా డిజిటల్ పిన్తో కనెక్ట్ అవ్వండి |
4 |
S-GND |
సెన్సార్ గ్రౌండ్ పిన్. Arduino యొక్క GND కి కనెక్ట్ చేయండి |
5 |
V అవుట్ |
సెన్సార్ అనలాగ్ అవుట్పుట్ పిన్. ఏదైనా అనలాగ్ పిన్కు కనెక్ట్ చేయండి |
6 |
వి సిసి |
సానుకూల సరఫరా పిన్. Arduino యొక్క 5V కి కనెక్ట్ చేయండి |
GP2Y1014AU0F సెన్సార్ లక్షణాలు:
- తక్కువ ప్రస్తుత వినియోగం: 20 ఎంఏ గరిష్టంగా
- సాధారణ ఆపరేటింగ్ వోల్టేజ్: 4.5 వి నుండి 5.5 వి
- కనిష్టంగా గుర్తించదగిన దుమ్ము పరిమాణం: 0.5µm
- ధూళి సాంద్రత సెన్సింగ్ పరిధి: 580 ug / m 3 వరకు
- సెన్సింగ్ సమయం: 1 సెకను కన్నా తక్కువ
- కొలతలు: 1.81 x 1.18 x 0.69 '' (46.0 x 30.0 x 17.6 మిమీ)
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.
లింక్ను అనుసరించడం ద్వారా OLED మరియు విభిన్న మైక్రోకంట్రోలర్లతో దాని ఇంటర్ఫేసింగ్ గురించి మరింత తెలుసుకోండి.
సర్క్యూట్ రేఖాచిత్రం
ఆర్డునోతో పదునైన GP2Y1014AU0F సెన్సార్ ఇంటర్ఫేసింగ్ కోసం సర్క్యూట్ రేఖాచిత్రం క్రింద ఇవ్వబడింది:
మేము GP2Y10 సెన్సార్ మరియు OLED డిస్ప్లే మాడ్యూల్ను Arduino నానోతో మాత్రమే కనెక్ట్ చేస్తున్నందున సర్క్యూట్ చాలా సులభం. GP2Y10 సెన్సార్ మరియు OLED డిస్ప్లే మాడ్యూల్ రెండూ + 5V మరియు GND తో శక్తినిస్తాయి. V0 పిన్ Arduino నానో యొక్క A5 పిన్తో అనుసంధానించబడి ఉంది. సెన్సార్ యొక్క LED పిన్ Arduino యొక్క డిజిటల్ పిన్ 12 కి అనుసంధానించబడి ఉంది. OLED డిస్ప్లే మాడ్యూల్ SPI కమ్యూనికేషన్ను ఉపయోగిస్తున్నందున, మేము OLED మాడ్యూల్ మరియు Arduino నానోల మధ్య SPI కమ్యూనికేషన్ను ఏర్పాటు చేసాము. కనెక్షన్లు క్రింది పట్టికలో చూపించబడ్డాయి:
ఎస్ |
OLED మాడ్యూల్ పిన్ |
ఆర్డునో పిన్ |
1 |
GND |
గ్రౌండ్ |
2 |
వీసీసీ |
5 వి |
3 |
డి 0 |
10 |
4 |
డి 1 |
9 |
5 |
RES |
13 |
6 |
DC |
11 |
7 |
సి.ఎస్ |
12 |
ఎస్ |
సెన్సార్ పిన్ |
ఆర్డునో పిన్ |
1 |
విసిసి |
5 వి |
2 |
వి ఓ |
A5 |
3 |
S-GND |
GND |
4 |
LED |
7 |
5 |
LED-GND |
GND |
6 |
V-LED |
5V త్రూ 150Ω రెసిస్టర్ |
పెర్ఫ్ బోర్డులో సర్క్యూట్ను నిర్మించడం
పెర్ఫ్ బోర్డ్లోని అన్ని భాగాలను టంకం చేసిన తరువాత, ఇది క్రింద ఉన్నట్లు కనిపిస్తుంది. కానీ దీనిని బ్రెడ్బోర్డుపై కూడా నిర్మించవచ్చు. నేను SDS011 సెన్సార్ను ఇంటర్ఫేస్ చేయడానికి ఉపయోగించిన అదే బోర్డులో GP2Y1014 సెన్సార్ను కరిగించాను. టంకం చేసేటప్పుడు, మీ టంకము తీగలు ఒకదానికొకటి తగినంత దూరం ఉండేలా చూసుకోండి.
ఎయిర్ క్వాలిటీ ఎనలైజర్ కోసం కోడ్ వివరణ
ఈ ప్రాజెక్ట్ కోసం పూర్తి కోడ్ పత్రం చివరిలో ఇవ్వబడింది. ఇక్కడ మేము కోడ్ యొక్క కొన్ని ముఖ్యమైన భాగాలను వివరిస్తున్నాము.
కోడ్ ఉపయోగిస్తుంది Adafruit_GFX , మరియు Adafruit_SSD1306 లైబ్రరీలు. ఈ లైబ్రరీలను ఆర్డునో ఐడిఇలోని లైబ్రరీ మేనేజర్ నుండి డౌన్లోడ్ చేసుకొని అక్కడి నుండే ఇన్స్టాల్ చేసుకోవచ్చు. దాని కోసం, Arduino IDE ని తెరిచి, స్కెచ్ <లైబ్రరీని చేర్చండి <లైబ్రరీలను నిర్వహించండి . ఇప్పుడు అడాఫ్రూట్ జిఎఫ్ఎక్స్ కోసం శోధించండి మరియు అడాఫ్రూట్ చేత అడాఫ్రూట్ జిఎఫ్ఎక్స్ లైబ్రరీని ఇన్స్టాల్ చేయండి.
అదేవిధంగా, అడాఫ్రూట్ చేత అడాఫ్రూట్ SSD1306 లైబ్రరీలను వ్యవస్థాపించండి.
Arduino IDE కి లైబ్రరీలను ఇన్స్టాల్ చేసిన తరువాత, అవసరమైన లైబ్రరీల ఫైల్లను చేర్చడం ద్వారా కోడ్ను ప్రారంభించండి. ఆర్డ్యునో యొక్క అనలాగ్ పిన్ నుండి వోల్టేజ్ విలువలను నేరుగా చదువుతున్నందున డస్ట్ సెన్సార్కు లైబ్రరీ అవసరం లేదు.
# చేర్చండి
అప్పుడు, 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);
ఆ తరువాత, డస్ట్ సెన్సార్స్ సెన్స్ మరియు లీడ్ పిన్లను నిర్వచించండి. సెన్స్ పిన్ అనేది డస్ట్ సెన్సార్ యొక్క అవుట్పుట్ పిన్, ఇది వోల్టేజ్ విలువలను చదవడానికి ఉపయోగించబడుతుంది, అయితే ఐఆర్ లెడ్ను ఆన్ / ఆఫ్ చేయడానికి లీడ్ పిన్ ఉపయోగించబడుతుంది.
int sensePin = A5; int ledPin = 7;
ఇప్పుడు సెటప్ () ఫంక్షన్ లోపల, డీబగ్గింగ్ ప్రయోజనాల కోసం సీరియల్ మానిటర్ను 9600 బాడ్ రేటుతో ప్రారంభించండి. అలాగే, ప్రారంభ () ఫంక్షన్తో OLED డిస్ప్లేని ప్రారంభించండి .
సీరియల్.బెగిన్ (9600); display.begin (SSD1306_SWITCHCAPVCC);
లూప్ () ఫంక్షన్ లోపల, ఆర్డునో నానో యొక్క అనలాగ్ పిన్ 5 నుండి వోల్టేజ్ విలువలను చదవండి. మొదట, IR LED ని ఆన్ చేసి, ఆపై అవుట్పుట్ వోల్టేజ్ యొక్క పఠనం తీసుకునే ముందు 0.28ms వేచి ఉండండి. ఆ తరువాత, అనలాగ్ పిన్ నుండి వోల్టేజ్ విలువలను చదవండి. ఈ ఆపరేషన్ 40 నుండి 50 మైక్రోసెకన్లు పడుతుంది, కాబట్టి డస్ట్ సెన్సార్ ఆపివేయడానికి ముందు 40-మైక్రోసెకన్ల ఆలస్యాన్ని పరిచయం చేయండి. స్పెసిఫికేషన్ల ప్రకారం, ప్రతి 10 ఎంఎమ్లకు ఒకసారి ఎల్ఇడి పల్స్ చేయాలి, కాబట్టి మిగిలిన 10 ఎంఎస్ చక్రం = 10000 - 280 - 40 = 9680 మైక్రోసెకన్ల కోసం వేచి ఉండండి.
డిజిటల్ రైట్ (లెడ్పిన్, తక్కువ); delayMicroseconds (280); outVo = అనలాగ్ రీడ్ (సెన్స్ పిన్); delayMicroseconds (40); డిజిటల్ రైట్ (లెడ్పిన్, హై); delayMicroseconds (9680);
తరువాత పంక్తులలో, అవుట్పుట్ వోల్టేజ్ మరియు సిగ్నల్ విలువను ఉపయోగించి ధూళి సాంద్రతను లెక్కించండి.
sigVolt = outVo * (5/1024); డస్ట్ లెవెల్ = 0.17 * సిగ్ వోల్ట్ - 0.1;
ఆ తరువాత, setTextSize () మరియు setTextColor () ఉపయోగించి టెక్స్ట్ పరిమాణం మరియు టెక్స్ట్ రంగును సెట్ చేయండి.
display.setTextSize (1); display.setTextColor (WHITE);
తదుపరి పంక్తిలో, సెట్ కర్సర్ (x, y) పద్ధతిని ఉపయోగించి టెక్స్ట్ ప్రారంభమయ్యే స్థానాన్ని నిర్వచించండి. Display.println () ఫంక్షన్ను ఉపయోగించి OLED డిస్ప్లేలో డస్ట్ డెన్సిటీ విలువలను ప్రింట్ చేయండి.
display.println ("డస్ట్"); display.println ("సాంద్రత"); display.setTextSize (3); display.println (డస్ట్ లెవెల్);
చివరికి, OLED డిస్ప్లేలో వచనాన్ని ప్రదర్శించడానికి డిస్ప్లే () పద్ధతిని పిలవండి.
display.display (); display.clearDisplay ();
Arduino తో పదునైన GP2Y1014AU0F సెన్సార్ యొక్క ఇంటర్ఫేసింగ్ను పరీక్షిస్తోంది
హార్డ్వేర్ మరియు కోడ్ సిద్ధమైన తర్వాత, సెన్సార్ను పరీక్షించడానికి ఇది సమయం. దాని కోసం, ఆర్డునోను ల్యాప్టాప్కు కనెక్ట్ చేయండి, బోర్డు మరియు పోర్ట్ను ఎంచుకుని, అప్లోడ్ బటన్ను నొక్కండి. దిగువ చిత్రంలో మీరు చూడగలిగినట్లుగా, ఇది OLED డిస్ప్లేలో ధూళి సాంద్రతను ప్రదర్శిస్తుంది.
పూర్తి పని వీడియో మరియు కోడ్ క్రింద ఇవ్వబడ్డాయి. మీరు ట్యుటోరియల్ని ఆస్వాదించారని మరియు ఉపయోగకరమైనదాన్ని నేర్చుకున్నారని ఆశిస్తున్నాము. మీకు ఏవైనా ప్రశ్నలు ఉంటే, వాటిని వ్యాఖ్య విభాగంలో ఉంచండి లేదా ఇతర సాంకేతిక ప్రశ్నల కోసం మా ఫోరమ్లను ఉపయోగించండి.