- పదార్థాలు అవసరం
- DS18B20 ఉష్ణోగ్రత సెన్సార్ పరిచయం
- ముందస్తు అవసరాలు
- సర్క్యూట్ రేఖాచిత్రం
- రాస్ప్బెర్రీ పిలో అడాఫ్రూట్ ఎల్సిడి లైబ్రరీని వ్యవస్థాపించడం
- పైలో వన్-వైర్ ఇంటర్ఫేస్ను ప్రారంభిస్తోంది
- అవుట్పుట్ / వర్కింగ్
రాస్ప్బెర్రీ పై దాని గణన శక్తికి మరియు ఐయోటి, హోమ్ ఆటోమేషన్ మొదలైన రంగాలలో దాని విస్తారమైన అనువర్తనానికి ప్రసిద్ది చెందింది. అయితే ఏదైనా ఎలక్ట్రానిక్ వ్యవస్థ వాస్తవ ప్రపంచంతో సంభాషించడానికి మరియు దాని గురించి సమాచారాన్ని పొందడానికి, సిస్టమ్ సెన్సార్లను ఉపయోగించాలి. ఈ ప్రక్రియ కోసం అనేక రకాల సెన్సార్లు ఉపయోగించబడతాయి మరియు కొలవవలసిన పరామితి మరియు దాని అనువర్తనం ఆధారంగా అవసరమైన సెన్సార్ ఎంపిక చేయబడుతుంది. ఈ ట్యుటోరియల్లో మేము రాస్ప్బెర్రీ పైతో ఉష్ణోగ్రత సెన్సార్ DS18B20 ను ఇంటర్ఫేస్ చేయడం నేర్చుకుంటాము.
DS18B20 విస్తృతంగా ప్రధానంగా కఠిన ఆపరేటింగ్ వాతావరణాల రసాయన పరిశ్రమలు వంటి చేరి ఇక్కడ స్థలాలు గని మొక్కలు మొదలైనవి ఈ వ్యాసం సెన్సార్ గురించి చెప్పండి మరియు ఇది ఇతర ఉష్ణోగ్రత సెన్సార్ outstands ఎలా మరియు చివరకు రాస్ప్బెర్రీ పై అంతర్ముఖిని వద్ద, ఉష్ణోగ్రత సెన్సార్ ఉపయోగిస్తారు మరియు ఉష్ణోగ్రత అభిప్రాయం 16x2 LCD పై విలువ.
పదార్థాలు అవసరం
- DS18B20 ఉష్ణోగ్రత సెన్సార్
- రాస్ప్బెర్రీ పై
- 16 * 2 ఎల్సిడి డిస్ప్లే
- 10 కె ట్రిమ్ పాట్
- 10 కె పుల్ అప్ రెసిస్టర్
- బ్రెడ్బోర్డ్
- వైర్లను కనెక్ట్ చేస్తోంది
DS18B20 ఉష్ణోగ్రత సెన్సార్ పరిచయం
DS18B20 అనేది TO-92 (ట్రాన్సిస్టర్ రకం) ప్యాకేజీలో లభించే మూడు టెర్మినల్ ఉష్ణోగ్రత సెన్సార్. ఇది ఉపయోగించడం చాలా సులభం మరియు పని ప్రారంభించడానికి ఒక బాహ్య భాగం మాత్రమే అవసరం. దానితో కమ్యూనికేట్ చేయడానికి MCU / MPU నుండి ఒక GPIO పిన్ మాత్రమే అవసరం. పిన్ పేరుతో ఒక సాధారణ DS18B20 ఉష్ణోగ్రత సెన్సార్ క్రింద చూపబడింది.
ఈ సెన్సార్ వాటర్ప్రూఫ్ వెర్షన్గా కూడా లభిస్తుంది, దీనిలో సెన్సార్ స్థూపాకార మెటల్ ట్యూబ్తో కప్పబడి ఉంటుంది. ఈ ట్యుటోరియల్లో మనం పైన చూపిన సాధారణ ట్రాన్సిస్టర్ రకం సెన్సార్ని ఉపయోగిస్తాము. DS18B20 ఒక 1-వైర్ ప్రోగ్రామబుల్ ఉష్ణోగ్రత సెన్సార్ ఉంది ఇది రాస్ప్బెర్రీ పై వంటి మైక్రోకంట్రోలర్ లేదా మైక్రోప్రాసెసర్ బోర్డులు సమాచారం పంపడానికి మాత్రమే డేటా పిన్ అవసరం అర్థం. ప్రతి సెన్సార్ దాని కోసం 64-బిట్ యొక్క ప్రత్యేకమైన చిరునామాను కలిగి ఉంటుంది, కాబట్టి ఒకే సెన్సార్ను ఒకే డేటా బస్సులో ఒక్కొక్కటిగా పరిష్కరించవచ్చు కాబట్టి ఒకే MCU / MPU కి కనెక్ట్ చేయబడిన బహుళ సెన్సార్లను కలిగి ఉండటం కూడా సాధ్యమే. సెన్సార్ యొక్క స్పెసిఫికేషన్ క్రింద చూపబడింది.
- ఆపరేటింగ్ వోల్టేజ్: 3-5 వి
- పరిధిని కొలవడం: -55 ° C నుండి + 125 ° C.
- ఖచ్చితత్వం: ± 0.5. C.
- రిజల్యూషన్: 9-బిట్ నుండి 12-బిట్
ఇప్పుడు మనకు సెన్సార్ తగినంతగా తెలుసు, దానిని రాస్ప్బెర్రీ పైతో ఇంటర్ఫేసింగ్ చేద్దాం.
ముందస్తు అవసరాలు
మీ రాస్ప్బెర్రీ పై ఇప్పటికే ఆపరేటింగ్ సిస్టమ్తో మెరిసిందని మరియు ఇంటర్నెట్కు కనెక్ట్ చేయగలదని భావించబడుతుంది. కాకపోతే, కొనసాగడానికి ముందు రాస్ప్బెర్రీ పై ట్యుటోరియల్తో ప్రారంభించడం అనుసరించండి. ఇక్కడ మేము రాస్బియన్ జెస్సీ వ్యవస్థాపించిన రాస్ప్బెర్రీ పై 3 ను ఉపయోగిస్తున్నాము.
టెర్మినల్ విండోస్ ద్వారా లేదా ఇతర అప్లికేషన్ ద్వారా మీరు పైకి ప్రోగ్రామ్లను వ్రాసి అమలు చేయవచ్చు మరియు టెర్మినల్ విండోను ఉపయోగించవచ్చు.
సర్క్యూట్ రేఖాచిత్రం
ఈ ట్యుటోరియల్లో ఇంతకుముందు చెప్పినట్లుగా, మేము DS18B20 సెన్సార్ను పైతో ఇంటర్ఫేస్ చేస్తాము మరియు ఉష్ణోగ్రత విలువను 16 * 2 LCD స్క్రీన్లో ప్రదర్శిస్తాము. కాబట్టి క్రింద చూపిన విధంగా సెన్సార్ మరియు ఎల్సిడిని రాస్ప్బెర్రీ పైతో అనుసంధానించాలి.
సర్క్యూట్ రేఖాచిత్రాన్ని అనుసరించండి మరియు తదనుగుణంగా కనెక్షన్ చేయండి. LCD మరియు DS18B20 సెన్సార్ రెండూ + 5V సహాయంతో పనిచేస్తాయి, ఇది రాస్ప్బెర్రీ పై 5V పిన్ ద్వారా అందించబడుతుంది. LCD రాస్ప్బెర్రీ పై తో 4-బిట్ మోడ్ లో పని చేస్తారు, GPIO పిన్స్ 18,23,24 మరియు 25 డేటా లైన్ మరియు GPIO పిన్స్ 7 మరియు 8 కోసం ఉపయోగిస్తారు నియంత్రణ రేఖలు కోసం ఉపయోగిస్తారు. LCD యొక్క కాంట్రాస్ట్ స్థాయిని నియంత్రించడానికి ఒక పొటెన్షియోమీటర్ కూడా ఉపయోగించబడుతుంది. DS18B20 యొక్క డేటా లైన్ GPIO పిన్ 4 కి అనుసంధానించబడి ఉంది. అలాగే 10K రెసిస్టర్ను తప్పక ఉపయోగించాలని గమనించండి.
మీరు పైన ఉన్న సర్క్యూట్ రేఖాచిత్రాన్ని అనుసరించవచ్చు మరియు కనెక్షన్లు చేయవచ్చు లేదా GPIO పిన్ సంఖ్యలను అనుసరించడానికి పిన్ పట్టికను ఉపయోగించవచ్చు.
కనెక్షన్లు చేయడానికి సింగిల్ స్ట్రాండ్ వైర్లు మరియు మగ నుండి ఆడ వైర్లను ఉపయోగించి నేను బ్రెడ్బోర్డ్లో సర్క్యూట్ను నిర్మించాను. మీరు చూడగలిగినట్లుగా సెన్సార్కు ఇంటర్ఫేస్కు ఒకే వైర్ అవసరం మరియు అందువల్ల తక్కువ స్థలం మరియు పిన్లను ఆక్రమిస్తుంది. అన్ని కనెక్షన్లు చేసినప్పుడు నా హార్డ్వేర్ క్రింద కనిపిస్తుంది. ఇప్పుడు పైని శక్తివంతం చేయడానికి మరియు ప్రోగ్రామింగ్ ప్రారంభించడానికి సమయం ఆసన్నమైంది.
రాస్ప్బెర్రీ పిలో అడాఫ్రూట్ ఎల్సిడి లైబ్రరీని వ్యవస్థాపించడం
ఉష్ణోగ్రత విలువ 16 * 2 ఎల్సిడి డిస్ప్లేలో ప్రదర్శించబడుతుంది. ఈ ఎల్సిడిని 4-బిట్ మోడ్లో సులభంగా ఆపరేట్ చేయడానికి అడాఫ్రూట్ మాకు లైబ్రరీని అందిస్తుంది, కాబట్టి టెర్మినల్ విండో పైని తెరిచి క్రింది దశలను అనుసరించడం ద్వారా దీన్ని మా రాస్ప్బెర్రీ పైకి చేర్చుదాం.
దశ 1: ఈ క్రింది పంక్తిని ఉపయోగించి మీ రాస్ప్బెర్రీ పైలో జిట్ను ఇన్స్టాల్ చేయండి. గితుబ్లోని ఏదైనా ప్రాజెక్ట్ ఫైల్లను క్లోన్ చేయడానికి మరియు మీ రాస్ప్బెర్రీ పైలో ఉపయోగించడానికి జిట్ మిమ్మల్ని అనుమతిస్తుంది. మా లైబ్రరీ గితుబ్లో ఉంది కాబట్టి ఆ లైబ్రరీని పైలోకి డౌన్లోడ్ చేయడానికి మేము జిట్ను ఇన్స్టాల్ చేయాలి.
apt-get install git
దశ 2: లైబ్రరీ ఉన్న గిట్హబ్ పేజీకి కింది పంక్తి లింకులు పై హోమ్ డైరెక్టరీలో ప్రాజెక్ట్ ఫైల్ను క్లోన్ చేయడానికి పంక్తిని అమలు చేయండి.
git clone git: //github.com/adafruit/Adafruit_Python_CharLCD
దశ 3: డైరెక్టరీ పంక్తిని మార్చడానికి, మనం డౌన్లోడ్ చేసిన ప్రాజెక్ట్ ఫైల్లోకి రావడానికి క్రింది ఆదేశాన్ని ఉపయోగించండి. కమాండ్ లైన్ క్రింద ఇవ్వబడింది
cd Adafruit_Python_CharLCD
దశ 4: డైరెక్టరీ లోపల setup.py అనే ఫైల్ ఉంటుంది, లైబ్రరీని ఇన్స్టాల్ చేయడానికి మనం దానిని ఇన్స్టాల్ చేయాలి. లైబ్రరీని ఇన్స్టాల్ చేయడానికి క్రింది కోడ్ను ఉపయోగించండి
sudo python setup.py install
అంటే లైబ్రరీని విజయవంతంగా ఇన్స్టాల్ చేసి ఉండాలి. ఇప్పుడు అదేవిధంగా అడాఫ్రూట్ నుండి వచ్చిన DHT లైబ్రరీని ఇన్స్టాల్ చేయడాన్ని కొనసాగిద్దాం.
పైలో వన్-వైర్ ఇంటర్ఫేస్ను ప్రారంభిస్తోంది
DS18B20 సెన్సార్ వన్-వైర్ పద్ధతి ద్వారా కమ్యూనికేట్ చేస్తుంది కాబట్టి, మేము ఈ క్రింది దశలను అనుసరించడం ద్వారా పైలో ఒక వైర్ కమ్యూనికేషన్ను ప్రారంభించాలి.
దశ 1: - కమాండ్స్ ప్రాంప్ట్ తెరిచి, కాన్ఫిగర్ ఫైల్ను తెరవడానికి క్రింది ఆదేశాన్ని ఉపయోగించండి
sudo nano /boot/config.txt
దశ 2: - ఆకృతీకరణ ఫైలు లోపల “ dtoverlay = w1-gpio ” (క్రింద ఉన్న చిత్రంలో చుట్టుముట్టబడింది) అనే పంక్తిని జోడించి, క్రింద చూపిన విధంగా ఫైల్ను సేవ్ చేయండి
దశ 3: - ఫైల్ నుండి నిష్క్రమించడానికి Ctrl + X ని ఉపయోగించండి మరియు “Y” నొక్కడం ద్వారా సేవ్ చేసి, ఆపై కీని ఎంటర్ చేయండి. చివరగా ఆదేశాన్ని ఉపయోగించి పైని పున art ప్రారంభించండి
sudo రీబూట్
దశ 4: - రీబూట్ చేసిన తర్వాత, టెర్మినల్ను మళ్ళీ తెరిచి, కింది ఆదేశాలను నమోదు చేయండి.
sudo modprobe w1– gpio sudo modprobe w1-therm. cd / sys / bus / w1 / devices ls
మీ టెర్మినల్ విండోస్ ఇలాంటివి ప్రదర్శిస్తుంది
దశ 5: - మీరు ls ఎంటర్ చేసినప్పుడు 4 వ దశ చివరిలో, మీ పై ఒక ప్రత్యేకమైన సంఖ్యను ప్రదర్శిస్తుంది, ఈ సంఖ్య ప్రతి వినియోగదారుకు సెన్సార్ ఆధారంగా భిన్నంగా ఉంటుంది, కానీ ఎల్లప్పుడూ 28- తో ప్రారంభమవుతుంది. నా విషయంలో సంఖ్య 28-03172337 కాఫ్ .
దశ 6: - కింది ఆదేశాలను నమోదు చేయడం ద్వారా సెన్సార్ పనిచేస్తుందో లేదో ఇప్పుడు మనం తనిఖీ చేయవచ్చు
cd 28 XXXXXXXXXXXX.వస్తువులు ('t =') #find "t =" లైన్ లో ఉంటే trimmed_data = -1: temp_string = పంక్తులు మాత్రమే temoerature విలువకు strig #trim temp_c = ఫ్లోట్ (temp_string) / 1000.0 # వాస్తవ విలువను తిరిగి పొందడానికి 1000 విలువను విభజించండి temp_c # LCD లో ముద్రించడానికి విలువను తిరిగి ఇవ్వండి
ఫైల్ లోపల ఉన్న పంక్తులను చదవడానికి వేరియబుల్ పంక్తులు ఉపయోగించబడతాయి. అప్పుడు ఈ పంక్తులు “t =” అక్షరం కోసం శోధించబడి, ఆ అక్షరం తరువాత విలువ వేరియబుల్ temp_string లో సేవ్ చేయబడతాయి . చివరగా ఉష్ణోగ్రత విలువను పొందడానికి మనం వేరియబుల్ టెంప్_సిని ఉపయోగిస్తాము , దీనిలో స్ట్రింగ్ విలువను 1000 ద్వారా విభజిస్తాము. చివరికి ఫంక్షన్ ఫలితంగా టెంప్_సి వేరియబుల్ తిరిగి ఇవ్వండి .
అనంతం ఇన్సైడ్ అయితే లూప్, మేము మాత్రమే నిర్వచించిన ఫంక్షన్ పై కాల్ కలిగి ఉష్ణోగ్రత విలువ పొందడానికి మరియు LCD స్క్రీన్ లో ప్రదర్శించవచ్చు. నవీకరించబడిన విలువను ప్రదర్శించడానికి ప్రతి 1 సెకనుకు మేము LCD ని కూడా క్లియర్ చేస్తాము.
1: # ఇన్ఫినిట్ లూప్ lcd.clear () # LCD స్క్రీన్ lcd ని క్లియర్ చేయండి .మెసేజ్ ('టెంప్ =%.1f సి'% get_temp ()) # ఉష్ణోగ్రత సమయం విలువను ప్రదర్శిస్తుంది. నిద్ర (1) # 1 సెకను వేచి ఉండండి విలువలను నవీకరించండి
అవుట్పుట్ / వర్కింగ్
ఎప్పటిలాగే పూర్తి పైథాన్ కోడ్ పేజీ చివరిలో ఇవ్వబడుతుంది, కోడ్ను ఉపయోగించండి మరియు మీ రాస్ప్బెర్రీ పైలో కంపైల్ చేయండి. సర్క్యూట్ రేఖాచిత్రంలో చూపిన విధంగా కనెక్షన్ని చేయండి మరియు ప్రోగ్రామ్ను అమలు చేయడానికి ముందు మీరు ఎల్సిడి హెడర్ ఫైల్లను ఇన్స్టాల్ చేయడానికి పై పై దశలను అనుసరించారని నిర్ధారించుకోండి మరియు పైలో వన్-వైర్ కమ్యూనికేషన్ను ప్రారంభించండి. అది పూర్తయిన తర్వాత ప్రోగ్రామ్ను అమలు చేయండి, ప్రతిదీ expected హించిన విధంగా పనిచేస్తుంటే మీరు పరిచయ వచనాన్ని గమనించగలుగుతారు. మీరు ఏదో చూసేవరకు కాంట్రాస్ట్ పొటెన్షియోమీటర్ను సర్దుబాటు చేయకపోతే. తుది ఫలితం క్రింద ఇలా కనిపిస్తుంది.
మీరు ప్రాజెక్ట్ను అర్థం చేసుకున్నారని మరియు దానిని నిర్మించడంలో సమస్య లేదని ఆశిస్తున్నాము. లేకపోతే మీ సమస్యను వ్యాఖ్య విభాగంలో పేర్కొనండి లేదా మరింత సాంకేతిక సహాయం కోసం ఫోరమ్ను ఉపయోగించండి. ఇది కేవలం ఇంటర్ఫేసింగ్ ప్రాజెక్ట్, కానీ ఇది పూర్తయిన తర్వాత మీరు రాస్ప్బెర్రీ పై వాతావరణ కేంద్రం, ఉష్ణోగ్రత ఇ-మెయిల్ నోటిఫైయర్ మరియు మరెన్నో పని చేయడం ద్వారా ముందుకు ఆలోచించవచ్చు.
ప్రాజెక్ట్ యొక్క పూర్తి పని దిగువ వీడియోలో కూడా చూపబడుతుంది, ఇక్కడ ఉష్ణోగ్రత యొక్క విలువను నిజ సమయంలో నవీకరించడాన్ని మీరు చూడవచ్చు.