రాస్ప్బెర్రీ పై అనేది ఎలక్ట్రానిక్ ఇంజనీర్లు మరియు అభిరుచి గలవారి కోసం రూపొందించిన ARM ఆర్కిటెక్చర్ ప్రాసెసర్ ఆధారిత బోర్డు. PI ఇప్పుడు అక్కడ అత్యంత విశ్వసనీయ ప్రాజెక్ట్ డెవలప్మెంట్ ప్లాట్ఫామ్లలో ఒకటి. అధిక ప్రాసెసర్ వేగం మరియు 1 జిబి ర్యామ్తో, ఇమేజ్ ప్రాసెసింగ్ మరియు ఇంటర్నెట్ ఆఫ్ థింగ్స్ వంటి అనేక ఉన్నత ప్రాజెక్టులకు పిఐని ఉపయోగించవచ్చు.
ఏదైనా ఉన్నత ప్రొఫైల్ ప్రాజెక్టులు చేయడానికి, PI యొక్క ప్రాథమిక విధులను అర్థం చేసుకోవాలి. మేము ఈ ట్యుటోరియల్లో రాస్ప్బెర్రీ పై యొక్క అన్ని ప్రాథమిక కార్యాచరణలను కవర్ చేస్తాము. ప్రతి ట్యుటోరియల్లో మనం PI యొక్క ఒక ఫంక్షన్ గురించి చర్చిస్తాము. ట్యుటోరియల్ సిరీస్ ముగిసే సమయానికి మీరు మీరే అధిక ప్రొఫైల్ ప్రాజెక్టులను చేయగలుగుతారు. రాస్ప్బెర్రీ పై మరియు రాస్ప్బెర్రీ పై కాన్ఫిగరేషన్తో ప్రారంభించడానికి వీటిని తనిఖీ చేయండి.
మునుపటి ట్యుటోరియల్లో రాస్ప్బెర్రీ పైతో LED బ్లింకీ మరియు బటన్ ఇంటర్ఫేస్ గురించి చర్చించాము. ఈ రాస్ప్బెర్రీ పై పిడబ్ల్యుఎం ట్యుటోరియల్ లో రాస్ప్బెర్రీ పైతో పిడబ్ల్యుఎం అవుట్పుట్ పొందడం గురించి మాట్లాడుతాము. పిడబ్ల్యుఎం అంటే ' పల్స్ వెడల్పు మాడ్యులేషన్ '. PWM అనేది స్థిరమైన విద్యుత్ సరఫరా నుండి వేరియబుల్ వోల్టేజ్ పొందడానికి ఉపయోగించే ఒక పద్ధతి. మేము రాస్ప్బెర్రీ PI నుండి PWM సిగ్నల్ను ఉత్పత్తి చేస్తాము మరియు పైతో అనుసంధానించబడిన LED యొక్క ప్రకాశాన్ని మార్చడం ద్వారా PWM ని ప్రదర్శిస్తాము.
పల్స్ వెడల్పు మాడ్యులేషన్:
మేము ఇంతకుముందు పిడబ్ల్యుఎం గురించి చాలాసార్లు మాట్లాడాము: ఎటిమెగా 32 తో పల్స్ వెడల్పు మాడ్యులేషన్, ఆర్డునో యునోతో పిడబ్ల్యుఎం, 555 టైమర్ ఐసితో పిడబ్ల్యుఎం మరియు ఆర్డునో డ్యూతో పిడబ్ల్యుఎం.
పై చిత్రంలో, కొంత కాలానికి స్విచ్ నిరంతరం మూసివేయబడితే, ఈ సమయంలో ఎల్ఈడీ నిరంతరం 'ఆన్' అవుతుంది. స్విచ్ సగం సెకనుకు మూసివేయబడి, తదుపరి సగం సెకనుకు తెరిస్తే, అప్పుడు LED మొదటి సగం సెకనులో మాత్రమే ఆన్ అవుతుంది. ఇప్పుడు మొత్తం సమయానికి LED ఆన్ చేసిన నిష్పత్తిని డ్యూటీ సైకిల్ అంటారు మరియు ఈ క్రింది విధంగా లెక్కించవచ్చు:
డ్యూటీ సైకిల్ = సమయం ఆన్ చేయండి / (సమయం ఆన్ చేయండి + సమయం ఆఫ్ చేయండి)
డ్యూటీ సైకిల్ = (0.5 / (0.5 + 0.5)) = 50%
కాబట్టి సగటు అవుట్పుట్ వోల్టేజ్ బ్యాటరీ వోల్టేజ్లో 50% ఉంటుంది.
ఇది ఒక సెకనుకు సంబంధించినది మరియు LED సగం సెకనుకు ఆఫ్ మరియు LED రెండవ సగం సెకనులో ఉండటం మనం చూడవచ్చు. ఆన్ మరియు ఆఫ్ సమయాల ఫ్రీక్వెన్సీ 'సెకనుకు 1' నుండి 'సెకనుకు 50' కి పెరిగితే. మానవ కన్ను ఈ పౌన.పున్యాన్ని సంగ్రహించదు. ఒక సాధారణ కంటి కోసం LED కనిపిస్తుంది, సగం ప్రకాశంతో మెరుస్తున్నట్లు. కాబట్టి ON సమయం మరింత తగ్గించడంతో LED చాలా తేలికగా కనిపిస్తుంది.
మేము PWM పొందటానికి PI ని ప్రోగ్రామ్ చేస్తాము మరియు దాని పనిని చూపించడానికి ఒక LED ని కనెక్ట్ చేస్తాము.
రాస్ప్బెర్రీ పైలో 40 GPIO అవుట్పుట్ పిన్స్ ఉన్నాయి. కానీ 40 లో, 26 GPIO పిన్స్ (GPIO2 నుండి GPIO27) మాత్రమే ప్రోగ్రామ్ చేయబడతాయి. GPIO పిన్ల గురించి మరింత తెలుసుకోవడానికి, దీని ద్వారా వెళ్ళండి: రాస్ప్బెర్రీ పైతో LED బ్లింక్
అవసరమైన భాగాలు:
ఇక్కడ మేము రాస్ప్బెర్రీ పై 2 మోడల్ B ని రాస్పియన్ జెస్సీ OS తో ఉపయోగిస్తున్నాము. అన్ని ప్రాథమిక హార్డ్వేర్ మరియు సాఫ్ట్వేర్ అవసరాలు ఇంతకుముందు చర్చించబడ్డాయి, మీరు దీన్ని రాస్ప్బెర్రీ పై పరిచయంలో చూడవచ్చు, మనకు అవసరమైనవి కాకుండా:
- పిన్లను కనెక్ట్ చేస్తోంది
- 220Ω లేదా 1KΩresistor
- LED
- బ్రెడ్ బోర్డు
సర్క్యూట్ వివరణ:
సర్క్యూట్ రేఖాచిత్రంలో చూపిన విధంగా మేము PIN35 (GPIO19) మరియు PIN39 (గ్రౌండ్) మధ్య LED ని కనెక్ట్ చేయబోతున్నాము. ఇంతకు ముందే చెప్పినట్లుగా, ఈ పిన్స్లో దేని నుండి అయినా 15mA కన్నా ఎక్కువ డ్రా చేయలేము, కాబట్టి కరెంట్ను పరిమితం చేయడానికి మేము 220Ω లేదా 1KΩ రెసిస్టర్ను సిరీస్లో LED తో కనెక్ట్ చేస్తున్నాము.
పని వివరణ:
ప్రతిదీ కనెక్ట్ అయిన తర్వాత, మేము పైస్టాన్లో ప్రోగ్రామ్ను వ్రాయడానికి రాస్ప్బెర్రీ పైని ఆన్ చేసి దాన్ని అమలు చేయవచ్చు.
మేము PYHTON ప్రోగ్రామ్లో ఉపయోగించబోయే కొన్ని ఆదేశాల గురించి మాట్లాడుతాము.
మేము లైబ్రరీ నుండి GPIO ఫైల్ను దిగుమతి చేయబోతున్నాము, క్రింద ఫంక్షన్ PI యొక్క GPIO పిన్లను ప్రోగ్రామ్ చేయడానికి అనుమతిస్తుంది. మేము “GPIO” ను “IO” అని పేరు మార్చుకుంటున్నాము, కాబట్టి ప్రోగ్రామ్లో మనం GPIO పిన్లను సూచించదలిచినప్పుడల్లా 'IO' అనే పదాన్ని ఉపయోగిస్తాము.
RPi.GPIO ని IO గా దిగుమతి చేయండి
కొన్నిసార్లు, మేము ఉపయోగించడానికి ప్రయత్నిస్తున్న GPIO పిన్స్ కొన్ని ఇతర విధులను చేస్తున్నప్పుడు. అలాంటప్పుడు, ప్రోగ్రామ్ను అమలు చేస్తున్నప్పుడు మాకు హెచ్చరికలు అందుతాయి. దిగువ కమాండ్ హెచ్చరికలను విస్మరించి ప్రోగ్రామ్తో కొనసాగమని PI కి చెబుతుంది.
IO.setwarnings (తప్పుడు)
మేము PI యొక్క GPIO పిన్లను బోర్డులోని పిన్ నంబర్ ద్వారా లేదా వాటి ఫంక్షన్ నంబర్ ద్వారా సూచించవచ్చు. పిన్ రేఖాచిత్రంలో, మీరు బోర్డులో 'పిన్ 35' 'GPIO19' అని చూడవచ్చు. కాబట్టి మనం ఇక్కడ పిన్ ను '35' లేదా '19' ద్వారా ప్రాతినిధ్యం వహించబోతున్నాం.
IO.setmode (IO.BCM)
మేము GPIO19 (లేదా PIN35) ను అవుట్పుట్ పిన్గా సెట్ చేస్తున్నాము. మేము ఈ పిన్ నుండి PWM అవుట్పుట్ పొందుతాము.
IO.setup (19, IO.IN)
పిన్ను అవుట్పుట్గా సెట్ చేసిన తరువాత పిన్ను పిడబ్ల్యుఎం అవుట్పుట్ పిన్గా సెటప్ చేయాలి, p = IO.PWM (అవుట్పుట్ ఛానల్, PWM సిగ్నల్ యొక్క ఫ్రీక్వెన్సీ)
పై ఆదేశం ఛానెల్ను సెటప్ చేయడానికి మరియు PWM సిగ్నల్ యొక్క ఫ్రీక్వెన్సీని సెటప్ చేయడానికి కూడా. ఇక్కడ 'p' అనేది ఏదైనా కావచ్చు. మేము GPIO19 ను PWM అవుట్పుట్ ఛానెల్గా ఉపయోగిస్తున్నాము . ' పిడబ్ల్యుఎం సిగ్నల్ యొక్క ఫ్రీక్వెన్సీ ' 100 ఎంచుకోబడింది, ఎందుకంటే మేము LED మెరిసేటట్లు చూడాలనుకోవడం లేదు.
పిడబ్ల్యుఎం సిగ్నల్ జనరేషన్ ప్రారంభించడానికి క్రింద కమాండ్ ఉపయోగించబడుతుంది, ' డ్యూటిసైకిల్ ' టర్న్ ఆన్ నిష్పత్తిని సెట్ చేయడానికి, 0 అంటే 0% సమయానికి LED ఆన్ అవుతుంది, 30 అంటే 30% సమయానికి LED ఆన్ అవుతుంది మరియు 100 అంటే పూర్తిగా ఆన్.
p.start (DUTYCYCLE)
ఈ ఆదేశం లూప్ను 50 సార్లు అమలు చేస్తుంది, x 0 నుండి 49 కి పెంచబడుతుంది.
పరిధిలో x కోసం (50):
1: అనంత లూప్ కోసం ఉపయోగించబడుతుంది. ఈ ఆదేశంతో ఈ లూప్లోని స్టేట్మెంట్లు నిరంతరం అమలు చేయబడతాయి.
కార్యక్రమం అమలు కావడంతో, పిడబ్ల్యుఎం సిగ్నల్ యొక్క విధి చక్రం పెరుగుతుంది. ఆపై 100% చేరుకున్న తరువాత తగ్గుతుంది. ఈ పిన్తో జతచేయబడిన ఎల్ఈడీతో, ఎల్ఈడీ ప్రకాశం మొదట పెరుగుతుంది మరియు తరువాత తగ్గుతుంది.