- தேவையான கூறுகள்:
- வாக்களிக்கும் இயந்திரத்தில் விரல் அச்சு சென்சார் தொகுதி:
- வேலை விளக்கம்:
- சுற்று விளக்கம்:
- நிரல் விளக்கம்:
நாங்கள் அனைவரும் மின்னணு வாக்குப்பதிவு இயந்திரங்களை நன்கு அறிந்திருக்கிறோம், அங்கு உங்கள் வாக்கு மின்னணு முறையில் பதிவு செய்யப்படுகிறது, மேலும் தேர்தலில் வாக்களிக்க நீங்கள் வாக்குச் சீட்டைப் பயன்படுத்தத் தேவையில்லை. இன்று பாதுகாப்பு என்பது ஒரு முக்கிய கவலையாக உள்ளது, மேலும் யாராவது இரண்டு முறை வாக்களிக்க முடியாது என்பதையும் உறுதிப்படுத்த வேண்டும், எனவே விரல் அச்சு அடிப்படையிலான வாக்களிப்பை அறிமுகப்படுத்துவதன் மூலம் இந்த சிக்கலை தீர்க்க முடியும், அங்கு ஒரு நபர் தனது விரல் அச்சின் அடிப்படையில் அங்கீகாரம் பெற முடியும். இது போலி வாக்களிப்பையும் நிறுத்தும். ஆகவே இன்று நாம் ஆர்டுயினோவைப் பயன்படுத்தி ஃபிங்கர்பிரிண்ட் அடிப்படையிலான பயோமெட்ரிக் வாக்குப்பதிவு இயந்திரத்தை உருவாக்குகிறோம்.
வெவ்வேறு மைக்ரோகண்ட்ரோலர்களைப் பயன்படுத்தி எங்கள் முந்தைய மின்னணு வாக்குப்பதிவு இயந்திர திட்டங்களையும் சரிபார்க்கவும்:
- ராஸ்பெர்ரி பை பயன்படுத்தி மின்னணு வாக்குப்பதிவு இயந்திரம்
- RFID அடிப்படையிலான வாக்குப்பதிவு இயந்திரம்
- ஏ.வி.ஆர் மைக்ரோகண்ட்ரோலர் அடிப்படையிலான மின்னணு வாக்குப்பதிவு இயந்திர திட்டம்
- Arduino ஐப் பயன்படுத்தி மின்னணு வாக்குப்பதிவு இயந்திரம்
தேவையான கூறுகள்:
- அர்டுடினோ யூனோ
- விரல் அச்சு சென்சார் தொகுதி
- புஷ் பொத்தான்கள்
- எல்.ஈ.டி -2
- 1 கே மின்தடையம் -3
- 2.2 கே மின்தடை
- சக்தி
- கம்பிகளை இணைக்கிறது
- பஸர்
- 16x2 எல்சிடி
- ரொட்டி வாரியம்
வாக்களிக்கும் இயந்திரத்தில் விரல் அச்சு சென்சார் தொகுதி:
ஃபிங்கர் பிரிண்ட் சென்சார் தொகுதி அல்லது ஃபிங்கர் பிரிண்ட் ஸ்கேனர் என்பது ஒரு தொகுதி ஆகும், இது விரலின் அச்சுப் படத்தைப் பிடிக்கிறது, பின்னர் அதை சமமான வார்ப்புருவாக மாற்றுகிறது மற்றும் ஆர்டுயினோவால் தேர்ந்தெடுக்கப்பட்ட ஐடி (இருப்பிடம்) இல் அதன் நினைவகத்தில் சேமிக்கிறது. இங்கே அனைத்து செயல்முறைகளும் விரல் அச்சின் படத்தை எடுத்து, வார்ப்புருக்களாக மாற்றுவது மற்றும் இருப்பிடத்தை சேமிப்பது போன்ற Arduino ஆல் கட்டளையிடப்படுகின்றன.

இந்த ஃபிங்கர்பிரிண்ட் வாக்களிப்பு இயந்திர சுற்றுவட்டத்தில், உண்மையான வாக்காளர்களை கணினியில் விரல் உள்ளீட்டை எடுத்துக்கொள்வதன் மூலம் அங்கீகரிக்க விரல் அச்சு சென்சார் தொகுதியைப் பயன்படுத்தினோம். இங்கே நாம் பொருத்த, பதிவு / பின், நீக்கு / சரி, உ.பி. மற்றும் கீழே 5 புஷ் பொத்தான்களைப் பயன்படுத்துகிறோம். பதிவு மற்றும் டெல் விசையில் இங்கே இரட்டை அம்சங்கள் உள்ளன. புதிய விரல் தோற்றத்தை கணினி மற்றும் பின் செயல்பாட்டில் சேர்ப்பதற்கு பதிவு விசை பயன்படுத்தப்படுகிறது. பயனர் புதிய விரலை பதிவு செய்ய விரும்பும்போது, அவர் / அவள் பதிவு விசையை அழுத்த வேண்டும், பின்னர் எல்சிடி ஐடி அல்லது இருப்பிடத்தை பயனர் விரல் அச்சு வெளியீட்டை சேமிக்க விரும்பும் இடத்தில் கேட்கிறது. இப்போது இந்த நேரத்தில் பயனர் மேலும் தொடர விரும்பவில்லை என்றால், அவர் / அவள் மீண்டும் செல்ல மீண்டும் பதிவு விசையை அழுத்தலாம் (இந்த நேரத்தில் பதிவு விசையானது பின் விசையாக செயல்படுகிறது). பதிவுசெய்தல் விசையானது பதிவு மற்றும் பின் செயல்பாடு இரண்டையும் கொண்டுள்ளது. DEL / OK விசை பயனர் புதிய விரலைப் பதிவுசெய்யும்போது அதே இரட்டை செயல்பாட்டைக் கொண்டிருக்கிறார், பின்னர் அவர் / அவள் விரல் ஐடி அல்லது இருப்பிடத்தைத் தேர்ந்தெடுக்க வேண்டும், அதாவது UP மற்றும் DOWN என்ற மற்றொரு இரண்டு விசையைப் பயன்படுத்துவதன் மூலம் பயனர் DEL / OK விசையை அழுத்த வேண்டும் (இந்த முறை இந்த விசை சரி போல செயல்படுகிறது) தேர்ந்தெடுக்கப்பட்ட ஐடி அல்லது இருப்பிடத்துடன் தொடரவும். வாக்காளர் வாக்களிக்க விரும்பும் போதெல்லாம் போட்டி விசை பயன்படுத்தப்படுகிறது, பின்னர் அவர் / அவள் விரல் அச்சு சென்சார் மீது விரல் வைத்து உண்மையான வாக்காளருக்கு முதலில் அங்கீகரிக்க வேண்டும், இந்த அங்கீகாரத்தில் அவர் / அவள் தேர்ச்சி பெற்றால் அவர் / அவள் வாக்களிக்க முடியும்.

விரல் அச்சிட்டு மற்றும் பிற விஷயங்களைப் பதிவுசெய்வது பற்றி மேலும் அறிய, விரல் அச்சு சென்சாரை அர்டுயினோவுடன் இணைப்பது குறித்த எங்கள் முந்தைய டுடோரியலைச் சரிபார்க்கவும், மேலும் இந்த டுடோரியலின் முடிவில் எங்கள் டெமோ வீடியோவையும் சரிபார்க்கவும்.
வேலை விளக்கம்:
தேர்தலுக்கான இந்த பயோமெட்ரிக் வாக்களிப்பு முறையின் வேலை ஆரம்பநிலைக்கு கொஞ்சம் சிக்கலானது. முதலாவதாக, புஷ் பொத்தான்கள் / விசைகளின் உதவியுடன் பயனர் விரல் அல்லது வாக்காளர்களை (இந்த குறியீட்டில் வாக்காளரின் அதிகபட்ச வரம்பு 25 ஆகும்) சேர்க்க வேண்டும். இந்த பயனரைச் செய்ய ENROLL விசையை அழுத்த வேண்டும், பின்னர் எல்சிடி இடம் / ஐடியை உள்ளிடுமாறு கேட்கிறது, அங்கு விரல் ஒரு கடையாக இருக்கும். எனவே இப்போது பயனர் UP / DOWN விசைகளைப் பயன்படுத்தி ஐடி (இருப்பிடம்) ஐ உள்ளிட வேண்டும். இருப்பிடம் / ஐடி பயனரைத் தேர்ந்தெடுத்த பிறகு சரி விசையை (DEL விசை) அழுத்த வேண்டும். இப்போது எல்சிடி விரல் அச்சு தொகுதிக்கு மேல் விரலை வைக்கக் கேட்கும். இப்போது பயனர் விரல் அச்சு தொகுதிக்கு மேல் தனது விரலை வைக்க வேண்டும். பின்னர் எல்சிடி விரல் அச்சு தொகுதியிலிருந்து விரலை நீக்கி மீண்டும் விரலை வைக்கச் சொல்லும். இப்போது பயனர் விரல் அச்சு தொகுதிக்கு மேல் மீண்டும் தனது விரலை வைக்க வேண்டும். இப்போது விரல் அச்சு தொகுதி ஒரு படத்தை எடுத்து வார்ப்புருக்களாக மாற்றி தேர்ந்தெடுக்கப்பட்ட ஐடி மூலம் விரல் அச்சு தொகுதியின் நினைவகத்தில் சேமிக்கிறது.இப்போது வாக்காளர் பதிவு செய்யப்படுவார், அவர் / அவள் வாக்களிக்க முடியும். அதே முறையால் அனைத்து வாக்காளர்களையும் கணினியில் பதிவு செய்யலாம்.

இப்போது பயனர் சேமித்த ஐடியை நீக்க அல்லது நீக்க விரும்பினால், அவன் / அவள் டெல் விசையை அழுத்த வேண்டும், டெல் விசையை அழுத்திய பின், எல்சிடி தேர்ந்தெடுக்கப்பட்ட இருப்பிடத்தைக் கேட்கும், அதாவது நீக்க வேண்டிய ஐடியைத் தேர்ந்தெடுக்கவும். இப்போது பயனர் ஐடியைத் தேர்ந்தெடுத்து சரி விசையை அழுத்த வேண்டும் (அதே DEL விசை). விரல் வெற்றிகரமாக நீக்கப்பட்டது என்பதை இப்போது எல்சிடி உங்களுக்குத் தெரிவிக்கும்.
வாக்களிக்கும் செயல்முறை:
இப்போது பயனர் வாக்களிக்க விரும்பினால், அவன் / அவள் மேட்ச் கீயை அழுத்த வேண்டும், பின்னர் பஸர் பீப் மற்றும் எல்.ஈ.டி ஒளிரும் மற்றும் எல்.சி.டி கைரேகை தொகுதிக்கு மேல் விரல் கேட்கும். இப்போது Arduino உங்கள் விரலை வைக்க மூன்று முயற்சிகளைக் கொடுப்பார். கைரேகை தொகுதிக்கு மேல் ஒரு விரலை வைத்த பிறகு கைரேகை தொகுதி விரல் படத்தைப் பிடிக்கிறது, அதன் அடையாளங்கள் கணினியில் இருப்பதைக் கண்டறியவும். விரல் ஐடி கண்டறியப்பட்டால், எல்சிடி அங்கீகரிக்கப்பட்ட வாக்காளரைக் காண்பிக்கும். இதன் பொருள் பயனர் வாக்களிக்க அதிகாரம் பெற்றவர். பின்னர் அமைப்பு வாக்களிப்பதற்கான அடுத்த கட்டத்திற்கு நகர்கிறது. இப்போது க்ரீன் எல்இடி ஒளிரும், அதாவது வாக்காளர் தேர்ந்தெடுக்கப்பட்ட விசையை அழுத்துவதன் மூலம் தங்கள் வேட்பாளர்களுக்கு வாக்களிக்க முடியும் (இந்த ஆர்ப்பாட்டத்தில் RED ரொட்டி வாரியத்திலிருந்து). இப்போது அதே வாக்காளர் மீண்டும் வாக்களிக்க விரும்பினால், அந்த அமைப்பு அதை 'ஏற்கனவே வாக்களித்தது' என்று காண்பிக்கும் . அதே வாக்காளர் மீண்டும் வாக்களிக்க முடியாது, மேலும் 5 வினாடிகளுக்கு பஸர் பீப் செய்யும். பதிவு செய்யப்படாத எந்தவொரு பயனரும் வாக்களிக்க விரும்பினால், விரல் அச்சு தொகுதி அதன் ஐடியை கணினியில் கண்டறியாது மற்றும் எல்சிடி ' கைரேகை இல்லை ' என்பதைக் காண்பிக்கும்.

இங்கே CAN1, CAN2, CAN3 தேர்தலுக்கு போட்டியிட்ட வேட்பாளர் 1, வேட்பாளர் 2 மற்றும் வேட்பாளர் 3 ஐ குறிக்கிறது.
சுற்று விளக்கம்:
இந்த ஃபிங்கர்பிரிண்ட் அடிப்படையிலான வாக்களிப்பு இயந்திர திட்டத்தின் சுற்று மிகவும் எளிமையானது, இதில் திட்டத்தின் முழு செயல்முறையையும் கட்டுப்படுத்த அர்டுயினோ, பதிவுசெய்தல், நீக்குதல், ஐடிகள் மற்றும் வாக்களிக்கும் நோக்கத்திற்கான புஷ் பொத்தான், விழிப்பூட்டலுக்கான ஒரு பஸர், குறிப்புக்கு எல்இடி மற்றும் அறிவுறுத்தலுக்கு 16x2 எல்சிடி வாக்காளர் மற்றும் முடிவைக் காண்பிக்கும். மஞ்சள் எல்.ஈ.டி கைரேகை தொகுதி விரலின் படத்தை எடுக்க தயாராக இருப்பதைக் குறிக்கிறது மற்றும் பச்சை எல்.ஈ.டி அமைப்பு வாக்களிக்க அல்லது முடிவுகளைப் பார்க்கத் தயாராக இருப்பதைக் குறிக்கிறது.

புஷ் பொத்தான் முள் A0 (ENROLL), A1 (DEL), A2 (UP), A3 (DOWN) மற்றும் A4 (போட்டி), D5 (Can1), D4 (Can2), D3 (Can3), D2 (நேரடியாக இணைக்கப்பட்டுள்ளது) முடிவு) தரையைப் பொறுத்தவரை Arduino இன். மஞ்சள் எல்.ஈ.டி 1 கி மின்தடையின் மூலம் தரையைப் பொறுத்தவரை அர்டுயினோவின் டிஜிட்டல் பின் டி 7 இல் இணைக்கப்பட்டுள்ளது மற்றும் பச்சை எல்.ஈ.டி அதே முறையுடன் அர்டுயினோவின் டி 6 உடன் இணைக்கப்பட்டுள்ளது. கைரேகை தொகுதியின் Rx மற்றும் Tx ஆகியவை சீரியல் முள் Tx மற்றும் Arduino இன் Rx இல் நேரடியாக இணைக்கப்பட்டுள்ளன. Arduino போர்டில் இருந்து எடுக்கப்பட்ட விரல் அச்சு தொகுதிக்கு சக்தி அளிக்க 5v வழங்கல் பயன்படுத்தப்படுகிறது. A5 இல் ஒரு பஸர் இணைக்கப்பட்டுள்ளது. 16x2 எல்சிடி 4-பிட் பயன்முறையில் கட்டமைக்கப்பட்டுள்ளது மற்றும் அதன் ஆர்எஸ், ஈஎன், டி 4, டி 5, டி 6 மற்றும் டி 7 ஆகியவை டிஜிட்டல் முள் டி 13, டி 12, டி 11, டி 10, டி 9 மற்றும் டி 8 இல் நேரடியாக இணைக்கப்பட்டுள்ளன.
நிரல் விளக்கம்:
ஒரு நிரலில், கைரேகை தொகுதியை அர்டுயினோ போர்டுடன் இணைக்க இடைக்கால கைரேகை சென்சார் நூலகத்தைப் பயன்படுத்தினோம். முழுமையான குறியீட்டை கீழே பார்க்கலாம். Arduino திட்டத்தின் முக்கிய செயல்பாடுகளை இங்கே விளக்குகிறோம்.
அமைவு செயல்பாட்டில், வரையறுக்கப்பட்ட ஊசிகளுக்கு வழிகாட்டுதல்களை வழங்கியுள்ளோம் மற்றும் எல்சிடி மற்றும் கைரேகை தொகுதியைத் தொடங்கினோம்.
அதன் பிறகு, வெற்றிட லூப் () செயல்பாட்டில், காசோலை விசைக்காக காத்திருக்கிறோம் மற்றும் உள்ளீட்டு எடுக்க விரல் அச்சிடலைத் தொடங்க போட்டி விசையை அழுத்தவும் மற்றும் கைப்பற்றப்பட்ட பட ஐடியை சேமிக்கப்பட்ட ஐடிகளுடன் ஒப்பிடவும். ஒரு போட்டி ஏற்பட்டால் அடுத்த கட்டத்துடன் தொடரவும்.
void loop () {lcd.setCursor (0,0); lcd.print ("போட்டி விசையை அழுத்தவும்"); lcd.setCursor (0,1); lcd.print ("கணினியைத் தொடங்க"); டிஜிட்டல்ரைட் (indVote, LOW); டிஜிட்டல்ரைட் (indFinger, LOW); if (DigitalRead (match) == 0) {DigitalWrite (buzzer, HIGH); தாமதம் (200); டிஜிட்டல்ரைட் (பஸர், குறைந்த); டிஜிட்டல்ரைட் (indFinger, HIGH); for (int i = 0; i <3; i ++)…………………
என்ரோல் அல்லது டெல் விசையை அழுத்துகிறதா இல்லையா என்பதை சரிபார்க்க பயன்படுத்தப்பட்ட வெற்றிட செக்கீஸ் () செயல்பாடு பயன்படுத்தப்படுகிறது, அழுத்தினால் என்ன செய்வது. ENROLL விசையை அழுத்தினால் என்ரோல் () செயல்பாடு அழைக்கப்படுகிறது மற்றும் DEL விசை அழுத்தினால் நீக்கு () செயல்பாடு அழைக்கப்படுகிறது.
void checkKeys () {if (DigitalRead (enroll) == 0) {lcd.clear (); lcd.print ("தயவுசெய்து காத்திரு"); தாமதம் (1000); போது (டிஜிட்டல் ரீட் (பதிவு) == 0); பதிவுசெய்க (); } else if (DigitalRead (del) == 0) {lcd.clear (); lcd.print ("தயவுசெய்து காத்திரு"); தாமதம் (1000); நீக்கு (); }}
நீக்கப்பட்ட ஐடியை உள்ளிடுவதற்கும், பதிவுகளிலிருந்து விரலை நீக்கும் uint8_t deleteFingerprint (uint8_t id) செயல்பாட்டை அழைப்பதற்கும் கொடுக்கப்பட்ட செயல்பாடு பயன்படுத்தப்படுகிறது.
void delet () {int count = 0; lcd.clear (); lcd.print ("விரலை நீக்கு"); lcd.setCursor (0,1); lcd.print ("இடம்:"); (1) {lcd.setCursor (9,1); lcd.print (எண்ணிக்கை); if (DigitalRead (up) == 0) {count ++; if (எண்ணிக்கை> 25) எண்ணிக்கை = 0; தாமதம் (500); }……………….
தேர்ந்தெடுக்கப்பட்ட ஐடியின் பதிவிலிருந்து விரல் அச்சு நீக்க கொடுக்கப்பட்ட செயல்பாடு பயன்படுத்தப்படுகிறது.
uint8_t deleteFingerprint (uint8_t id) {uint8_t p = -1; lcd.clear (); lcd.print ("தயவுசெய்து காத்திரு"); p = finger.deleteModel (ஐடி); if (p == FINGERPRINT_OK) {Serial.println ("நீக்கப்பட்டது!"); lcd.clear (); lcd.print ("ஃபிகர் நீக்கப்பட்டது"); lcd.setCursor (0,1); lcd.print ("வெற்றிகரமாக"); தாமதம் (1000); } else {Serial.print ("ஏதோ தவறு"); lcd.clear (); lcd.print ("ஏதோ தவறு"); lcd.setCursor (0,1); lcd.print ("பின்னர் மீண்டும் முயற்சிக்கவும்"); தாமதம் (2000); திரும்ப ப; }}
கொடுக்கப்பட்ட செயல்பாடு விரல் அச்சு படத்தை எடுத்து அவற்றை வார்ப்புருவாக மாற்றவும், தேர்ந்தெடுக்கப்பட்ட ஐடி மூலம் விரல் அச்சு தொகுதி நினைவகத்தில் சேமிக்கவும் பயன்படுகிறது.
uint8_t getFingerprintEnroll () {int p = -1; lcd.clear (); lcd.print ("விரல் ஐடி:"); lcd.print (ஐடி); lcd.setCursor (0,1); lcd.print ("விரல் வைக்கவும்"); தாமதம் (2000); (p! = FINGERPRINT_OK) {p = finger.getImage ();…………………
கொடுக்கப்பட்ட செயல்பாடு வாக்களிப்பு மற்றும் காட்சி முடிவுகளுக்குப் பயன்படுத்தப்படுகிறது:
void Vote () {lcd.clear (); lcd.print ("தயவுசெய்து வைக்கவும்"); lcd.setCursor (0,1); lcd.print ("உங்கள் வாக்கு"); டிஜிட்டல்ரைட் (indVote, HIGH); டிஜிட்டல்ரைட் (indFinger, LOW); டிஜிட்டல்ரைட் (பஸர், உயர்); தாமதம் (500); டிஜிட்டல்ரைட் (பஸர், குறைந்த); தாமதம் (1000); (1) {if (DigitalRead (sw1) == 0)…………………
கீழே முழு குறியீடு மற்றும் ஆர்ப்பாட்டம் வீடியோவை சரிபார்க்கவும்.
