రాస్ప్బెర్రీ పై అనేది ఎలక్ట్రానిక్ ఇంజనీర్లు మరియు అభిరుచి గలవారి కోసం రూపొందించిన ARM ఆర్కిటెక్చర్ ప్రాసెసర్ ఆధారిత బోర్డు. PI ఇప్పుడు అక్కడ అత్యంత విశ్వసనీయ ప్రాజెక్ట్ డెవలప్మెంట్ ప్లాట్ఫామ్లలో ఒకటి. అధిక ప్రాసెసర్ వేగం మరియు 1 జిబి ర్యామ్తో, ఇమేజ్ ప్రాసెసింగ్ మరియు ఇంటర్నెట్ ఆఫ్ థింగ్స్ వంటి అనేక ఉన్నత ప్రాజెక్టులకు పిఐని ఉపయోగించవచ్చు.
ఏదైనా ఉన్నత ప్రొఫైల్ ప్రాజెక్టులు చేయడానికి, PI యొక్క ప్రాథమిక విధులను అర్థం చేసుకోవాలి. మేము ఈ ట్యుటోరియల్లో రాస్ప్బెర్రీ పై యొక్క అన్ని ప్రాథమిక కార్యాచరణలను కవర్ చేస్తాము. ప్రతి ట్యుటోరియల్లో మనం PI యొక్క ఒక ఫంక్షన్ గురించి చర్చిస్తాము. ట్యుటోరియల్ సిరీస్ ముగిసే సమయానికి మీరు మీరే అధిక ప్రొఫైల్ ప్రాజెక్టులను చేయగలుగుతారు. రాస్ప్బెర్రీ పై మరియు రాస్ప్బెర్రీ పై కాన్ఫిగరేషన్తో ప్రారంభించడానికి వీటిని తనిఖీ చేయండి.
మునుపటి ట్యుటోరియల్లలో LED బ్లింకీ, బటన్ ఇంటర్ఫేసింగ్ మరియు PWM తరం గురించి చర్చించాము. ఈ ట్యుటోరియల్లో మేము రాస్ప్బెర్రీ పై మరియు పిడబ్ల్యుఎం టెక్నిక్ ఉపయోగించి డిసి మోటారు వేగాన్ని నియంత్రిస్తాము. పిడబ్ల్యుఎం (పల్స్ వెడల్పు మాడ్యులేషన్) అనేది స్థిరమైన విద్యుత్ వనరు నుండి వేరియబుల్ వోల్టేజ్ పొందటానికి ఉపయోగించే పద్ధతి. మునుపటి ట్యుటోరియల్లో పిడబ్ల్యుఎం గురించి చర్చించాము.
ఉన్నాయి రాస్ప్బెర్రీ పై 2 లో 40 GPIO అవుట్పుట్ పిన్స్. కానీ 40 లో, 26 GPIO పిన్స్ (GPIO2 నుండి GPIO27) మాత్రమే ప్రోగ్రామ్ చేయబడతాయి. ఈ పిన్స్ కొన్ని కొన్ని ప్రత్యేక విధులు నిర్వహిస్తాయి. ప్రత్యేక GPIO ని పక్కన పెడితే, మాకు 17 GPIO మిగిలి ఉంది. GPIO పిన్ల గురించి మరింత తెలుసుకోవడానికి, దీని ద్వారా వెళ్ళండి: రాస్ప్బెర్రీ పైతో LED బ్లింక్
ఈ 17 GPIO పిన్ ప్రతి గరిష్టంగా 15mA ను అందించగలదు. మరియు అన్ని GPIO పిన్ల నుండి వచ్చే ప్రవాహాల మొత్తం 50mA మించకూడదు. కాబట్టి మేము ఈ GPIO పిన్స్ నుండి సగటున గరిష్టంగా 3mA ను గీయవచ్చు. కాబట్టి మీరు ఏమి చేస్తున్నారో మీకు తెలియకపోతే ఈ విషయాలను దెబ్బతీయకూడదు.
ఉన్నాయి + 5V (పిన్ 2 & 4) మరియు + 3.3V (పిన్ 1 & 17) శక్తి అవుట్పుట్ పిన్స్ ఇతర గుణకాలు మరియు సెన్సార్లు కనెక్ట్ కోసం బోర్డు మీద. ఈ పవర్ రైలు ప్రాసెసర్ శక్తికి సమాంతరంగా అనుసంధానించబడి ఉంది. కాబట్టి ఈ పవర్ రైలు నుండి హై కరెంట్ గీయడం ప్రాసెసర్ను ప్రభావితం చేస్తుంది. PI బోర్డులో ఫ్యూజ్ ఉంది, ఇది మీరు అధిక లోడ్ను వర్తింపజేసిన తర్వాత ట్రిప్ చేస్తుంది. మీరు + 3.3 వి రైలు నుండి 100 ఎంఏను సురక్షితంగా గీయవచ్చు. మేము ఇక్కడ దీని గురించి మాట్లాడుతున్నాము ఎందుకంటే; మేము DC మోటారును + 3.3V కి కనెక్ట్ చేస్తున్నాము. విద్యుత్ పరిమితిని దృష్టిలో ఉంచుకుని, మేము ఇక్కడ తక్కువ శక్తి మోటారును మాత్రమే కనెక్ట్ చేయగలము, మీరు అధిక శక్తి మోటారును నడపాలనుకుంటే, దానిని ప్రత్యేక విద్యుత్ వనరు నుండి శక్తినివ్వడాన్ని పరిగణించండి.
అవసరమైన భాగాలు:
ఇక్కడ మేము రాస్ప్బెర్రీ పై 2 మోడల్ B ని రాస్పియన్ జెస్సీ OS తో ఉపయోగిస్తున్నాము. అన్ని ప్రాథమిక హార్డ్వేర్ మరియు సాఫ్ట్వేర్ అవసరాలు ఇంతకుముందు చర్చించబడ్డాయి, మీరు దీన్ని రాస్ప్బెర్రీ పై పరిచయంలో చూడవచ్చు, మనకు అవసరమైనవి కాకుండా:
- పిన్లను కనెక్ట్ చేస్తోంది
- 220Ω లేదా 1KΩresistor (3)
- చిన్న DC మోటార్
- బటన్లు (2)
- 2N2222 ట్రాన్సిస్టర్
- 1N4007 డయోడ్
- కెపాసిటర్- 1000 యుఎఫ్
- బ్రెడ్ బోర్డు
సర్క్యూట్ వివరణ:
ఇంతకు ముందే చెప్పినట్లుగా, మేము ఏ GPIO పిన్స్ నుండి 15mA కన్నా ఎక్కువ డ్రా చేయలేము మరియు DC మోటారు 15mA కన్నా ఎక్కువ డ్రా చేస్తుంది, కాబట్టి రాస్ప్బెర్రీ పై ద్వారా ఉత్పత్తి చేయబడిన PWM ను DC మోటారుకు నేరుగా ఇవ్వలేము. కాబట్టి మేము వేగ నియంత్రణ కోసం మోటారును నేరుగా PI కి కనెక్ట్ చేస్తే, బోర్డు శాశ్వతంగా దెబ్బతింటుంది.
కాబట్టి మేము NPN ట్రాన్సిస్టర్ (2N2222) ను స్విచింగ్ పరికరంగా ఉపయోగించబోతున్నాము. ఇక్కడ ఈ ట్రాన్సిస్టర్ PI నుండి PWM సిగ్నల్ తీసుకొని అధిక శక్తి DC మోటారును నడుపుతుంది. ట్రాన్సిస్టర్ను తప్పుగా కనెక్ట్ చేయడం వల్ల బోర్డు భారీగా లోడ్ అవుతుందని ఇక్కడ ఒకరు శ్రద్ధ వహించాలి.
మోటారు ఒక ప్రేరణ మరియు మోటారును మార్చేటప్పుడు, మేము ప్రేరక స్పైకింగ్ను అనుభవిస్తాము. ఈ స్పైకింగ్ ట్రాన్సిస్టర్ను భారీగా వేడి చేస్తుంది, కాబట్టి ఇండక్టివ్ స్పైకింగ్కు వ్యతిరేకంగా ట్రాన్సిస్టర్కు రక్షణ కల్పించడానికి మేము డయోడ్ (1N4007) ను ఉపయోగిస్తాము.
క్రమంలో వోల్టేజ్ హెచ్చుతగ్గులు తగ్గించేందుకు, మేము ఒక కనెక్ట్ చేయబడుతుంది 1000uF కెపాసిటర్ సర్క్యూట్లో చూపిన విద్యుత్ సరఫరా అంతటా.
పని వివరణ:
సర్క్యూట్ రేఖాచిత్రం ప్రకారం ప్రతిదీ కనెక్ట్ అయిన తర్వాత, మేము PYHTON లో ప్రోగ్రామ్ను వ్రాయడానికి PI ని ఆన్ చేయవచ్చు.
మేము 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)
కలుపులలోని పరిస్థితి నిజమైతే, లూప్ లోపల ఉన్న స్టేట్మెంట్లు ఒకసారి అమలు చేయబడతాయి. కాబట్టి GPIO పిన్ 26 తక్కువగా ఉంటే, అప్పుడు IF లూప్లోని స్టేట్మెంట్లు ఒకసారి అమలు చేయబడతాయి. GPIO పిన్ 26 తక్కువగా ఉండకపోతే, అప్పుడు IF లూప్లోని స్టేట్మెంట్లు అమలు చేయబడవు.
if (IO.input (26) == తప్పు):
1: అనంత లూప్ కోసం ఉపయోగించబడుతుంది. ఈ ఆదేశంతో ఈ లూప్లోని స్టేట్మెంట్లు నిరంతరం అమలు చేయబడతాయి.
దీనితో వేగ నియంత్రణ సాధించడానికి అవసరమైన అన్ని ఆదేశాలు మన వద్ద ఉన్నాయి.
ప్రోగ్రామ్ వ్రాసి, దానిని అమలు చేసిన తరువాత, మిగిలి ఉన్నది నియంత్రణను ఆపరేట్ చేస్తుంది. మాకు PI కి కనెక్ట్ చేయబడిన రెండు బటన్లు ఉన్నాయి; ఒక డ్యూటీ సైకిల్ పెంచడం PWM సిగ్నల్ యొక్క మరియు ఇతర డ్యూటీ సైకిల్ decrementing PWM సిగ్నల్ యొక్క. ఒక బటన్ను నొక్కడం ద్వారా, DC మోటారు వేగం పెరుగుతుంది మరియు మరొక బటన్ను నొక్కడం ద్వారా DC మోటారు వేగం తగ్గుతుంది. దీనితో మేము రాస్ప్బెర్రీ పైచే DC మోటార్ స్పీడ్ కంట్రోల్ సాధించాము .
కూడా తనిఖీ చేయండి:
- DC మోటార్ స్పీడ్ కంట్రోల్
- Arduino ఉపయోగించి DC మోటార్ కంట్రోల్