ఈ ట్యుటోరియల్లో మేము BMP180 మరియు ARDUINO ఉపయోగించి బారోమెట్రిక్ ప్రెజర్ మెజరింగ్ సిస్టమ్ను రూపొందించబోతున్నాం. మొదట BMP180 ను ARDUINO కి ఇంటర్ఫేస్ చేయడానికి, మేము BMP180 కోసం ప్రత్యేకంగా రూపొందించిన లైబ్రరీని డౌన్లోడ్ చేసుకోవాలి. ఈ లైబ్రరీ ఇక్కడ అందుబాటులో ఉంది: https://github.com/adafruit/Adafruit-BMP085- లైబ్రరీ ఆ లైబ్రరీని అటాచ్ చేసిన తరువాత, మేము BMP180 సెన్సార్తో పని చేయడాన్ని సులభతరం చేసే ప్రత్యేక ఫంక్షన్లను పిలుస్తాము.
భాగాలు అవసరం
హార్డ్వేర్: ఆర్డునో యునో బోర్డ్, కనెక్ట్ పిన్స్, 220Ω రెసిస్టర్, బిఎమ్పి 180 బారోమెట్రిక్ ప్రెజర్ సెన్సార్, 16x2 ఎల్సిడి, బ్రెడ్ బోర్డ్.
సాఫ్ట్వేర్: అర్డునో రాత్రి
సర్క్యూట్ రేఖాచిత్రం & వర్కింగ్ వివరణ
హెడర్ కోసం పిలిచిన తరువాత, ఆర్డునో యునో మరియు బిఎమ్పి 180 సెన్సార్ మధ్య కమ్యూనికేషన్ను స్థాపించడానికి మేము ఆందోళన చెందాల్సిన అవసరం లేదు. మేము ప్రత్యేక ఫంక్షన్లలో కాల్ చేయవచ్చు, అది మనకు చేస్తుంది. మేము ఒక LCD ని మాత్రమే ప్రారంభించాలి మరియు దానిపై SENSOR నుండి పిలువబడే విలువలను చూపించాలి.
16x2 LCD లో బ్యాక్ లైట్ ఉంటే అన్నింటికంటే 16 పిన్స్ ఉన్నాయి, బ్యాక్ లైట్ లేకపోతే మొత్తం 14 పిన్స్ ఉంటాయి. బ్యాక్ లైట్ పిన్లను శక్తివంతం చేయవచ్చు లేదా వదిలివేయవచ్చు. ఇప్పుడు 14 పిన్లలో 8 డేటా పిన్స్ (7-14 లేదా డి 0-డి 7), 2 విద్యుత్ సరఫరా పిన్స్ (1 & 2 లేదా విఎస్ఎస్ & విడిడి లేదా జిఎన్డి & + 5 వి), కాంట్రాస్ట్ కంట్రోల్ కోసం 3 వ పిన్ ఉన్నాయి (అక్షరాలు ఎంత మందంగా ఉండాలో VEE- నియంత్రిస్తుంది చూపబడింది) మరియు 3 కంట్రోల్ పిన్స్ (RS & RW & E).
సర్క్యూట్లో, నేను రెండు కంట్రోల్ పిన్స్ మాత్రమే తీసుకున్నానని మీరు గమనించవచ్చు, కాంట్రాస్ట్ బిట్ మరియు READ / WRITE తరచుగా ఉపయోగించబడవు కాబట్టి వాటిని భూమికి తగ్గించవచ్చు. ఇది ఎల్సిడిని అత్యధిక కాంట్రాస్ట్ మరియు రీడ్ మోడ్లో ఉంచుతుంది. అక్షరాలు మరియు డేటాను తదనుగుణంగా పంపడానికి మేము ఎనేబుల్ మరియు RS పిన్లను నియంత్రించాలి.
LCD కోసం చేసిన కనెక్షన్లు క్రింద ఇవ్వబడ్డాయి:
PIN1 లేదా VSS భూమికి
PIN2 లేదా VDD లేదా VCC నుండి + 5v శక్తికి
PIN3 లేదా VEE to ground (ఒక అనుభవశూన్యుడు కోసం గరిష్ట విరుద్ధతను ఉత్తమంగా ఇస్తుంది)
ARDUINO UNO యొక్క PIN8 కు PIN4 లేదా RS (రిజిస్టర్ ఎంపిక)
PIN5 లేదా RW (చదవడం / వ్రాయడం) భూమికి (LCD ని రీడ్ మోడ్లో ఉంచుతుంది వినియోగదారు కోసం కమ్యూనికేషన్ను సులభతరం చేస్తుంది)
ARDUINO UNO యొక్క PIN6 లేదా E (ప్రారంభించు) toPIN9
ARDUINO UNO యొక్క PIN11 లేదా D4 నుండి PIN10 వరకు
ARDUINO UNO యొక్క PIN12 లేదా D5 నుండి PIN11 వరకు
ARDUINO UNO యొక్క PIN13 లేదా D6 నుండి PIN12 వరకు
ARDUINO UNO యొక్క PIN14 లేదా D7 నుండి PIN13 వరకు
ARDUINO IDE వినియోగదారుని 4 బిట్ మోడ్లో LCD ని ఉపయోగించడానికి అనుమతిస్తుంది. ఈ రకమైన కమ్యూనికేషన్ వినియోగదారుని ARDUINO లో పిన్ వాడకాన్ని తగ్గించడానికి అనుమతిస్తుంది, ఇతర ARDUINO ను 4 ఇట్ మోడ్లో ఉపయోగించడం కోసం విడిగా ప్రోగ్రామ్ చేయనవసరం లేదు ఎందుకంటే డిఫాల్ట్గా ARDUINO 4 బిట్ మోడ్లో కమ్యూనికేట్ చేయడానికి ఏర్పాటు చేయబడింది. సర్క్యూట్లో మీరు 4 బిట్ కమ్యూనికేషన్ (D4-D7) ను ఉపయోగించారని చూడవచ్చు.
కాబట్టి పై పట్టిక నుండి కేవలం పరిశీలన నుండి మేము 6 పిన్స్ ఎల్సిడిని కంట్రోలర్కు కలుపుతున్నాము, దీనిలో 4 పిన్స్ డేటా పిన్స్ మరియు నియంత్రణ కోసం 2 పిన్స్.
BMP180 ను Arduino Uno కి కనెక్ట్ చేయడానికి మేము ఈ క్రింది వాటిని చేయాలి:
|
మొదట “# చేర్చండి” అనే ప్రత్యేక విధులను ప్రారంభించడానికి మేము హెడర్ ఫైల్కు కాల్ చేయాలి.
ఈ హెడర్ ఫైల్తో సెన్సార్ నుండి విలువలను ఎటువంటి గందరగోళం లేకుండా నేరుగా చదవగల ఫంక్షన్లను మనం పిలుస్తాము.
ఇప్పుడు మేము సి కమ్యూనికేషన్ను ప్రారంభించాలి, ఇది “# చేర్చండి” అని పిలవడం ద్వారా జరుగుతుంది
”స్ట్రింగ్ PRESSUREVALUE = స్ట్రింగ్ (bmp.readPressure ());” అని పిలవడం ద్వారా మనం ఒత్తిడిని చదువుకోవచ్చు. ఇక్కడ పీడన విలువ సెన్సార్ నుండి చదవబడుతుంది మరియు “PRESSUREVALUE” స్ట్రింగ్లో నిల్వ చేయబడుతుంది.
”స్ట్రింగ్ TEMPARATUREVALUE = స్ట్రింగ్ (bmp.readTemperature ());” అని పిలవడం ద్వారా మనం టెంపరేచర్ చదువుకోవచ్చు. ఇక్కడ పీడన విలువ సెన్సార్ నుండి చదవబడుతుంది మరియు “TEMPARATUREVALUE” స్ట్రింగ్లో నిల్వ చేయబడుతుంది.
మొదట మనం హెడర్ ఫైల్ను ప్రారంభించాలి ('# చేర్చండి
రెండవది మనం ఇక్కడ ఏ రకమైన ఎల్సిడిని ఉపయోగిస్తున్నామో బోర్డుకి చెప్పాలి. మనకు చాలా రకాల ఎల్సిడి ఉన్నందున (20 * 4, 16 * 2, 16 * 1 మొదలైనవి). ఇక్కడ మనం 16 * 2 LCD ని UNO కి ఇంటర్ఫేస్ చేయబోతున్నాం కాబట్టి మనకు 'lcd.begin (16,2);' 16 * 1 కొరకు మనకు 'lcd.begin (16,1);'
ఈ సూచనలో మనం పిన్లను ఎక్కడ కనెక్ట్ చేశామో బోర్డుకి చెప్పబోతున్నాం, కనెక్ట్ చేయబడిన పిన్లను “RS, En, D4, D5, D6, D7” గా సూచించాలి. ఈ పిన్లను సరిగ్గా సూచించాలి. మేము RS ను PIN0 కి కనెక్ట్ చేసినందున మరియు సర్క్యూట్ రేఖాచిత్రంలో చూపినట్లుగా, మేము పిన్ నంబర్ను “లిక్విడ్క్రిస్టాల్సిడి (0,1,8,9,10,11);
పైన ఉన్న తరువాత డేటాను పంపడం మిగిలి ఉంది, ఎల్సిడిలో ప్రదర్శించాల్సిన డేటాను “సిడి.ప్రింట్ (" హలో, వరల్డ్! ");" ఈ ఆదేశంతో LCD 'హలో, వరల్డ్!' ను ప్రదర్శిస్తుంది.
మీరు చూడగలిగినట్లుగా మనం దీని గురించి ఆందోళన చెందాల్సిన అవసరం లేదు, మేము ప్రారంభించాలి మరియు డేటాను ప్రదర్శించడానికి UNO సిద్ధంగా ఉంటుంది. BYTE ద్వారా BYTE డేటాను ఇక్కడ పంపడానికి మేము ప్రోగ్రామ్ లూప్ వ్రాయవలసిన అవసరం లేదు. సెన్సార్ నుండి విలువను చదివిన తరువాత మేము వాటిని 16x2 LCD లో ప్రదర్శించబోతున్నాము.