- தேவையான கூறுகள்
- திட்ட விளக்கம்:
- கைரேகை தொகுதி:
- கைரேகை அடிப்படையிலான வருகை முறையின் வேலை
- கைரேகை வருகை அமைப்பு திட்டத்திற்கான சுற்று வரைபடம் மற்றும் விளக்கம்
- குறியீடு விளக்கம்:
அலுவலகங்கள் மற்றும் பள்ளிகளில் இருப்பதைக் குறிக்க வருகை முறைகள் பொதுவாகப் பயன்படுத்தப்படும் அமைப்புகள். வருகை பதிவேட்டில் வருகையை கைமுறையாகக் குறிப்பது முதல் உயர் தொழில்நுட்ப பயன்பாடுகள் மற்றும் பயோமெட்ரிக் அமைப்புகளைப் பயன்படுத்துவது வரை, இந்த அமைப்புகள் கணிசமாக மேம்பட்டுள்ளன. எங்கள் முந்தைய திட்டங்களில், RFID மற்றும் AVR மைக்ரோகண்ட்ரோலர், 8051 மற்றும் ராஸ்பெர்ரி பை ஆகியவற்றைப் பயன்படுத்தி வேறு சில மின்னணு வருகை அமைப்பு திட்டங்களை நாங்கள் உள்ளடக்கியுள்ளோம். இந்த திட்டத்தில், வருகை தரவு மற்றும் பதிவுகளை எடுத்து வைத்திருக்க கைரேகை தொகுதி மற்றும் அர்டுயினோவைப் பயன்படுத்தினோம். கைரேகை சென்சார் பயன்படுத்துவதன் மூலம், கணினி பயனர்களுக்கு மிகவும் பாதுகாப்பாக மாறும். Arduino ஐப் பயன்படுத்தி கைரேகை அடிப்படையிலான பயோமெட்ரிக் வருகை முறையை உருவாக்குவதற்கான தொழில்நுட்ப விவரங்களை பின்வரும் பிரிவுகள் விளக்குகின்றன.
தேவையான கூறுகள்
- அர்டுடினோ -1
- விரல் அச்சு தொகுதி -1
- புஷ் பொத்தான் - 4
- எல்.ஈ.டி -1
- 1 கே மின்தடையம் -2
- 2.2 கே மின்தடை -1
- சக்தி
- கம்பிகளை இணைக்கிறது
- பெட்டி
- பஸர் -1
- 16x2 எல்சிடி -1
- ரொட்டி வாரியம் -1
- ஆர்டிசி தொகுதி -1
திட்ட விளக்கம்:
இந்த கைரேகை வருகை அமைப்பு சுற்றில், கைரேகை சென்சார் தொகுதியைப் பயன்படுத்தினோம்ஒரு உண்மையான நபர் அல்லது பணியாளரின் விரல் உள்ளீட்டை கணினியில் எடுத்துக்கொள்வதன் மூலம் அங்கீகரிக்க. இங்கே சேர, நீக்க, உ.பி. / டவுன் செய்ய 4 புஷ் பொத்தான்களைப் பயன்படுத்துகிறோம். ENROLL மற்றும் DEL விசை மூன்று அம்சங்களைக் கொண்டுள்ளது. ஒரு புதிய நபரை கணினியில் சேர்ப்பதற்கு ENROLL விசை பயன்படுத்தப்படுகிறது. எனவே பயனர் புதிய விரலை பதிவு செய்ய விரும்பினால், அவர் / அவள் ENROLL விசையை அழுத்த வேண்டும், பின்னர் எல்சிடி ஐடியைக் கேட்கிறது, அங்கு பயனர் விரல் அச்சு படத்தை சேமிக்க விரும்புகிறார். இப்போது இந்த நேரத்தில் பயனர் மேலும் தொடர விரும்பவில்லை என்றால், அவர் / அவள் மீண்டும் செல்ல ENROLL விசையை மீண்டும் அழுத்தலாம். இந்த முறை ENROLL விசை பின் விசையாக செயல்படுகிறது, அதாவது ENROLL விசையில் பதிவு மற்றும் பின் செயல்பாடு இரண்டுமே உள்ளன. சீரியல் மானிட்டரில் வருகை தரவைப் பதிவிறக்குவதற்கு பதிவு விசையும் பயன்படுத்தப்படுகிறது. இதேபோல், DEL / OK விசையும் பயனர் புதிய விரலைப் பதிவுசெய்யும்போது அதே இரட்டை செயல்பாட்டைக் கொண்டுள்ளது,UP மற்றும் DOWN என்ற மற்றொரு இரண்டு விசையைப் பயன்படுத்தி அவர் / அவள் விரல் ஐடியைத் தேர்ந்தெடுக்க வேண்டும். இப்போது தேர்ந்தெடுக்கப்பட்ட ஐடியுடன் தொடர பயனர் DEL / OK விசையை அழுத்த வேண்டும் (இந்த முறை இந்த விசை சரி போல நடந்து கொள்கிறது). Arduino இன் EEPROM இலிருந்து தரவை மீட்டமைக்க அல்லது நீக்க டெல் விசை பயன்படுத்தப்படுகிறது.

கைரேகை தொகுதி:

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

இந்த கைரேகை வருகை அமைப்பு திட்டத்தில் வருகை எவ்வாறு செயல்படுகிறது:
பயனர் கைரேகை தொகுதிக்கு மேல் தனது விரலை வைக்கும்போதெல்லாம் கைரேகை தொகுதி விரல் படத்தைப் பிடிக்கிறது, மேலும் கணினியில் இந்த கைரேகையுடன் ஏதேனும் ஐடி தொடர்புடையதா எனத் தேடுங்கள். கைரேகை ஐடி கண்டறியப்பட்டால், எல்.சி.டி வருகை பதிவுசெய்ததைக் காண்பிக்கும், அதே நேரத்தில் பஸர் ஒரு முறை பீப் செய்யும், மேலும் கணினி மீண்டும் உள்ளீட்டை எடுக்கத் தயாராகும் வரை எல்.ஈ.
கைரேகை தொகுதிடன், நேரம் மற்றும் தேதிக்கு ஒரு ஆர்டிசி தொகுதியையும் பயன்படுத்தியுள்ளோம். கணினியில் நேரமும் தேதியும் தொடர்ந்து இயங்குகின்றன. ஆகவே, ஒரு உண்மையான பயனர் கைரேகையின் மீது விரலை வைத்து, ஒதுக்கப்பட்ட நினைவகத்தில் EEPROM இல் சேமிக்கும்போதெல்லாம் Arduino நேரம் மற்றும் தேதியை எடுத்துக் கொள்ளுங்கள்.
இங்கே 30 நாட்களுக்கு இந்த அமைப்பில் 5 பயனர் இடத்தை உருவாக்கியுள்ளோம். Arduino இல் உள்ள RESET பொத்தானை அழுத்துவதன் மூலம் Arduino EEPROM நினைவகத்திலிருந்து தொடர் மானிட்டர் வழியாக வருகைத் தரவைப் பதிவிறக்குவதற்கு உடனடியாக பதிவு விசை பொறுப்பாகும்.
நினைவக மேலாண்மை:
Arduino UNO இல் எங்களிடம் 1023 பைட் நினைவகம் உள்ளது, அவற்றில் தரவைச் சேமிக்க 1018 பைட்டுகள் உள்ளன, மேலும் 30 பயனர் வருகைத் தரவை 30 நாட்களுக்கு எடுத்துள்ளோம். ஒவ்வொரு வருகையும் நேரத்தையும் தேதியையும் பதிவு செய்யும், எனவே இது 7 பைட் தரவுகளாக மாறும்.
எனவே மொத்த நினைவகம் தேவை
5 * 30 * 7 = 1050 எனவே இங்கே நமக்கு 32 பைட்டுகள் அதிகம் தேவை
ஆனால் நாங்கள் 4 பயனர்களைப் பயன்படுத்தினால், எங்களுக்குத் தேவை
4 * 30 * 7 = 840
5 பயனர்களின் நினைவகத்தை எடுத்து இந்த திட்ட ஆர்ப்பாட்டத்தை இங்கே செய்துள்ளோம். இதன் மூலம், 5 வது பயனரின் 32 பைட் அல்லது 5 வருகை பதிவுகளை எங்களால் சேமிக்க முடியாது.
குறியீட்டில் சில வரிகளை மாற்றுவதன் மூலம் 4 பயனர்களால் நீங்கள் முயற்சி செய்யலாம். மாற்றங்கள் தேவைப்படும் குறியீட்டில் கருத்துகளை செய்துள்ளேன்.
கைரேகை வருகை அமைப்பு திட்டத்திற்கான சுற்று வரைபடம் மற்றும் விளக்கம்
மேலே உள்ள வரைபடத்தில் காட்டப்பட்டுள்ளபடி, இந்த கைரேகை அடிப்படையிலான வருகை அமைப்பு திட்டத்தின் சுற்று மிகவும் எளிது. திட்டத்தின் அனைத்து செயல்முறைகளையும் கட்டுப்படுத்துவதற்கான அர்டுயினோ, பதிவுசெய்தல், நீக்குதல், ஐடிகளைத் தேர்ந்தெடுப்பது மற்றும் வருகைக்கான புஷ் பொத்தான், எச்சரிக்கைக்கான ஒரு பஸர், குறிப்பிற்கான எல்.ஈ.டி மற்றும் பயனருக்கு அறிவுறுத்துவதற்கான எல்.சி.டி மற்றும் அதன் விளைவாக வரும் செய்திகளைக் காண்பித்தல்.

சர்க்யூட் வரைபடத்தில் காட்டப்பட்டுள்ளபடி, ஒரு புஷ் பொத்தான் நேரடியாக நிலத்தை பொறுத்தவரை முள் A0 (ENROLL), A1 (DEL), A2 (UP), A3 (DOWN) உடன் இணைக்கப்பட்டுள்ளது மற்றும் மஞ்சள் எல்.ஈ.டி டிஜிட்டல் முள் D7 இல் இணைக்கப்பட்டுள்ளது 1k மின்தடையின் மூலம் தரையைப் பொறுத்தவரை Arduino இன். கைரேகை தொகுதியின் Rx மற்றும் Tx நேரடியாக Arduino இன் சீரியல் முள் D2 மற்றும் D3 (மென்பொருள் சீரியல்) இல் இணைக்கப்பட்டுள்ளன. Arduino போர்டில் இருந்து எடுக்கப்பட்ட விரல் அச்சு தொகுதிக்கு சக்தி அளிக்க 5v வழங்கல் பயன்படுத்தப்படுகிறது. முள் A5 இல் ஒரு பஸர் இணைக்கப்பட்டுள்ளது. 16x2 எல்சிடி 4-பிட் பயன்முறையில் கட்டமைக்கப்பட்டுள்ளது மற்றும் அதன் ஆர்எஸ், ஈஎன், டி 4, டி 5, டி 6 மற்றும் டி 7 ஆகியவை டிஜிட்டல் முள் டி 13, டி 12, டி 11, டி 10, டி 9 மற்றும் டி 8 இல் நேரடியாக இணைக்கப்பட்டுள்ளன.
குறியீடு விளக்கம்:
Arduino கைரேகை வருகை அமைப்பு குறியீடு அடுத்தடுத்த பிரிவுகளில் வழங்கப்படுகிறது. கருத்துரைகளுடன் குறியீடு நன்கு விளக்கப்பட்டிருந்தாலும், குறியீட்டின் சில முக்கியமான பகுதிகளை இங்கு விவாதிக்கிறோம். Arduino போர்டுடன் விரல் அச்சு தொகுதியை இணைக்க கைரேகை நூலகத்தைப் பயன்படுத்தினோம்.
முதலில், நாங்கள் தலைப்பு கோப்பைச் சேர்த்து உள்ளீடு மற்றும் வெளியீட்டு முள் ஆகியவற்றை வரையறுத்து மேக்ரோ மற்றும் அறிவிக்கப்பட்ட மாறிகள் வரையறுக்கிறோம். இதற்குப் பிறகு, அமைவு செயல்பாட்டில், வரையறுக்கப்பட்ட முள் திசையைத் தருகிறோம் மற்றும் எல்சிடி மற்றும் விரல் அச்சு தொகுதிகளைத் தொடங்குகிறோம்
அதன் பிறகு, வருகைத் தரவைப் பதிவிறக்குவதற்கு குறியீட்டை எழுத வேண்டும்.
வெற்றிட அமைப்பு () {தாமதம் (1000); lcd.begin (16,2); சீரியல்.பெஜின் (9600); pinMode (பதிவு, INPUT_PULLUP); pinMode (மேலே, INPUT_PULLUP); pinMode (கீழே, INPUT_PULLUP); pinMode (del, INPUT_PULLUP); pinMode (பொருத்தம், INPUT_PULLUP); pinMode (பஸர், OUTPUT); pinMode (indFinger, OUTPUT); டிஜிட்டல்ரைட் (பஸர், குறைந்த); if (டிஜிட்டல் ரீட் (பதிவு) == 0) {டிஜிட்டல்ரைட் (பஸர், உயர்); தாமதம் (500); டிஜிட்டல்ரைட் (பஸர், குறைந்த); lcd.clear (); lcd.print ("தயவுசெய்து காத்திரு"); lcd.setCursor (0,1); lcd.print ("டவுன்லோடிங் தரவு");
பின்னர், EEPROM இலிருந்து வருகைத் தரவை அழிக்க குறியீட்டை எழுத வேண்டும்.
if (DigitalRead (del) == 0) {lcd.clear (); lcd.print ("தயவுசெய்து காத்திரு"); lcd.setCursor (0,1); lcd.print ("மீட்டமைத்தல்….."); for (int i = 1000; i <1005; i ++) EEPROM.write (i, 0); for (int i = 0; i <841; i ++) EEPROM.write (i, 0xff); lcd.clear (); lcd.print ("கணினி மீட்டமை"); தாமதம் (1000); }
அதற்குப் பிறகு, விரல் அச்சு தொகுதியைத் தொடங்குகிறோம், எல்சிடி வழியாக வரவேற்பு செய்தியைக் காண்பிப்போம், மேலும் ஆர்டிசி தொகுதியைத் தொடங்கினோம்.
அதற்குப் பிறகு, லூப் செயல்பாட்டில், நாங்கள் ஆர்டிசி நேரத்தைப் படித்து எல்சிடியில் காண்பித்தோம்
void loop () {now = rtc.now (); lcd.setCursor (0,0); lcd.print ("நேரம்->"); lcd.print (now.hour (), DEC); lcd.print (':'); lcd.print (now.minute (), DEC); lcd.print (':'); lcd.print (now.second (), DEC); lcd.print (""); lcd.setCursor (0,1); lcd.print ("தேதி->"); lcd.print (now.day (), DEC); lcd.print ('/'); lcd.print (now.month (), DEC); lcd.print ('/'); lcd.print (now.year (), DEC);
அதன் பிறகு, விரல் அச்சு உள்ளீடு எடுத்து, கைப்பற்றப்பட்ட பட ஐடியை சேமிக்கப்பட்ட ஐடிகளுடன் ஒப்பிட காத்திருக்கிறது. அமாட்ச் ஏற்பட்டால், அடுத்த கட்டத்துடன் தொடரவும். பதிவு டெல் விசைகளையும் சரிபார்க்கிறது
int result = getFingerprintIDez (); if (result> 0) {DigitalWrite (indFinger, LOW); டிஜிட்டல்ரைட் (பஸர், உயர்); தாமதம் (100); டிஜிட்டல்ரைட் (பஸர், குறைந்த); lcd.clear (); lcd.print ("ஐடி:"); lcd.print (முடிவு); lcd.setCursor (0,1); lcd.print ("தயவுசெய்து காத்திருங்கள்…."); தாமதம் (1000); வருகை (முடிவு); lcd.clear (); lcd.print ("வருகை"); lcd.setCursor (0,1); lcd.print ("பதிவுசெய்யப்பட்டது"); தாமதம் (1000); டிஜிட்டல்ரைட் (indFinger, HIGH); திரும்ப; }
என்ரோல் அல்லது டெல் விசையை அழுத்துகிறதா இல்லையா என்பதை சரிபார்க்க பயன்படுத்தப்பட்ட வெற்றிட செக்கீஸ் () செயல்பாடு பயன்படுத்தப்படுகிறது, அழுத்தினால் என்ன செய்வது. ENROLL விசையை அழுத்தினால் என்ரோல் () செயல்பாடு அழைக்கப்படுகிறது மற்றும் DEL விசை அழுத்தினால் நீக்கு () செயல்பாடு அழைக்கப்படுகிறது.
நீக்க ஐடியை உள்ளிடுவதற்கும், பதிவுகளிலிருந்து விரலை நீக்கும் uint8_t deleteFingerprint (uint8_t id) செயல்பாட்டை அழைப்பதற்கும் void delet () செயல்பாடு பயன்படுத்தப்படுகிறது.
கொடுக்கப்பட்ட செயல்பாடு விரல் அச்சு படத்தை எடுத்து அவற்றை வார்ப்புருவாக மாற்றவும், தேர்ந்தெடுக்கப்பட்ட ஐடியால் விரல் அச்சு தொகுதி நினைவகத்தில் சேமிக்கவும் பயன்படுகிறது.
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 ();…………………
EEPROM இன் ஒதுக்கப்பட்ட ஸ்லாட்டில் வருகை நேரம் மற்றும் தேதியை சேமிக்க கொடுக்கப்பட்ட செயல்பாடு பயன்படுத்தப்படுகிறது
வருகை (int id) {int பயனர் = 0, eepLoc = 0; if (id == 1) {eepLoc = 0; பயனர் = பயனர் 1 ++; } else என்றால் (id == 2) {eepLoc = 210; பயனர் = பயனர் 2 ++; } else என்றால் (ஐடி == 3)………….
கொடுக்கப்பட்ட செயல்பாடு EEPROM இலிருந்து தரவைப் பெறுவதற்கும் சீரியல் மானிட்டருக்கு அனுப்புவதற்கும் பயன்படுகிறது
பதிவிறக்கம் (int eepIndex) {if (EEPROM.read (eepIndex)! = 0xff) {Serial.print ("T->"); if (EEPROM.read (eepIndex) <10) Serial.print ('0'); சீரியல்.பிரண்ட் (EEPROM.read (eepIndex ++)); சீரியல்.பிரண்ட் (':'); if (EEPROM.read (eepIndex) <10) Serial.print ('0'); சீரியல்.பிரண்ட் (EEPROM.read (eepIndex ++));………….
