రాస్ప్బెర్రీ పై అనేది ఎలక్ట్రానిక్ ఇంజనీర్లు మరియు అభిరుచి గలవారి కోసం రూపొందించిన ARM ఆర్కిటెక్చర్ ప్రాసెసర్ ఆధారిత బోర్డు. PI ఇప్పుడు అక్కడ అత్యంత విశ్వసనీయ ప్రాజెక్ట్ డెవలప్మెంట్ ప్లాట్ఫామ్లలో ఒకటి. అధిక ప్రాసెసర్ వేగం మరియు 1 జిబి ర్యామ్తో, ఇమేజ్ ప్రాసెసింగ్ మరియు ఐఒటి వంటి అనేక ఉన్నత ప్రాజెక్టులకు పిఐని ఉపయోగించవచ్చు.
ఏదైనా ఉన్నత ప్రొఫైల్ ప్రాజెక్టులు చేయడానికి, PI యొక్క ప్రాథమిక విధులను అర్థం చేసుకోవాలి. మేము ఈ ట్యుటోరియల్లో రాస్ప్బెర్రీ పై యొక్క అన్ని ప్రాథమిక కార్యాచరణలను కవర్ చేస్తాము. ప్రతి ట్యుటోరియల్లో మనం PI యొక్క ఒక ఫంక్షన్ గురించి చర్చిస్తాము. ఈ రాస్ప్బెర్రీ పై ట్యుటోరియల్స్ సిరీస్ ముగిసే సమయానికి, మీరు రాస్ప్బెర్రీ పై నేర్చుకోవచ్చు మరియు మీరే మంచి ప్రాజెక్టులు చేసుకోవచ్చు. దిగువ ట్యుటోరియల్స్ ద్వారా వెళ్ళండి:
- రాస్ప్బెర్రీ పైతో ప్రారంభించండి
- రాస్ప్బెర్రీ పై కాన్ఫిగరేషన్
- LED బ్లింకీ
- బటన్ ఇంటర్ఫేసింగ్
- రాస్ప్బెర్రీ పై పిడబ్ల్యుఎం తరం
- రాస్ప్బెర్రీ పైతో LCD ఇంటర్ఫేసింగ్
- DC మోటారును నియంత్రించడం
- స్టెప్పర్ మోటార్ కంట్రోల్
- ఇంటర్ఫేసింగ్ షిఫ్ట్ రిజిస్టర్
- రాస్ప్బెర్రీ పై ADC ట్యుటోరియల్
- సర్వో మోటార్ కంట్రోల్
- కెపాసిటివ్ టచ్ ప్యాడ్
ఈ ట్యుటోరియల్లో, మేము రాస్ప్బెర్రీ పై 7 సెగ్మెంట్ డిస్ప్లే ఇంటర్ఫేసింగ్ చేయబోతున్నాం. డిస్ప్లే యూనిట్కు ఏడు సెగ్మెంట్ డిస్ప్లేలు చౌకైనవి. ఉష్ణోగ్రత, కౌంటర్ విలువ మొదలైనవాటిని ప్రదర్శించడానికి ఈ రెండు విభాగాలు కలిసి ఉంటాయి. మేము 7 సెగ్మెంట్ డిస్ప్లే యూనిట్ను PI యొక్క GPIO కి కనెక్ట్ చేస్తాము మరియు తదనుగుణంగా అంకెలను ప్రదర్శించడానికి వాటిని నియంత్రిస్తాము. ఆ తరువాత మేము 0-9 నుండి గణనలకు ఏడు సెగ్మెంట్ డిస్ప్లే కోసం పైథాన్లో ఒక ప్రోగ్రామ్ను వ్రాస్తాము మరియు సున్నాకి రీసెట్ చేస్తాము.
ఏడు సెగ్మెంట్ ప్రదర్శన:
7 సెగ్మెంట్ డిస్ప్లేల యొక్క వివిధ రకాలు మరియు పరిమాణాలు ఉన్నాయి. మేము ఇక్కడ వివరంగా పనిచేస్తున్న ఏడు విభాగాన్ని కవర్ చేసాము. ప్రాథమికంగా 7 సెగ్మెంట్, కామన్ యానోడ్ రకం (కామన్ పాజిటివ్ లేదా కామన్ విసిసి) మరియు కామన్ కాథోడ్ రకం (కామన్ నెగటివ్ లేదా కామన్ గ్రౌండ్) అనే రెండు రకాలు ఉన్నాయి.
కామన్ యానోడ్ (సిఎ): ఇందులో మొత్తం 8 ఎల్ఇడిల యొక్క అన్ని నెగటివ్ టెర్మినల్స్ (కాథోడ్) కలిసి అనుసంధానించబడి ఉన్నాయి (క్రింద ఉన్న రేఖాచిత్రం చూడండి), వీటిని COM అని పిలుస్తారు. మరియు అన్ని సానుకూల టెర్మినల్స్ ఒంటరిగా మిగిలిపోతాయి.
కామన్ కాథోడ్ (సిసి): ఇందులో మొత్తం 8 ఎల్ఇడిల యొక్క అన్ని పాజిటివ్ టెర్మినల్స్ (యానోడ్లు) కలిసి అనుసంధానించబడి ఉన్నాయి, వీటిని COM అని పిలుస్తారు. మరియు అన్ని ప్రతికూల థర్మల్స్ ఒంటరిగా మిగిలిపోతాయి.
ఈ సిసి మరియు సిఎ ఏడు సెగ్మెంట్ డిస్ప్లేలు చాలా కణాలను కలిపి మల్టీప్లెక్స్ చేసేటప్పుడు చాలా ఉపయోగకరంగా ఉంటాయి. మా ట్యుటోరియల్లో మేము సిసి లేదా కామన్ కాథోడ్ సెవెన్ సెగ్మెంట్ డిస్ప్లేని ఉపయోగిస్తాము.
మేము ఇప్పటికే 7 విభాగాన్ని 8051 తో, ఆర్డునోతో మరియు AVR తో ఇంటర్ఫేస్ చేసాము. మేము మా అనేక ప్రాజెక్టులలో 7 సెగ్మెంట్ డిస్ప్లేని ఉపయోగించాము.
రాస్ప్బెర్రీ పై GPIO గురించి మనం కొంచెం ముందుకు వెళ్తాము.
ఉన్నాయి రాస్ప్బెర్రీ పై 2 లో 40 GPIO అవుట్పుట్ పిన్స్. కానీ 40 లో, 26 GPIO పిన్స్ (GPIO2 నుండి GPIO27) మాత్రమే ప్రోగ్రామ్ చేయబడతాయి, క్రింద ఉన్న బొమ్మను చూడండి. ఈ పిన్స్ కొన్ని కొన్ని ప్రత్యేక విధులు నిర్వహిస్తాయి. ప్రత్యేక GPIO ని పక్కన పెడితే, మాకు 17 GPIO మిగిలి ఉంది.
7 సెగ్మెంట్ డిస్ప్లేని నడపడానికి GPIO యొక్క (పిన్ 1 లేదా 17) + 3.3 వి సిగ్నల్ సరిపోతుంది. ప్రస్తుత పరిమితిని అందించడానికి, సర్క్యూట్ రేఖాచిత్రంలో చూపిన విధంగా మేము ప్రతి విభాగానికి 1KΩ రెసిస్టర్ను ఉపయోగిస్తాము.
GPIO పిన్స్ మరియు వాటి ప్రస్తుత అవుట్పుట్ల గురించి మరింత తెలుసుకోవడానికి, దీని ద్వారా వెళ్ళండి: రాస్ప్బెర్రీ పైతో LED బ్లింక్
అవసరమైన భాగాలు:
ఇక్కడ మేము రాస్ప్బెర్రీ పై 2 మోడల్ B ని రాస్పియన్ జెస్సీ OS తో ఉపయోగిస్తున్నాము. అన్ని ప్రాథమిక హార్డ్వేర్ మరియు సాఫ్ట్వేర్ అవసరాలు ఇంతకుముందు చర్చించబడ్డాయి, మీరు దీన్ని రాస్ప్బెర్రీ పై పరిచయంలో చూడవచ్చు, మనకు అవసరమైనవి కాకుండా:
- పిన్లను కనెక్ట్ చేస్తోంది
- కామన్ కాథోడ్ 7 సెగ్మెంట్ డిస్ప్లే (LT543)
- 1KΩresistor (8 ముక్కలు)
- బ్రెడ్బోర్డ్
సర్క్యూట్ మరియు వర్కింగ్ వివరణ:
రాస్ప్బెర్రీ పైకి ఇంటర్ఫేసింగ్ 7 సెగ్మెంట్ డిస్ప్లే కోసం చేసిన కనెక్షన్లు క్రింద ఇవ్వబడ్డాయి. మేము ఇక్కడ కామన్ కాథోడ్ 7 విభాగాన్ని ఉపయోగించాము:
పిన్ 1 లేదా ఇ ------------------ GPIO21
PIN2 లేదా d ------------------ GPIO20
PIN4 లేదా c ------------------ GPIO16
PIN5 లేదా h లేదా DP ---------- GPIO 12 // మేము దశాంశ బిందువును ఉపయోగించనందున తప్పనిసరి కాదు
పిన్ 6 లేదా బి ------------------ GPIO6
PIN7 లేదా a ------------------ GPIO13
PIN9 లేదా f ------------------ GPIO19
PIN10 లేదా g ---------------- GPIO26
PIN3 లేదా PIN8 ------------- గ్రౌండ్కు కనెక్ట్ చేయబడింది
కాబట్టి మేము PI యొక్క 8 GPIO పిన్లను 8bit PORT గా ఉపయోగిస్తాము. ఇక్కడ GPIO13 LSB (తక్కువ ముఖ్యమైన బిట్) మరియు GPIO 12 MSB (అత్యంత ముఖ్యమైన బిట్) గా ఉంది.
ఇప్పుడు, మేము "1" సంఖ్యను ప్రదర్శించాలనుకుంటే, మేము B మరియు C విభాగాలను శక్తివంతం చేయాలి. పవర్ సెగ్మెంట్ B మరియు C కి, మేము GPIO6 మరియు GPIO16 లకు శక్తినివ్వాలి. కాబట్టి 'PORT' ఫంక్షన్ కోసం బైట్ 0b00000110 మరియు 'PORT' యొక్క హెక్స్ విలువ 0x06 అవుతుంది. రెండు పిన్స్ అధికంగా ఉండటంతో మనకు “1” ప్రదర్శనలో లభిస్తుంది.
మేము ప్రదర్శించాల్సిన ప్రతి అంకెకు విలువలను వ్రాసాము మరియు ఆ విలువలను 'డిస్ప్లే' అనే అక్షరాల స్ట్రింగ్లో నిల్వ చేసాము (క్రింద ఉన్న కోడ్ విభాగాన్ని తనిఖీ చేయండి). ఫంక్షన్ 'PORT' ను ఉపయోగించి డిస్ప్లేలో సంబంధిత అంకెను చూపించడానికి మేము ఆ విలువలను ఒక్కొక్కటిగా పిలిచాము.
ప్రోగ్రామింగ్ వివరణ:
సర్క్యూట్ రేఖాచిత్రం ప్రకారం ప్రతిదీ కనెక్ట్ అయిన తర్వాత, మేము 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)
LCD యొక్క డేటా మరియు కంట్రోల్ పిన్ల కోసం మేము 8 GPIO పిన్లను అవుట్పుట్ పిన్లుగా సెట్ చేస్తున్నాము.
IO.setup (13, IO.OUT) IO.setup (6, IO.OUT) IO.setup (16, IO.OUT) IO.setup (20, IO.OUT) IO.setup (21, IO.OUT) IO.setup (19, IO.OUT) IO.setup (26, IO.OUT) IO.setup (12, IO.OUT)
కలుపులలోని పరిస్థితి నిజమైతే, లూప్ లోపల స్టేట్మెంట్స్ ఒకసారి అమలు చేయబడతాయి. కాబట్టి 8 బిట్ 'పిన్' యొక్క బిట్ 0 నిజమైతే, పిన్ 13 అధికంగా ఉంటుంది, లేకపోతే పిన్ 13 తక్కువగా ఉంటుంది. బిట్ 0 నుండి బిట్ 7 వరకు మనకు ఎనిమిది 'లేకపోతే' షరతులు ఉన్నాయి, తద్వారా 7 సెగ్మెంట్ డిస్ప్లే లోపల తగిన ఎల్ఈడీని సంబంధిత సంఖ్యను ప్రదర్శించడానికి హై లేదా తక్కువ చేయవచ్చు.
if (పిన్ & 0x01 == 0x01): IO.output (13,1) else: IO.output (13,0)
ఈ ఆదేశం లూప్ను 10 సార్లు అమలు చేస్తుంది, x 0 నుండి 9 వరకు పెరుగుతుంది.
పరిధిలో x కోసం (10):
క్రింద ఉన్న ఆదేశం ఎప్పటికీ లూప్గా ఉపయోగించబడుతుంది, ఈ ఆదేశంతో ఈ లూప్లోని స్టేట్మెంట్లు నిరంతరం అమలు చేయబడతాయి.
1:
మిగతా అన్ని విధులు మరియు ఆదేశాలు 'వ్యాఖ్యలు' సహాయంతో 'కోడ్' విభాగంలో క్రింద వివరించబడ్డాయి.
ప్రోగ్రామ్ను వ్రాసి దాన్ని అమలు చేసిన తరువాత, రాస్ప్బెర్రీ పై 7 సెగ్మెంట్ డిస్ప్లేలో అంకెను చూపించడానికి సంబంధిత GPIO లను ప్రేరేపిస్తుంది. ప్రదర్శన 0-9 నుండి నిరంతరం లెక్కించడానికి ప్రోగ్రామ్ వ్రాయబడింది.