రాస్ప్బెర్రీ పై అనేది ఎలక్ట్రానిక్ ఇంజనీర్లు మరియు అభిరుచి గలవారి కోసం రూపొందించిన ARM ఆర్కిటెక్చర్ ప్రాసెసర్ ఆధారిత బోర్డు. PI ఇప్పుడు అక్కడ అత్యంత విశ్వసనీయ ప్రాజెక్ట్ డెవలప్మెంట్ ప్లాట్ఫామ్లలో ఒకటి. అధిక ప్రాసెసర్ వేగం మరియు 1 జిబి ర్యామ్తో, ఇమేజ్ ప్రాసెసింగ్ మరియు ఇంటర్నెట్ ఆఫ్ థింగ్స్ వంటి అనేక ఉన్నత ప్రాజెక్టులకు పిఐని ఉపయోగించవచ్చు.
ఏదైనా ఉన్నత ప్రొఫైల్ ప్రాజెక్టులు చేయడానికి, PI యొక్క ప్రాథమిక విధులను అర్థం చేసుకోవాలి. మేము ఈ ట్యుటోరియల్లో రాస్ప్బెర్రీ పై యొక్క అన్ని ప్రాథమిక కార్యాచరణలను కవర్ చేస్తాము. ప్రతి ట్యుటోరియల్లో మనం PI యొక్క ఒక ఫంక్షన్ గురించి చర్చిస్తాము. ఈ రాస్ప్బెర్రీ పై ట్యుటోరియల్ సిరీస్ ముగిసే సమయానికి, మీరు మీరే అధిక ప్రొఫైల్ ప్రాజెక్టులను చేయగలుగుతారు. దిగువ ట్యుటోరియల్స్ ద్వారా వెళ్ళండి:
- రాస్ప్బెర్రీ పైతో ప్రారంభించండి
- రాస్ప్బెర్రీ పై కాన్ఫిగరేషన్
- LED బ్లింకీ
- రాస్ప్బెర్రీ పై బటన్ ఇంటర్ఫేసింగ్
- రాస్ప్బెర్రీ పై పిడబ్ల్యుఎం తరం
- రాస్ప్బెర్రీ పై ఉపయోగించి DC మోటారును నియంత్రించడం
- రాస్ప్బెర్రీ పైతో స్టెప్పర్ మోటార్ కంట్రోల్
- రాస్ప్బెర్రీ పైతో ఇంటర్ఫేసింగ్ షిఫ్ట్ రిజిస్టర్
ఈ ట్యుటోరియల్లో, మేము రాస్ప్బెర్రీ పైకి ADC (అనలాగ్ టు డిజిటల్ కన్వర్షన్) చిప్ను ఇంటర్ఫేస్ చేస్తాము. అనలాగ్ యొక్క అన్ని పారామితులు మనకు తెలుసు, అంటే కాలక్రమేణా నిరంతరం మారుతూ ఉంటుంది. గది యొక్క ఉదాహరణ ఉష్ణోగ్రత కోసం చెప్పండి, గది ఉష్ణోగ్రత నిరంతరం సమయంతో మారుతుంది. ఈ ఉష్ణోగ్రత దశాంశ సంఖ్యలతో అందించబడుతుంది. కానీ డిజిటల్ ప్రపంచంలో, దశాంశ సంఖ్యలు లేవు, కాబట్టి మనం అనలాగ్ విలువను డిజిటల్ విలువగా మార్చాలి. ఈ మార్పిడి ప్రక్రియ ADC టెక్నిక్ ద్వారా జరుగుతుంది. ADC గురించి ఇక్కడ మరింత తెలుసుకోండి: ADC0804 పరిచయం
ADC0804 మరియు రాస్ప్బెర్రీ పై:
సాధారణ నియంత్రికలు ADC ఛానెల్లను కలిగి ఉంటాయి కాని PI కోసం అంతర్గతంగా ADC ఛానెల్లు అందించబడవు. కాబట్టి మనం ఏదైనా అనలాగ్ సెన్సార్లను ఇంటర్ఫేస్ చేయాలనుకుంటే మనకు ADC మార్పిడి యూనిట్ అవసరం. కాబట్టి ఆ ప్రయోజనాల కోసం మేము రాస్ప్బెర్రీ పైతో ఇంటర్ఫేస్ ADC0804 కి వెళ్తున్నాము.
ADC0804 అనలాగ్ సిగ్నల్ను 8 బిట్ డిజిటల్ డేటాగా మార్చడానికి రూపొందించిన చిప్. ఈ చిప్ ADC యొక్క ప్రసిద్ధ సిరీస్లో ఒకటి. ఇది 8 బిట్ మార్పిడి యూనిట్, కాబట్టి మనకు విలువలు లేదా 0 నుండి 255 విలువలు ఉన్నాయి. గరిష్ట 5V యొక్క కొలిచే వోల్టేజ్తో, ప్రతి 19.5mV కి మనకు మార్పు ఉంటుంది. ADC0804 యొక్క పిన్అవుట్ క్రింద ఉంది:
ఇప్పుడు ఇక్కడ మరొక ముఖ్యమైన విషయం ఏమిటంటే, ADC0804 5V వద్ద పనిచేస్తుంది మరియు కనుక ఇది 5V లాజిక్ సిగ్నల్లో అవుట్పుట్ను అందిస్తుంది. 8 పిన్ అవుట్పుట్లో (8 బిట్లను సూచిస్తుంది), ప్రతి పిన్ లాజిక్'1 ను సూచించడానికి + 5 వి అవుట్పుట్ను అందిస్తుంది. కాబట్టి సమస్య PI లాజిక్ + 3.3v, కాబట్టి మీరు PI యొక్క + 3.3V GPIO పిన్కు + 5V లాజిక్ ఇవ్వలేరు. మీరు PI యొక్క ఏదైనా GPIO పిన్కు + 5V ఇస్తే, బోర్డు దెబ్బతింటుంది.
కాబట్టి + 5 వి నుండి స్టెప్-డౌన్ లాజిక్ స్థాయికి, మేము వోల్టేజ్ డివైడర్ సర్క్యూట్ను ఉపయోగిస్తాము. వోల్టేజ్ డివైడర్ సర్క్యూట్ గురించి మరింత స్పష్టత కోసం మేము ఇంతకుముందు పరిశీలించాము. మనం చేయబోయేది ఏమిటంటే, + 5 వి తర్కాన్ని 2 * 2.5 వి లాజిక్లుగా విభజించడానికి మేము రెండు రెసిస్టర్లను ఉపయోగిస్తాము. కాబట్టి విభజన తరువాత మేము PI కి + 2.5v లాజిక్ ఇస్తాము. కాబట్టి, ADC0804 చేత లాజిక్ '1' ప్రదర్శించబడినప్పుడల్లా + 5V కి బదులుగా PI GPIO పిన్ వద్ద + 2.5V ని చూస్తాము.
రాస్ప్బెర్రీ పై యొక్క GPIO పిన్స్ గురించి ఇక్కడ మరింత తెలుసుకోండి మరియు మా మునుపటి ట్యుటోరియల్స్ ద్వారా వెళ్ళండి.
అవసరమైన భాగాలు:
ఇక్కడ మేము రాస్ప్బెర్రీ పై 2 మోడల్ B ని రాస్పియన్ జెస్సీ OS తో ఉపయోగిస్తున్నాము. అన్ని ప్రాథమిక హార్డ్వేర్ మరియు సాఫ్ట్వేర్ అవసరాలు ఇంతకుముందు చర్చించబడ్డాయి, మీరు దీన్ని రాస్ప్బెర్రీ పై పరిచయంలో చూడవచ్చు, మనకు అవసరమైనవి కాకుండా:
- పిన్లను కనెక్ట్ చేస్తోంది
- 220Ω లేదా 1KΩresistor (17 ముక్కలు)
- 10 కె పాట్
- 0.1µF కెపాసిటర్ (2 ముక్కలు)
- ADC0804 IC
- బ్రెడ్ బోర్డు
సర్క్యూట్ వివరణ:
ఇది + 5v యొక్క సరఫరా వోల్టేజీపై పనిచేస్తుంది మరియు 0-5V పరిధిలో వేరియబుల్ వోల్టేజ్ పరిధిని కొలవగలదు.
రాస్ప్బెర్రీ PI వరకు ADC0804 అంతర్ముఖ కోసం కనెక్షన్లు, పైన సర్క్యూట్లో చూపబడతాయి.
ADC ఎల్లప్పుడూ చాలా శబ్దాన్ని కలిగి ఉంటుంది, ఈ శబ్దం పనితీరును బాగా ప్రభావితం చేస్తుంది, కాబట్టి మేము శబ్దం వడపోత కోసం 0.1uF కెపాసిటర్ను ఉపయోగిస్తాము . ఇది లేకుండా అవుట్పుట్ వద్ద చాలా హెచ్చుతగ్గులు ఉంటాయి.
చిప్ RC (రెసిస్టర్-కెపాసిటర్) ఓసిలేటర్ గడియారంలో పనిచేస్తుంది. సర్క్యూట్ రేఖాచిత్రంలో చూపినట్లుగా, C2 మరియు R20 ఒక గడియారాన్ని ఏర్పరుస్తాయి. ఇక్కడ గుర్తుంచుకోవలసిన ముఖ్యమైన విషయం ఏమిటంటే, అధిక రేటు ADC మార్పిడి కోసం కెపాసిటర్ C2 ను తక్కువ విలువకు మార్చవచ్చు. అయితే అధిక వేగంతో ఖచ్చితత్వం తగ్గుతుంది. కాబట్టి అనువర్తనానికి అధిక ఖచ్చితత్వం అవసరమైతే, అధిక విలువ కలిగిన కెపాసిటర్ను ఎంచుకోండి మరియు అధిక వేగం కోసం తక్కువ విలువ కలిగిన కెపాసిటర్ను ఎంచుకోండి.
ప్రోగ్రామింగ్ వివరణ:
సర్క్యూట్ రేఖాచిత్రం ప్రకారం ప్రతిదీ కనెక్ట్ అయిన తర్వాత, మేము PYHTON లో ప్రోగ్రామ్ను వ్రాయడానికి PI ని ఆన్ చేయవచ్చు.
మేము PYHTON ప్రోగ్రామ్లో ఉపయోగించబోయే కొన్ని ఆదేశాల గురించి మాట్లాడుతాము, మేము లైబ్రరీ నుండి GPIO ఫైల్ను దిగుమతి చేయబోతున్నాము, క్రింద ఫంక్షన్ PI యొక్క GPIO పిన్లను ప్రోగ్రామ్ చేయడానికి అనుమతిస్తుంది. మేము “GPIO” ను “IO” అని పేరు మార్చుకుంటున్నాము, కాబట్టి ప్రోగ్రామ్లో మనం GPIO పిన్లను సూచించదలిచినప్పుడల్లా 'IO' అనే పదాన్ని ఉపయోగిస్తాము.
RPi.GPIO ని IO గా దిగుమతి చేయండి
కొన్నిసార్లు, మేము ఉపయోగించడానికి ప్రయత్నిస్తున్న GPIO పిన్స్ కొన్ని ఇతర విధులను చేస్తున్నప్పుడు. అలాంటప్పుడు, ప్రోగ్రామ్ను అమలు చేస్తున్నప్పుడు మాకు హెచ్చరికలు అందుతాయి. దిగువ కమాండ్ హెచ్చరికలను విస్మరించి ప్రోగ్రామ్తో కొనసాగమని PI కి చెబుతుంది.
IO.setwarnings (తప్పుడు)
మేము PI యొక్క GPIO పిన్లను బోర్డులోని పిన్ నంబర్ ద్వారా లేదా వాటి ఫంక్షన్ నంబర్ ద్వారా సూచించవచ్చు. బోర్డులోని 'పిన్ 29' లాగా 'GPIO5' ఉంది. కాబట్టి మనం ఇక్కడ పిన్ను '29' లేదా '5' ద్వారా ప్రాతినిధ్యం వహించబోతున్నాం.
IO.setmode (IO.BCM)
మేము 8 పిన్లను ఇన్పుట్ పిన్లుగా సెట్ చేస్తున్నాము. మేము ఈ పిన్ల ద్వారా 8 బిట్ ఎడిసి డేటాను కనుగొంటాము.
IO.setup (4, IO.IN) IO.setup (17, IO.IN) IO.setup (27, IO.IN) IO.setup (22, IO.IN) IO.setup (5, IO.IN) IO.setup (6, IO.IN) IO.setup (13, IO.IN) IO.setup (19, IO.IN)
కలుపులలోని పరిస్థితి నిజమైతే, లూప్ లోపల స్టేట్మెంట్స్ ఒకసారి అమలు చేయబడతాయి. కాబట్టి GPIO పిన్ 19 అధికంగా ఉంటే, అప్పుడు IF లూప్లోని స్టేట్మెంట్లు ఒకసారి అమలు చేయబడతాయి. GPIO పిన్ 19 అధికంగా ఉండకపోతే, అప్పుడు IF లూప్లోని స్టేట్మెంట్లు అమలు చేయబడవు.
if (IO.input (19) == నిజం):
క్రింద ఉన్న ఆదేశం ఎప్పటికీ లూప్గా ఉపయోగించబడుతుంది, ఈ ఆదేశంతో ఈ లూప్లోని స్టేట్మెంట్లు నిరంతరం అమలు చేయబడతాయి.
1:
ప్రోగ్రామ్ యొక్క మరింత వివరణ క్రింద కోడ్ విభాగంలో ఇవ్వబడింది.
పని:
ప్రోగ్రామ్ను వ్రాసి దాన్ని అమలు చేసిన తర్వాత మీరు తెరపై '0'ని చూస్తారు. ఇన్పుట్ వద్ద 0 వోల్ట్స్ 0 వోల్ట్లు.
మేము చిప్కు అనుసంధానించబడిన 10 కె పాట్ను సర్దుబాటు చేస్తే, స్క్రీన్పై విలువల్లో మార్పు కనిపిస్తుంది. తెరపై విలువలు నిరంతరం స్క్రోలింగ్ చేస్తూనే ఉంటాయి, ఇవి PI చదివిన డిజిటల్ విలువలు.
మేము కుండను మధ్య బిందువుకు తీసుకుంటే, ADC0804 ఇన్పుట్ వద్ద + 2.5V ఉంది. కాబట్టి క్రింద చూపిన విధంగా 128 తెరపై చూస్తాము.
+ 5 వి అనలాగ్ విలువ కోసం, మనకు 255 ఉంటుంది.
కాబట్టి, కుండను మార్చడం ద్వారా మేము ADC0804 ఇన్పుట్ వద్ద 0 నుండి + 5V వరకు వోల్టేజ్ను మారుస్తాము. ఈ PI తో 0-255 నుండి విలువలను చదవండి. విలువలు తెరపై ముద్రించబడతాయి.
కాబట్టి మేము రాస్ప్బెర్రీ పైకి ఇంటర్ఫేస్డ్ ADC0804 ను కలిగి ఉన్నాము.