రాస్ప్బెర్రీ పై అనేది ఎలక్ట్రానిక్ ఇంజనీర్లు మరియు అభిరుచి గలవారి కోసం రూపొందించిన ARM ఆర్కిటెక్చర్ ప్రాసెసర్ ఆధారిత బోర్డు. PI ఇప్పుడు అక్కడ అత్యంత విశ్వసనీయ ప్రాజెక్ట్ డెవలప్మెంట్ ప్లాట్ఫామ్లలో ఒకటి. అధిక ప్రాసెసర్ వేగం మరియు 1 జిబి ర్యామ్తో, ఇమేజ్ ప్రాసెసింగ్ మరియు ఐఒటి వంటి అనేక ఉన్నత ప్రాజెక్టులకు పిఐని ఉపయోగించవచ్చు.
ఏదైనా ఉన్నత ప్రొఫైల్ ప్రాజెక్టులు చేయడానికి, PI యొక్క ప్రాథమిక విధులను అర్థం చేసుకోవాలి. మేము ఈ ట్యుటోరియల్లో రాస్ప్బెర్రీ పై యొక్క అన్ని ప్రాథమిక కార్యాచరణలను కవర్ చేస్తాము. ప్రతి ట్యుటోరియల్లో మనం PI యొక్క ఒక ఫంక్షన్ గురించి చర్చిస్తాము. ఈ రాస్ప్బెర్రీ పై ట్యుటోరియల్ సిరీస్ ముగిసే సమయానికి, మీరు మీరే అధిక ప్రొఫైల్ ప్రాజెక్టులను చేయగలుగుతారు. దిగువ ట్యుటోరియల్స్ ద్వారా వెళ్ళండి:
- రాస్ప్బెర్రీ పైతో ప్రారంభించండి
- రాస్ప్బెర్రీ పై కాన్ఫిగరేషన్
- LED బ్లింకీ
- బటన్ ఇంటర్ఫేసింగ్
- పిడబ్ల్యుఎం తరం
- DC మోటారును నియంత్రించడం
- స్టెప్పర్ మోటార్ కంట్రోల్
- ఇంటర్ఫేసింగ్ షిఫ్ట్ రిజిస్టర్
- రాస్ప్బెర్రీ పై ADC ట్యుటోరియల్
- సర్వో మోటార్ కంట్రోల్
- కెపాసిటివ్ టచ్ ప్యాడ్
ఈ ట్యుటోరియల్లో, మేము రాస్ప్బెర్రీ పైని ఉపయోగించి 16x2 LCD డిస్ప్లేని నియంత్రిస్తాము. అక్షరాలను ప్రదర్శించడానికి మేము LCD ని GPIO (జనరల్ పర్పస్ ఇన్పుట్ అవుట్పుట్) పిన్లకు కనెక్ట్ చేస్తాము. GPIO ద్వారా LCD కి తగిన ఆదేశాలను పంపడానికి మరియు అవసరమైన అక్షరాలను దాని తెరపై ప్రదర్శించడానికి మేము పైథాన్లో ఒక ప్రోగ్రామ్ వ్రాస్తాము. సెన్సార్ విలువలను ప్రదర్శించడానికి, స్థితికి అంతరాయం కలిగించడానికి మరియు సమయాన్ని ప్రదర్శించడానికి ఈ స్క్రీన్ ఉపయోగపడుతుంది.
మార్కెట్లో వివిధ రకాల ఎల్సిడిలు ఉన్నాయి. గ్రాఫిక్ ఎల్సిడి 16x2 ఎల్సిడి కంటే క్లిష్టంగా ఉంటుంది. ఇక్కడ మేము 16x2 LCD డిస్ప్లే కోసం వెళ్తున్నాము, మీకు కావాలంటే మీరు 16x1 LCD ని కూడా ఉపయోగించవచ్చు. 16x2 ఎల్సిడిలో మొత్తం 32 అక్షరాలు, 1 స్టంప్ లైన్లో 16 మరియు 2 వ లైన్లో మరో 16 అక్షరాలు ఉన్నాయి. JHD162 16x2 LCD మాడ్యూల్ అక్షరాలు LCD. మేము ఇప్పటికే 16x2 LCD ని 8051, AVR, Arduino మొదలైన వాటితో ఇంటర్ఫేస్ చేసాము. ఈ లింక్ను అనుసరించడం ద్వారా మీరు మా 16x2 LCD సంబంధిత ప్రాజెక్టులను కనుగొనవచ్చు.
ఇంకేముందు వెళ్లేముందు PI GPIO గురించి కొంచెం చర్చిస్తాము.
ఉన్నాయి రాస్ప్బెర్రీ పై 2 లో 40 GPIO అవుట్పుట్ పిన్స్. కానీ 40 లో, 26 GPIO పిన్స్ (GPIO2 నుండి GPIO27) మాత్రమే ప్రోగ్రామ్ చేయబడతాయి. ఈ పిన్స్ కొన్ని కొన్ని ప్రత్యేక విధులు నిర్వహిస్తాయి. ప్రత్యేక GPIO ని పక్కన పెడితే, మాకు 17 GPIO మిగిలి ఉంది.
బోర్డులో + 5 వి (పిన్ 2 లేదా 4) మరియు + 3.3 వి (పిన్ 1 లేదా 17) పవర్ అవుట్పుట్ పిన్స్ ఉన్నాయి, ఇవి ఇతర మాడ్యూల్స్ మరియు సెన్సార్లను కనెక్ట్ చేయడానికి. మేము + 5 వి రైలు ద్వారా 16 * 2 ఎల్సిడికి శక్తినివ్వబోతున్నాం. మేము + 3.3 వి యొక్క కంట్రోల్ సిగ్నల్ను ఎల్సిడికి పంపవచ్చు కాని ఎల్సిడి పని చేయడానికి +5 వి ద్వారా శక్తినివ్వాలి. LCD + 3.3V తో పనిచేయదు.
GPIO పిన్స్ మరియు వాటి ప్రస్తుత అవుట్పుట్ల గురించి మరింత తెలుసుకోవడానికి, దీని ద్వారా వెళ్ళండి: రాస్ప్బెర్రీ పైతో LED బ్లింక్
అవసరమైన భాగాలు:
ఇక్కడ మేము రాస్ప్బెర్రీ పై 2 మోడల్ B ని రాస్పియన్ జెస్సీ OS తో ఉపయోగిస్తున్నాము. అన్ని ప్రాథమిక హార్డ్వేర్ మరియు సాఫ్ట్వేర్ అవసరాలు ఇంతకుముందు చర్చించబడ్డాయి, మీరు దీన్ని రాస్ప్బెర్రీ పై పరిచయంలో చూడవచ్చు, మనకు అవసరమైనవి కాకుండా:
- పిన్లను కనెక్ట్ చేస్తోంది
- 16 * 2 ఎల్సిడి మాడ్యూల్
- 1KΩresistor (2 ముక్కలు)
- 10 కె పాట్
- 1000µF కెపాసిటర్
- బ్రెడ్బోర్డ్
సర్క్యూట్ మరియు వర్కింగ్ వివరణ:
సర్క్యూట్ రేఖాచిత్రంలో చూపినట్లుగా, మేము 16 * 2 ఎల్సిడి కంట్రోల్ మరియు డేటా ట్రాన్స్ఫర్ పిన్లకు పిఐ యొక్క 10 జిపిఐఓ పిన్లను కనెక్ట్ చేయడం ద్వారా ఎల్సిడి డిస్ప్లేతో ఇంటర్ఫేస్డ్ రాస్ప్బెర్రీ పైని కలిగి ఉన్నాము. మేము GPIO పిన్ 21, 20, 16, 12, 25, 24, 23, మరియు 18 లను BYTE గా ఉపయోగించాము మరియు LCD కి డేటాను పంపడానికి 'PORT' ఫంక్షన్ను సృష్టించాము. ఇక్కడ GPIO 21 LSB (తక్కువ ముఖ్యమైన బిట్) మరియు GPIO18 MSB (అత్యంత ముఖ్యమైన బిట్).
16x2 ఎల్సిడి మాడ్యూల్లో 16 పిన్స్ ఉన్నాయి, వీటిని పవర్ పిన్స్, కాంట్రాస్ట్ పిన్, కంట్రోల్ పిన్స్, డేటా పిన్స్ మరియు బ్యాక్లైట్ పిన్స్ అని ఐదు విభాగాలుగా విభజించవచ్చు. వాటి గురించి సంక్షిప్త వివరణ ఇక్కడ ఉంది:
వర్గం |
పిన్ లేదు. |
పిన్ పేరు |
ఫంక్షన్ |
పవర్ పిన్స్ |
1 |
వి.ఎస్.ఎస్ |
గ్రౌండ్ పిన్, గ్రౌండ్కు కనెక్ట్ చేయబడింది |
2 |
VDD లేదా Vcc |
వోల్టేజ్ పిన్ + 5 వి |
|
కాంట్రాస్ట్ పిన్ |
3 |
V0 లేదా VEE |
కాంట్రాస్ట్ సెట్టింగ్, Vcc క్షుణ్ణంగా వేరియబుల్ రెసిస్టర్కు కనెక్ట్ చేయబడింది. |
నియంత్రణ పిన్స్ |
4 |
ఆర్ఎస్ |
రిజిస్టర్ ఎంచుకోండి పిన్, RS = 0 కమాండ్ మోడ్, RS = 1 డేటా మోడ్ |
5 |
ఆర్డబ్ల్యూ |
పిన్ చదవండి / వ్రాయండి, RW = 0 రైట్ మోడ్, RW = 1 రీడ్ మోడ్ |
|
6 |
ఇ |
ప్రారంభించండి, ఎల్సిడిని ప్రారంభించడానికి అధిక నుండి తక్కువ పల్స్ అవసరం |
|
డేటా పిన్స్ |
7-14 |
డి 0-డి 7 |
డేటా పిన్స్, ఎల్సిడి లేదా కమాండ్ సూచనలపై ప్రదర్శించాల్సిన డేటాను నిల్వ చేస్తుంది |
బ్యాక్లైట్ పిన్లు |
15 |
LED + లేదా A. |
బ్యాక్లైట్ + 5 వికి శక్తినివ్వడానికి |
16 |
LED- లేదా K. |
బ్యాక్లైట్ గ్రౌండ్ |
LCD దాని పిన్స్ మరియు హెక్స్ ఆదేశాలతో పనిచేయడాన్ని అర్థం చేసుకోవడానికి ఈ వ్యాసం ద్వారా వెళ్ళాలని మేము గట్టిగా సిఫార్సు చేస్తున్నాము.
LCD కి డేటాను పంపే విధానాన్ని మేము క్లుప్తంగా చర్చిస్తాము:
1. E అధికంగా సెట్ చేయబడింది (మాడ్యూల్ను ప్రారంభిస్తుంది) మరియు RS తక్కువగా సెట్ చేయబడింది (మేము కమాండ్ ఇస్తున్న LCD కి చెప్పడం)
2. స్క్రీన్ను క్లియర్ చేయడానికి ఆదేశంగా డేటా పోర్ట్కు విలువ 0x01 ఇవ్వడం.
3. E అధికంగా సెట్ చేయబడింది (మాడ్యూల్ను ప్రారంభిస్తుంది) మరియు RS అధికంగా సెట్ చేయబడింది (మేము డేటాను ఇస్తున్న LCD కి చెప్పడం)
4. అక్షరాల కోసం ASCII కోడ్ను రుజువు చేయడం ప్రదర్శించాల్సిన అవసరం ఉంది.
5. E తక్కువగా సెట్ చేయబడింది (మేము డేటాను పంపినట్లు LCD కి చెప్పడం)
6. ఈ E పిన్ తక్కువగా ఉన్న తర్వాత, LCD అందుకున్న డేటాను ప్రాసెస్ చేస్తుంది మరియు సంబంధిత ఫలితాన్ని చూపుతుంది. కాబట్టి డేటాను పంపే ముందు ఈ పిన్ అధికంగా సెట్ చేయబడుతుంది మరియు డేటాను పంపిన తర్వాత భూమికి లాగబడుతుంది.
చెప్పినట్లు మేము పాత్రలను ఒకదాని తరువాత ఒకటి పంపించబోతున్నాము. అక్షరాలు ASCII సంకేతాలు ద్వారా LCD ఇస్తారు (ఇన్ఫర్మేషన్ ఇంటర్చేంజ్ అమెరికన్ స్టాండర్డ్ కోడ్). ASCII సంకేతాల పట్టిక క్రింద చూపబడింది. ఉదాహరణకు, “@” అక్షరాన్ని చూపించడానికి, మనం “40” అనే హెక్సాడెసిమల్ కోడ్ను పంపాలి. మేము LCD కి విలువ 0x73 ఇస్తే అది “s” ని ప్రదర్శిస్తుంది. ఇలా మేము “ CIRCUITDIGEST ” స్ట్రింగ్ను ప్రదర్శించడానికి తగిన కోడ్లను LCD కి పంపబోతున్నాము.
ప్రోగ్రామింగ్ వివరణ:
సర్క్యూట్ రేఖాచిత్రం ప్రకారం ప్రతిదీ కనెక్ట్ అయిన తర్వాత, మేము 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 యొక్క డేటా మరియు కంట్రోల్ పిన్ల కోసం మేము 10 GPIO పిన్లను అవుట్పుట్ పిన్లుగా సెట్ చేస్తున్నాము.
IO.setup (6, IO.OUT) IO.setup (22, IO.OUT) IO.setup (21, IO.OUT) IO.setup (20, IO.OUT) IO.setup (16, IO.OUT) IO.setup (12, IO.OUT) IO.setup (25, IO.OUT) IO.setup (24, IO.OUT) IO.setup (23, IO.OUT) IO.setup (18, IO.OUT)
1: కమాండ్ ఎప్పటికీ లూప్గా ఉపయోగించబడుతుంది, ఈ ఆదేశంతో ఈ లూప్లోని స్టేట్మెంట్లు నిరంతరం అమలు చేయబడతాయి.
మిగతా అన్ని విధులు మరియు ఆదేశాలు 'వ్యాఖ్యలు' సహాయంతో 'కోడ్' విభాగంలో క్రింద వివరించబడ్డాయి.
ప్రోగ్రామ్ను వ్రాసి అమలు చేసిన తరువాత, రాస్ప్బెర్రీ పై అక్షరాలను ఎల్సిడికి ఒక్కొక్కటిగా పంపుతుంది మరియు ఎల్సిడి అక్షరాలను తెరపై ప్రదర్శిస్తుంది.