- అవసరమైన భాగాలు:
- అది ఎలా పని చేస్తుంది:
- సర్క్యూట్ వివరణ:
- రాస్ప్బెర్రీ పైలో కోడ్ను ఎలా అమలు చేయాలి:
- ప్రోగ్రామింగ్ వివరణ:
రాస్ప్బెర్రీ పై అనేది ARM కార్టెక్స్ ఆధారిత ప్రసిద్ధ అభివృద్ధి బోర్డు, ఇది ఎలక్ట్రానిక్ ఇంజనీర్లు మరియు అభిరుచి గలవారి కోసం రూపొందించబడింది. ఇది చాలా మంచి ప్రాసెసింగ్ వేగం మరియు మెమరీతో తక్కువ శక్తితో పనిచేసే ఒకే బోర్డు కంప్యూటర్. రాస్ప్బెర్రీ పై ఒక సాధారణ పిసి లాగా ఒకే సమయంలో వేర్వేరు విధులు నిర్వహించడానికి ఉపయోగించవచ్చు మరియు అందువల్ల దీనిని మీ అరచేతిలో మినీ కంప్యూటర్ అంటారు.
మేము రాస్ప్బెర్రీ పై ట్యుటోరియల్స్ శ్రేణిని సృష్టించాము, దీనిలో మేము రాస్ప్బెర్రీ పై యొక్క ఇంటర్ఫేసింగ్ను అన్ని ప్రాథమిక భాగాలతో పాటు కొన్ని సాధారణ రాస్ప్బెర్రీ పై ప్రాజెక్టులతో ప్రారంభించాము.
ఇక్కడ మేము రాస్ప్బెర్రీ పై బోర్డు ఉపయోగించి ఎలక్ట్రానిక్ ఓటింగ్ యంత్రాన్ని నిర్మించబోతున్నాము. సాధారణ బటన్ను నొక్కడం ద్వారా ఎన్నికలలో ఓటు వేయడానికి ఉపయోగించే ఎలక్ట్రానిక్ ఓటింగ్ మెషిన్ (EVM) గురించి మనందరికీ తెలుసు. AVR మైక్రోకంట్రోలర్తో EVM మరియు Arduino తో EVM వంటి విభిన్న మైక్రోకంట్రోలర్లను ఉపయోగించి మేము ఇప్పటికే ఎలక్ట్రానిక్ ఓటింగ్ మెషీన్ను కవర్ చేసాము. మేము ఓటింగ్ యంత్రాన్ని కూడా నిర్మించాము, దీనిలో ఓటరు RFID ట్యాగ్ ద్వారా ప్రామాణీకరించబడింది, తద్వారా ప్రామాణీకరించబడిన ఓట్లను మాత్రమే లెక్కించవచ్చు.
మా మునుపటి ఓటింగ్ యంత్రం యొక్క ప్రాజెక్టులతో పోల్చితే, రాస్ప్బెర్రీ పైని ఉపయోగించే ఈ ఎలక్ట్రానిక్ ఓటింగ్ యంత్రం సరళమైనది మరియు సులభం.
అవసరమైన భాగాలు:
- రాస్ప్బెర్రీ పై - 1
- 16x2 LCD - 1
- పుష్ బటన్ - 5
- బ్రెడ్ బోర్డు - 1
- వైర్లను కనెక్ట్ చేస్తోంది
- 1 కె రెసిస్టర్ - 1
- 10 కె రెసిస్టర్ - 5
- 10 కె పాట్ - 1
- LED లు - 5
అది ఎలా పని చేస్తుంది:
ఈ ప్రాజెక్ట్లో మేము నలుగురు అభ్యర్థులు లేదా పార్టీలకు ఓటు వేయడానికి నాలుగు బటన్లను ఉపయోగించాము. మేము అభ్యర్థుల సంఖ్యను పెంచవచ్చు, కాని మంచి అవగాహన కోసం మేము ఇక్కడ నలుగురిని మాత్రమే ఉపయోగించాము. ఓటరు నాలుగు బటన్లలో దేనినైనా నొక్కినప్పుడు, గౌరవనీయమైన పార్టీ లేదా అభ్యర్థికి 'ఓటింగ్ లెక్కింపు' ప్రతిసారీ ఒకటి పెరుగుతుంది. అదే సమయంలో ఓటు ఇవ్వబడిందని సూచించడానికి, ఎల్ఈడీ బ్లింక్లు మరియు బజర్ బీప్లు సెకనుకు. ఓటింగ్ పూర్తయిన తర్వాత, ఓటింగ్ ఫలితాలను చూపించడానికి మాకు “ఫలితం” బటన్ ఉంది. మేము ఈ బటన్ను నొక్కినప్పుడు, ఎల్సిడి స్క్రీన్ గెలిచిన పార్టీ పేరును సంఖ్యతో చూపిస్తుంది. ప్రతి పార్టీకి ఇచ్చిన ఓట్లు.
సర్క్యూట్ వివరణ:
రాస్ప్బెర్రీ పై ఉపయోగించి ఈ EVM యొక్క సర్క్యూట్ రేఖాచిత్రం క్రింద ఇవ్వబడింది. రాస్ప్బెర్రీ పై బటన్ చదవడం, ఓటు సంఖ్యను పెంచడం, ఫలితాన్ని ఉత్పత్తి చేయడం మరియు ఎల్సిడిలో అన్ని విషయాలను ప్రదర్శించడం వంటి మొత్తం ప్రక్రియను నియంత్రిస్తుంది.
ఇక్కడ మేము ప్రాజెక్ట్లోని అన్ని కార్యకలాపాలను నిర్వహించడానికి రాస్ప్బెర్రీ పై 3 బోర్డ్ను ఉపయోగించాము మరియు రాస్ప్బెర్రీ పై యొక్క GPIO పిన్లను ఎంచుకోవడానికి మరియు నియంత్రించడానికి వైరింగ్పి లైబ్రరీని ఉపయోగించాము. మేము ఇక్కడ రాస్ప్బెర్రీ పై 2 ను కూడా ఉపయోగించవచ్చు. ఇక్కడ మేము ఉపయోగించారు ఐదు బటన్లు నలుగురు నాలుగు వేర్వేరు అభ్యర్థులు / పార్టీలకు ఓటు ఉపయోగిస్తున్నారు దీనిలో ఒక బటన్ పై ఫలితం చూపిస్తున్న కోసం ఉపయోగిస్తారు, LCD. ఈ ఐదు బటన్లు నేరుగా RPI3 యొక్క GPIO పిన్స్ 21 నుండి 25 వరకు అనుసంధానించబడి ఉన్నాయి, ప్రతిదానికి 10K పుల్-అప్ రెసిస్టర్తో భూమికి సంబంధించి. 16x2 LCD రాస్ప్బెర్రీ పైతో అనుసంధానించబడి ఉంది. కంట్రోల్ పిన్ RS, RW మరియు En GPIO పిన్ 11, GND మరియు 10 కి అనుసంధానించబడి ఉన్నాయి. మరియు డేటా పిన్ D4-D7 RPI యొక్క 6, 5, 4 మరియు 1 GPIO పిన్లకు అనుసంధానించబడి ఉంది. ఒక బజర్ఓటర్ ద్వారా ఏదైనా బటన్ నొక్కినప్పుడు బీప్ కోసం కూడా ఉపయోగిస్తారు. వ్యవస్థ సిద్ధంగా ఉందని సూచించడానికి గ్రీన్ ఎల్ఈడి (డి 5) ను ఇక్కడ ఉపయోగించాము మరియు ఓటరు బటన్ను నొక్కడం ద్వారా ఓటరు తమ ఓటును యంత్రంలో సమర్పించవచ్చు. LCD యొక్క ప్రకాశాన్ని నియంత్రించడానికి 10k పాట్ ఉపయోగించబడుతుంది.
రాస్ప్బెర్రీ పైలో కోడ్ను ఎలా అమలు చేయాలి:
1. మొదట, డిఫాల్ట్ యూజర్ పేరుతో SSH ను ఉపయోగించి మీ రాస్ప్బెర్రీ పైకి లాగిన్ అవ్వండి: 'పై' మరియు పాస్వర్డ్: 'కోరిందకాయ'. విండోస్ ద్వారా పైతో కనెక్ట్ కావడానికి ఇక్కడ మేము SSH క్లయింట్ “విండోస్ కోసం పుట్టీ” ని ఉపయోగించాము. మీరు Linux లో ఉంటే, మీరు నేరుగా SSH ఉపయోగించి పైకి కనెక్ట్ చేయవచ్చు. 'SSH ఉపయోగించి రాస్ప్బెర్రీ పైతో కనెక్ట్ అవ్వడం' పై ఇంటర్నెట్లో చాలా ట్యుటోరియల్ ఉంది, కాబట్టి ఇక్కడ మేము వివరాలలో వెళ్ళడం లేదు. పై, OS ఇన్స్టాలేషన్ (రాస్పియన్ జెస్సీ) మరియు దాని హార్డ్వేర్ మరియు సాఫ్ట్వేర్ అవసరాల గురించి మరింత తెలుసుకోవడానికి రాస్ప్బెర్రీ పైతో ఎలా ప్రారంభించాలో కూడా మీరు తనిఖీ చేయాలి.
2. ఇప్పుడు ఓటింగ్.సి అనే క్రొత్త ఫైల్ను తెరవడానికి క్రింది ఆదేశాన్ని అమలు చేయండి మరియు కోడ్ను (క్రింద కోడ్ విభాగంలో ఇవ్వబడింది) ఫైల్లో అతికించండి, కోడ్ను అతికించడానికి “షిఫ్ట్ + ఇన్సర్ట్” కీని ఉపయోగించండి.
sudo nano voting.c
3. కోడ్ వ్రాసిన తరువాత ctrl + x నొక్కండి, ఆపై కోడ్ను సేవ్ చేయడానికి y నొక్కండి మరియు ఎంటర్ నొక్కండి.
4. ఇప్పుడు ఇచ్చిన ఆదేశాన్ని ఉపయోగించి కోడ్ను ఎక్జిక్యూటబుల్ చేయండి:
cc -o ఓటింగ్ ఓటింగ్. c -lwiringPi -std = c99
5. చివరగా ఇచ్చిన ఆదేశాన్ని ఉపయోగించి కోడ్ను అమలు చేయండి
sudo./voting
ప్రోగ్రామింగ్ వివరణ:
ఇక్కడ మేము కోడ్ మరియు ఆర్డునో కోడింగ్ మాదిరిగానే కోడింగ్ రాయడానికి చాలా యూజర్ సుపరిచితమైన సి భాషను ఉపయోగించాము. ఈ ప్రాజెక్ట్ను నిర్మించడానికి మేము పైథాన్ భాషను కూడా ఉపయోగించవచ్చు.
అన్నింటిలో మొదటిది మేము హెడర్ ఫైళ్ళను చేర్చుకుంటాము మరియు LCD కోసం పిన్నులను నిర్వచించాము; పైరింగ్ యొక్క GPIO పిన్లను నియంత్రించడానికి wiringPi.h హెడర్ ఫైల్ ఉపయోగించబడుతుంది. ఓటింగ్ ఇన్పుట్ మరియు LED సూచనలు తీసుకోవటానికి కొన్ని వేరియబుల్స్ మరియు పిన్నులను ప్రారంభించండి.
# చేర్చండి
దాని తరువాత, శూన్యమైన సెటప్ () ఫంక్షన్లో ఉపయోగించిన GPIO లకు మేము దిశను ఇచ్చాము.
void setup () {if (wiringPiSetup () == - 1) printf ("ERROR"); పిన్మోడ్ (led1, OUTPUT); పిన్మోడ్ (led2, OUTPUT); పిన్మోడ్ (led3, OUTPUT); పిన్మోడ్ (led4, OUTPUT); పిన్మోడ్ (led5, OUTPUT); పిన్ మోడ్ (బజ్, U ట్పుట్); పిన్మోడ్ (RS, OUTPUT);……………….
కోడ్లో, నొక్కిన బటన్ను చదవడానికి మేము శూన్య మెయిన్ () లో డిజిటల్ రీడ్ ఫంక్షన్ను ఉపయోగించాము.
if (DigitalRead (in1) == 0) {ఓటు 1 ++; చూపించు (); డిజిటల్ రైట్ (led1, HIGH); బజర్ (); డిజిటల్ రైట్ (led1, LOW); వేచి (); }
అభ్యర్థి పార్టీ పేరుతో LCD లో ఓటింగ్ సమాచారాన్ని ప్రదర్శించడానికి void show () ఫంక్షన్ ఉపయోగించబడుతుంది.
శూన్య ప్రదర్శన () {setCursor (0,0); ముద్రణ ("BJP కాంగ్ AAP Ex"); setCursor (1,1); sprintf (ఓటు, "% d", ఓటు 1); ముద్రణ (ఓటు); setCursor (6,1); sprintf (ఓటు, "% d", ఓటు 2);………………..
ఈ ప్రాజెక్ట్లో ఉపయోగించిన మరికొన్ని విధులు ఇక్కడ ఉన్నాయి:
void buzzer () ఫక్షన్ ఓటు ఇవ్వబడిందని సూచికగా బజర్ను బీప్ చేయడానికి ఉపయోగిస్తారు. మరియు LED D5 (హార్డ్వేర్లో గ్రీన్ LED ) కోసం శూన్యమైన వేచి () ఫక్షన్, ఇది LED ఆన్ చేయబడినప్పుడు సిస్టమ్ ఓటుకు సిద్ధంగా ఉందని చూపిస్తుంది.
శూన్య బజర్ () {డిజిటల్ రైట్ (బజ్, హై); ఆలస్యం (1000); డిజిటల్ రైట్ (బజ్, తక్కువ); wait శూన్య నిరీక్షణ () {డిజిటల్ రైట్ (led5, LOW); ఆలస్యం (3000); }
void comapare () ఫంక్షన్ ఉపయోగించబడుతుంది, ప్రతి అభ్యర్థుల మొత్తం ఓట్లను పోల్చడానికి, ఫలితాన్ని పొందడానికి మరియు LCD లో ఫలితం యొక్క స్థితిని చూపించడానికి.
శూన్య పోలిక () {స్పష్టమైన (); print ("దయచేసి వేచి ఉండండి…."); వేచి (); if (ఓటు 1> ఓటు 2 && ఓటు 1> ఓటు 3 && ఓటు 1> ఓటు 4) {డిజిటల్ రైట్ (led1, HIGH); (i = 0; i <2; i ++) {clear (); setCursor (0,0); print ("అభినందనలు……."); setCursor (0,1); ముద్రణ ("బిజెపి ఎన్నికలు గెలిచింది");…………………
దిగువ పూర్తి కోడ్ను తనిఖీ చేయండి.