जब भी हम चुनाव के लिए मतदान करने जाते हैं तो हम इलेक्ट्रॉनिक वोटिंग मशीनों को देखने आते हैं। इस परियोजना में हम ATmega32A माइक्रोकंट्रोलर का उपयोग करके एक साधारण वोटिंग मशीन को डिजाइन और विकसित करने जा रहे हैं । यद्यपि हम 32 से अधिक लोगों को वोटिंग मशीन प्राप्त करने के लिए नियंत्रक का उपयोग कर सकते हैं, लेकिन हम सब कुछ सरल रखने के लिए चार लोगों के आकार के लिए एक मतदान प्रणाली बनाने जा रहे हैं। हमारे पास चार लोगों के लिए चार बटन होंगे और जब भी कोई बटन दबाया जाएगा, एक वोट संबंधित व्यक्ति और प्रत्येक व्यक्ति को एलसीडी पर दिखाए जाने वाले वोटों की संख्या के लिए जाता है।
अवयव आवश्यक
हार्डवेयर:
ATMEGA32
बिजली की आपूर्ति (5v)
AVR-ISP PROGRAMMER
JHD_162ALCD (16x2 LCD)
100nF संधारित्र (पांच टुकड़े), 100uF संधारित्र (बिजली की आपूर्ति से जुड़े)
बटन (पांच टुकड़े), 10K 10 रोकनेवाला (पांच टुकड़े)।
सॉफ्टवेयर:
Atmel स्टूडियो 6.1
progisp या फ़्लैश मैजिक।
सर्किट आरेख और कार्य स्पष्टीकरण
जैसा कि ऊपर इलेक्ट्रॉनिक वोटिंग मशीन सर्किट में दिखाया गया है , ATMEGA32 माइक्रोकंट्रोलर का PORTA 16x2 एलसीडी के डेटा पोर्ट से जुड़ा है। यहां किसी को फ्यूज बाइट्स को बदलकर ATMEGA के PORTC में JTAG कम्युनिकेशन को डिसेबल करना याद रखना चाहिए, अगर कोई PORTC को सामान्य कम्युनिकेशन पोर्ट के रूप में इस्तेमाल करना चाहता है। 16x2 एलसीडी में, बैक लाइट होने पर सभी में 16 पिन होते हैं, अगर बैक लाइट नहीं है तो 14 पिन होंगे। एक बिजली या पीछे की हल्की पिंस को छोड़ सकता है। अब 14 पिनों में 8 डेटा पिन (7-14 या D0-D7), 2 पावर सप्लाई पिन (1 & 2 या VSS & VDD या gnd & + 5v), कंट्रास्ट कंट्रोल के लिए 3 rd पिन (VEE- नियंत्रण हैं कि पात्रों को कितना मोटा होना चाहिए दिखाया गया है), 3 नियंत्रण पिन (आरएस और आरडब्ल्यू और ई)।
सर्किट में, आप देख सकते हैं कि मैंने केवल दो नियंत्रण पिन लिए हैं क्योंकि यह बेहतर समझ का लचीलापन देता है। कंट्रास्ट बिट और READ / WRITE का उपयोग अक्सर नहीं किया जाता है, ताकि उन्हें जमीन पर छोटा किया जा सके। यह एलसीडी को कंट्रास्ट और रीड मोड में डालता है। हमें केवल वर्ण और डेटा भेजने के लिए सक्षम और आरएस पिन को नियंत्रित करने की आवश्यकता है।
एलसीडी के लिए जो कनेक्शन दिए गए हैं, वे नीचे दिए गए हैं:
PIN1 या VSS - जमीन
PIN2 या VDD या VCC - + 5v शक्ति
PIN3 या VEE - ग्राउंड (एक शुरुआत के लिए अधिकतम विपरीत देता है)
पिन 4 या आरएस (रजिस्टर चयन) - यूसी का पीडी 6
पिन 5 या आरडब्ल्यू (पढ़ें / लिखें) - जमीन (रीड मोड में एलसीडी लगाता है उपयोगकर्ता के लिए संचार को आसान बनाता है)
PIN6 या E (सक्षम करें) - uC का PD5
PIN7 या D0 - uC का PA0
PIN8 या D1 - uC का PA1
PIN9 या D2 - uC का PA2
पिन 10 या डी 3 - यूसी का पीए 3
PIN11 या D4 - uC का PA4
PIN12 या D5 - uC का PA5
PIN13 या D6 - uC का PA6
पिन 14 या U7 का D7-- PA7
सर्किट में आप देख सकते हैं कि हमने 8bit संचार (D0-D7) का उपयोग किया है, लेकिन यह अनिवार्य नहीं है। हम 4 बिट संचार (डी 4-डी 7) का उपयोग कर सकते हैं लेकिन 4 बिट संचार कार्यक्रम थोड़ा जटिल हो जाता है इसलिए मैं सिर्फ 8 बिट संचार के साथ गया।
इसलिए उपरोक्त तालिका के मात्र अवलोकन से हम एलसीडी के 10 पिन को कंट्रोलर से जोड़ रहे हैं जिसमें 8 पिन डेटा पिन और 2 पिन नियंत्रण के लिए हैं। यहां पांच बटन मौजूद हैं, चार उम्मीदवारों के वोटों को बढ़ाने के लिए और पांचवां उम्मीदवार के वोटों को शून्य पर लाने के लिए है।
यहां मौजूद कैपेसिटर बटन के उछलते प्रभाव को कम करने के लिए है। यदि वे निकाल दिए जाते हैं, तो नियंत्रक प्रत्येक बार बटन दबाए जाने पर एक से अधिक गणना कर सकता है। पिन के लिए जुड़े प्रतिरोधों को वर्तमान को सीमित करने के लिए होता है, जब बटन को पिन को जमीन पर खींचने के लिए दबाया जाता है।
जब भी कोई बटन दबाया जाता है, तो नियंत्रक का संबंधित पिन जमीन पर खिंच जाता है और इस प्रकार नियंत्रक पहचानता है कि निश्चित बटन दबाया गया है और इसी कार्रवाई की जानी चाहिए, यह उम्मीदवार के वोटों को बढ़ाने या बटन दबाए गए वोटों के आधार पर रीसेट हो सकता है।
जब एक संबंधित व्यक्ति का प्रतिनिधित्व करने वाला बटन दबाया जाता है, तो नियंत्रक इसे चुनता है और वृद्धि के बाद संबंधित व्यक्ति संख्या को अपनी मेमोरी के अंदर बढ़ाता है, यह 16x2 एलसीडी डिस्प्ले पर संबंधित व्यक्तियों को दिखाता है।
इस माइक्रो आधारित इलेक्ट्रॉनिक वोटिंग मशीन की कार्यप्रणाली को नीचे से नीचे सी कोड का चरण दर चरण में समझाया गया है,