- आवश्यक घटक:
- यह काम किस प्रकार करता है:
- सर्किट स्पष्टीकरण:
- रास्पबेरी पाई में कोड कैसे चलाएं:
- प्रोग्रामिंग स्पष्टीकरण:
रास्पबेरी पाई एक एआरएम कॉर्टेक्स आधारित लोकप्रिय विकास बोर्ड है जो इलेक्ट्रॉनिक इंजीनियरों और हॉबीस्ट के लिए डिज़ाइन किया गया है। यह एक एकल बोर्ड कंप्यूटर है जो बहुत अच्छी प्रोसेसिंग स्पीड और मेमोरी के साथ कम पावर पर काम करता है। रास्पबेरी पाई का उपयोग एक सामान्य पीसी की तरह एक समय में विभिन्न कार्यों को करने के लिए किया जा सकता है, और इसलिए इसे आपकी हथेली में मिनी कंप्यूटर कहा जाता है ।
हमने रास्पबेरी पाई ट्यूटोरियल की एक श्रृंखला बनाई है, जिसमें हमने सभी बुनियादी घटकों के साथ रास्पबेरी पाई के इंटरफैसिंग को कवर किया है, साथ ही साथ शुरू करने के लिए कुछ सरल रास्पबेरी पाई प्रोजेक्ट भी हैं ।
यहां हम रास्पबेरी पाई बोर्ड का उपयोग करके एक इलेक्ट्रॉनिक वोटिंग मशीन बनाने जा रहे हैं । हम सभी इलेक्ट्रॉनिक वोटिंग मशीन (ईवीएम) के बारे में जानते हैं जो कि एक साधारण बटन दबाकर चुनाव में मतदान करने के लिए उपयोग की जाती है। हमने पहले से ही इलेक्ट्रानिक वोटिंग मशीन को अलग-अलग माइक्रोकंट्रोलर जैसे कि ईवीएम जैसे एवीआर माइक्रोकंट्रोलर और ईवीएम के साथ Arduino के साथ कवर किया है। हमने एक वोटिंग मशीन भी बनाई है जिसमें वोटर को RFID टैग द्वारा प्रमाणित किया जाता है, ताकि केवल प्रमाणित वोटों की गिनती की जा सके।
रास्पबेरी पाई का उपयोग करने वाली यह इलेक्ट्रॉनिक वोटिंग मशीन हमारे पिछले वोटिंग मशीन प्रोजेक्ट्स की तुलना में सरल और आसान है।
आवश्यक घटक:
- रास्पबेरी पाई - 1
- 16x2 एलसीडी - 1
- पुश बटन - 5
- ब्रेड बोर्ड - १
- तारों को जोड़ना
- 1K रोकनेवाला - 1
- 10K रोकनेवाला - 5
- 10K POT - 1
- एलईडी का - ५
यह काम किस प्रकार करता है:
इस परियोजना में हमने चार बटन का इस्तेमाल चार उम्मीदवारों या पार्टियों को वोट देने के लिए किया है। हम उम्मीदवारों की संख्या बढ़ा सकते हैं, लेकिन बेहतर समझ के लिए हमने केवल चार का उपयोग किया है। जब कोई मतदाता चार में से किसी भी बटन को दबाता है तो संबंधित पार्टी या उम्मीदवार के लिए 'वोटिंग काउंट' को हर बार एक-एक करके बढ़ाया जाता है। उसी समय एक पल के लिए एलईडी ब्लिंक और बजर बीप्स, यह इंगित करने के लिए कि वोट दिया गया है। मतदान पूरा होने के बाद, हमारे पास "परिणाम" बटन होता है, ताकि वोटिंग के परिणाम दिखाए जा सकें। जब हम इस बटन को दबाते हैं, तो एलसीडी स्क्रीन नं के साथ जीतने वाली पार्टी का नाम दिखाती है। प्रत्येक पार्टी को दिए गए वोटों का।
सर्किट स्पष्टीकरण:
रास्पबेरी पाई का उपयोग करने वाले इस ईवीएम के सर्किट आरेख नीचे दिए गए हैं। रास्पबेरी पाई पूरी प्रक्रिया को नियंत्रित करता है जैसे बटन पढ़ना, वोट की गिनती बढ़ाना, परिणाम उत्पन्न करना और एलसीडी पर सभी चीजों को प्रदर्शित करना।
यहाँ हमने परियोजना में सभी कार्यों को करने के लिए रास्पबेरी पाई 3 बोर्ड का उपयोग किया है और रास्पबेरी पाई के GPIO पिन को चुनने और नियंत्रित करने के लिए wiringPi लाइब्रेरी का उपयोग किया है। हम यहां रास्पबेरी पाई 2 का भी उपयोग कर सकते हैं। यहाँ हमने पाँच बटन का उपयोग किया है, जिसमें चार का उपयोग चार अलग-अलग उम्मीदवारों / पार्टियों के वोट के लिए किया गया है और एक बटन का उपयोग एलसीडी पर परिणाम दिखाने के लिए किया गया है । ये पांच बटन आरपीआई 3 के जीपीओ पिन 21 से 25 से सीधे जुड़े हुए हैं, प्रत्येक के लिए 10K पुल-अप रोकनेवाला के साथ जमीन के संबंध में है। एक 16x2 एलसीडी रास्पबेरी पाई के साथ जुड़ा हुआ है। कंट्रोल पिन RS, RW और En, GPIO पिन 11, GND और 10. से जुड़े हैं और डेटा पिन D4-D7, GPIO पिन 6, 5, 4 और RPI के 1 से जुड़ा है। एक बजरजब कोई भी बटन मतदाता द्वारा दबाया जाता है, तो उसका उपयोग बीप के लिए किया जाता है। यहां हमने एक ग्रीन एलईडी (D5) का उपयोग किया है, जिससे यह संकेत मिलता है कि सिस्टम तैयार है और मतदाता बटन दबाकर मशीन में अपना वोट डाल सकता है। एलसीडी की चमक को नियंत्रित करने के लिए 10k पॉट का उपयोग किया जाता है।
रास्पबेरी पाई में कोड कैसे चलाएं:
1. सबसे पहले, डिफ़ॉल्ट यूजर नेम: 'pi' और पासवर्ड: 'रास्पबेरी' का उपयोग करके SSH का उपयोग करके अपने रास्पबेरी पाई में लॉगिन करें । यहां हमने विंडोज के माध्यम से पाई के साथ जुड़ने के लिए SSH क्लाइंट "विंडोज के लिए पोटीन" का उपयोग किया है। यदि आप लिनक्स पर हैं, तो आप SSH का उपयोग करके सीधे Pi से जुड़ सकते हैं। 'SSH का उपयोग कर रास्पबेरी पाई के साथ कनेक्ट हो रहा है' पर इंटरनेट पर बहुत सारे ट्यूटोरियल हैं, इसलिए यहां हम विवरण में नहीं जा रहे हैं। आपको पाई, ओएस इंस्टॉलेशन (रास्पियन जेसी) और इसके हार्डवेयर और सॉफ़्टवेयर आवश्यकताओं के बारे में अधिक जानने के लिए रास्पबेरी पाई से कैसे शुरू करना चाहिए, इसकी भी जांच करनी चाहिए ।
2. अब वोटिंग.के नाम से एक नई फ़ाइल खोलने के लिए नीचे दिए गए कमांड को चलाएं और कोड को कोड (नीचे दिए गए कोड अनुभाग में) फ़ाइल में पेस्ट करें, कोड पेस्ट करने के लिए "शिफ्ट + इंसर्ट" कुंजी का उपयोग करें।
सुडो नैनो वोटिंग
3. कोड लिखने के बाद ctrl + x दबाएं और फिर कोड को बचाने के लिए y दबाएँ और एंटर दबाएँ।
4. अब दिए गए कमांड का उपयोग करके कोड को निष्पादन योग्य बनाएं:
cc -o वोटिंग। CC -lwiringPi -std = c99
5. अंत में दिए गए कमांड का उपयोग करके कोड चलाएं
सूद./voting
प्रोग्रामिंग स्पष्टीकरण:
यहाँ हमने कोड लिखने के लिए बहुत से उपयोगकर्ता परिचित C भाषा का उपयोग किया है और कोडिंग Arduino कोडिंग के समान है। हम इस परियोजना के निर्माण के लिए पायथन भाषा का भी उपयोग कर सकते हैं।
सबसे पहले हम हेडर फ़ाइलों को शामिल करते हैं और एलसीडी के लिए पिन परिभाषित करते हैं; wiringPi.h हेडर फ़ाइल का उपयोग Pi के GPIO पिन को नियंत्रित करने के लिए किया जाता है। फिर वोटिंग इनपुट और एलईडी संकेत लेने के लिए कुछ चर और पिन को इनिशियलाइज़ करें।
#शामिल
इसके बाद, हमने सभी उपयोग किए गए GPIO के शून्य सेटअप () फ़ंक्शन में दिशा दी है ।
शून्य सेटअप () {if (wiringPiSetup () == - 1) प्रिंटफ ("ERROR"); पिनमोड (led1, OUTPUT); पिनमोड (led2, OUTPUT); पिनमोड (led3, OUTPUT); पिनमोड (led4, OUTPUT); पिनमोड (led5, OUTPUT); पिनमोड (buzz, OUTPUT); पिनमोड (RS, OUTPUT);……………….
कोड में, हमने बटन दबाए गए पढ़ने के लिए void main () में digitalRead फ़ंक्शन का उपयोग किया है।
अगर (digitalRead (in1) == 0) {वोट 1 ++; प्रदर्शन(); digitalWrite (led1, HIGH); बजर (); digitalWrite (led1, LOW); रुको(); }
void शो () फ़ंक्शन का उपयोग उम्मीदवार की पार्टी के नाम के साथ एलसीडी पर वोटिंग की जानकारी प्रदर्शित करने के लिए किया जाता है।
शून्य दिखाना () {सेटकैसर (0,0); प्रिंट ("BJP Cong AAP Ex"); setCursor (1,1); स्प्रिंटफ (वोट, "% d", वोट 1); प्रिंट (वोट); setCursor (6,1); स्प्रिंटफ (वोट, "% d", वोट 2);………………..
इस परियोजना में उपयोग किए गए कुछ और कार्य इस प्रकार हैं:
void buzzer () fuction का उपयोग बजर को बीप करने के लिए किया जाता है ताकि वोट दिया जा सके। और एलईडी डी 5 (हार्डवेयर में ग्रीन एलईडी ) के लिए शून्य प्रतीक्षा () फ़्यूज़न, जो दर्शाता है कि एलईडी चालू होने पर वोट के लिए सिस्टम तैयार है।
शून्य बजर () {डिजिटलवाइट (बज़, हाई); देरी (1000); digitalWrite (buzz, LOW); } शून्य प्रतीक्षा () {digitalWrite (led5, LOW); देरी (3000); }
void comapare () फ़ंक्शन का उपयोग किया जाता है, परिणाम प्राप्त करने के लिए और एलसीडी पर परिणाम की स्थिति दिखाने के लिए, प्रत्येक उम्मीदवारों के कुल वोटों की तुलना करने के लिए।
शून्य की तुलना () {स्पष्ट (); प्रिंट ("कृपया प्रतीक्षा करें…."); रुको(); अगर (वोट 1> वोट 2 और& वोट 1> वोट 3 और& वोट 1> वोट 4) {digitalWrite (led1, HIGH); के लिए (i = 0; मैं <2; मैं ++) {स्पष्ट (); setCursor (0,0); प्रिंट ("बधाई हो……."); setCursor (0,1); प्रिंट ("बीजेपी वोन चुनाव");…………………
नीचे पूर्ण कोड की जाँच करें।