ఎన్నికలకు ఓటు వేయడానికి వెళ్ళినప్పుడల్లా ఎలక్ట్రానిక్ ఓటింగ్ యంత్రాలను చూడటానికి వస్తాము. ఈ ప్రాజెక్ట్లో మేము ATmega32A మైక్రోకంట్రోలర్ను ఉపయోగించి సరళమైన ఓటింగ్ యంత్రాన్ని రూపొందించబోతున్నాము. మేము 32 మందికి పైగా ఓటింగ్ యంత్రాన్ని పొందడానికి నియంత్రికను ఉపయోగించగలిగినప్పటికీ, ప్రతిదీ సరళంగా ఉంచడానికి మేము నలుగురు వ్యక్తుల పరిమాణానికి ఓటింగ్ వ్యవస్థను తయారు చేయబోతున్నాము. మేము నలుగురికి నాలుగు బటన్లు కలిగి ఉంటాము మరియు ఒక బటన్ నొక్కినప్పుడల్లా, a సంబంధిత వ్యక్తికి ఓటు వెళుతుంది మరియు ప్రతి వ్యక్తి ఎల్సిడిలో చూపించే ఓట్ల సంఖ్య.
భాగాలు అవసరం
హార్డ్వేర్:
ATMEGA32
విద్యుత్ సరఫరా (5 వి)
AVR-ISP ప్రోగ్రామర్
JHD_162ALCD (16x2 LCD)
100nF కెపాసిటర్ (ఐదు ముక్కలు), 100uF కెపాసిటర్ (విద్యుత్ సరఫరాలో కనెక్ట్ చేయబడింది)
బటన్ (ఐదు ముక్కలు), 10KΩ రెసిస్టర్ (ఐదు ముక్కలు).
సాఫ్ట్వేర్:
అట్మెల్ స్టూడియో 6.1
ప్రోగిస్ప్ లేదా ఫ్లాష్ మ్యాజిక్.
సర్క్యూట్ రేఖాచిత్రం మరియు వర్కింగ్ వివరణ
పై ఎలక్ట్రానిక్ ఓటింగ్ మెషిన్ సర్క్యూట్లో చూపినట్లుగా, ATMEGA32 మైక్రోకంట్రోలర్ యొక్క PORTA 16x2 LCD యొక్క డేటా పోర్టుకు అనుసంధానించబడి ఉంది. PORTC ని సాధారణ కమ్యూనికేషన్ పోర్ట్గా ఉపయోగించాలనుకుంటే, ఫ్యూజ్ బైట్లను మార్చడం ద్వారా ATMEGA యొక్క PORTC లోని JTAG కమ్యూనికేషన్ను నిలిపివేయాలని ఇక్కడ గుర్తుంచుకోవాలి. 16x2 LCD లో, బ్యాక్ లైట్ ఉంటే అన్నింటికంటే 16 పిన్స్ ఉన్నాయి, బ్యాక్ లైట్ లేకపోతే 14 పిన్స్ ఉంటాయి. బ్యాక్ లైట్ పిన్లను శక్తివంతం చేయవచ్చు లేదా వదిలివేయవచ్చు. ఇప్పుడు 14 పిన్లలో 8 డేటా పిన్స్ (7-14 లేదా డి 0-డి 7), 2 విద్యుత్ సరఫరా పిన్స్ (1 & 2 లేదా విఎస్ఎస్ & విడిడి లేదా జిఎన్డి & + 5 వి), కాంట్రాస్ట్ కంట్రోల్ కోసం 3 వ పిన్ (అక్షరాలు ఎంత మందంగా ఉండాలో VEE- నియంత్రిస్తుంది చూపబడింది), 3 కంట్రోల్ పిన్స్ (RS & RW & E).
సర్క్యూట్లో, నేను రెండు కంట్రోల్ పిన్స్ మాత్రమే తీసుకున్నానని మీరు గమనించవచ్చు, ఎందుకంటే ఇది మంచి అవగాహన యొక్క సౌలభ్యాన్ని ఇస్తుంది. కాంట్రాస్ట్ బిట్ మరియు READ / WRITE తరచుగా ఉపయోగించబడవు కాబట్టి వాటిని భూమికి తగ్గించవచ్చు. ఇది ఎల్సిడిని అత్యధిక కాంట్రాస్ట్ మరియు రీడ్ మోడ్లో ఉంచుతుంది. అక్షరాలు మరియు డేటాను తదనుగుణంగా పంపడానికి మేము ఎనేబుల్ మరియు RS పిన్లను నియంత్రించాలి.
LCD కోసం చేసిన కనెక్షన్లు క్రింద ఇవ్వబడ్డాయి:
పిన్ 1 లేదా విఎస్ఎస్ - గ్రౌండ్
PIN2 లేదా VDD లేదా VCC - + 5v శక్తి
PIN3 లేదా VEE - గ్రౌండ్ (ఒక అనుభవశూన్యుడు కోసం గరిష్ట విరుద్ధతను ఉత్తమంగా ఇస్తుంది)
PIN4 లేదా RS (రిజిస్టర్ ఎంపిక) - uC యొక్క PD6
PIN5 లేదా RW (చదవడం / వ్రాయడం) - గ్రౌండ్ (LCD ని రీడ్ మోడ్లో ఉంచుతుంది వినియోగదారు కోసం కమ్యూనికేషన్ను సులభతరం చేస్తుంది)
PIN6 లేదా E (ప్రారంభించు) - uC యొక్క PD5
UC యొక్క PIN7 లేదా D0 - PA0
UC యొక్క PIN8 లేదా D1 - PA1
UC యొక్క PIN9 లేదా D2 - PA2
UC యొక్క PIN10 లేదా D3 - PA3
UC యొక్క PIN11 లేదా D4 - PA4
UC యొక్క PIN12 లేదా D5 - PA5
UC యొక్క PIN13 లేదా D6 - PA6
UC యొక్క PIN14 లేదా D7-- PA7
సర్క్యూట్లో మేము 8 బిట్ కమ్యూనికేషన్ (D0-D7) ను ఉపయోగించామని మీరు చూడవచ్చు, అయితే ఇది తప్పనిసరి కాదు. మేము 4 బిట్ కమ్యూనికేషన్ (డి 4-డి 7) ను ఉపయోగించవచ్చు, కాని 4 బిట్ కమ్యూనికేషన్ ప్రోగ్రామ్ కొంచెం క్లిష్టంగా మారుతుంది కాబట్టి నేను 8 బిట్ కమ్యూనికేషన్తో వెళ్ళాను.
కాబట్టి పై పట్టికను పరిశీలించడం నుండి మేము 10 పిన్స్ ఎల్సిడిని కంట్రోలర్కు కలుపుతున్నాము, ఇందులో 8 పిన్లు డేటా పిన్స్ మరియు నియంత్రణ కోసం 2 పిన్స్. ఇక్కడ ఐదు బటన్లు ఉన్నాయి, అభ్యర్థుల ఓట్లను పెంచడానికి నాలుగు మరియు అభ్యర్థి ఓట్లను సున్నాకి రీసెట్ చేయడానికి ఐదవది.
ఇక్కడ ఉన్న కెపాసిటర్లు బటన్ల బౌన్స్ ప్రభావాన్ని రద్దు చేయడానికి. అవి తీసివేయబడితే, నియంత్రిక ప్రతిసారీ బటన్ నొక్కినప్పుడు ఒకటి కంటే ఎక్కువ లెక్కించవచ్చు. పిన్స్ కోసం అనుసంధానించబడిన రెసిస్టర్లు కరెంట్ను పరిమితం చేయడం కోసం, పిన్ను భూమికి లాగడానికి బటన్ నొక్కినప్పుడు.
ఒక బటన్ నొక్కినప్పుడల్లా, కంట్రోలర్ యొక్క సంబంధిత పిన్ నేలమీదకు లాగబడుతుంది మరియు అందువల్ల కంట్రోలర్ కొన్ని బటన్ నొక్కినట్లు గుర్తించి, తీసుకోవలసిన చర్య తీసుకోవాలి, ఇది అభ్యర్థి ఓట్లను పెంచడం లేదా నొక్కిన బటన్ను బట్టి ఓట్లను రీసెట్ చేయడం కావచ్చు.
సంబంధిత వ్యక్తిని సూచించే బటన్ నొక్కినప్పుడు, నియంత్రిక దాన్ని ఎంచుకొని, దాని జ్ఞాపకశక్తిలో సంబంధిత వ్యక్తి సంఖ్యను పెంచిన తర్వాత 16x2 LCD డిస్ప్లేలో సంబంధిత వ్యక్తుల స్కోర్ను చూపుతుంది.
ఈ మైక్రోకంట్రోలర్ ఆధారిత ఎలక్ట్రానిక్ ఓటింగ్ యంత్రం యొక్క పని సి కోడ్ యొక్క దశల వారీగా క్రింద వివరించబడింది,