- ఉపయోగించిన పదార్థాలు
- EM18 RFID రీడర్ మాడ్యూల్
- ఆర్డునో ఉపయోగించి RFID ట్యాగ్ ప్రత్యేకమైన 12 అంకెల కోడ్ను కనుగొనండి
- సర్క్యూట్ రేఖాచిత్రం
- ఫింగర్ ప్రింట్ సెన్సార్ మాడ్యూల్
- RFID కీలెస్ జ్వలన కోసం ప్రోగ్రామింగ్
ఈ రోజుల్లో చాలావరకు కారు కీలెస్ ఎంట్రీ మరియు పుష్-బటన్ జ్వలన వ్యవస్థతో వస్తుంది, దీనిలో మీరు మీ జేబులో కీని మాత్రమే తీసుకెళ్లాలి మరియు కారు తలుపు తెరవడానికి తలుపు హ్యాండిల్లోని కెపాసిటివ్ సెన్సార్పై వేలు పెట్టాలి. ఇక్కడ ఈ ప్రాజెక్ట్లో, మేము RFID మరియు ఫింగర్ ప్రింట్ సెన్సార్ ఉపయోగించి ఈ సిస్టమ్కు మరికొన్ని భద్రతా లక్షణాలను జోడిస్తున్నాము. RFID సెన్సార్ వినియోగదారు యొక్క లైసెన్స్ను ధృవీకరిస్తుంది మరియు వేలిముద్ర సెన్సార్ వాహనంలో అధీకృత వ్యక్తిని మాత్రమే అనుమతిస్తుంది.
ఈ వేలిముద్ర ఆధారిత కార్ జ్వలన వ్యవస్థ కోసం, మేము ఆర్డునోను R305 వేలిముద్ర సెన్సార్ మరియు EM18 RFID రీడర్తో ఉపయోగిస్తున్నాము.
ఉపయోగించిన పదార్థాలు
- ఆర్డునో నానో
- R305 వేలిముద్ర సెన్సార్
- EM18 RFID రీడర్
- 16 * 2 ఆల్ఫాన్యూమరిక్ ఎల్సిడి
- DC మోటార్లు
- ఎల్ 293 డి మోటార్ డ్రైవర్ ఐసి
- వెరోబోర్డ్ లేదా బ్రెడ్బోర్డ్ (ఏది అందుబాటులో ఉంది)
- వైర్లను కనెక్ట్ చేస్తోంది
- 12 వి డిసి బ్యాటరీ
EM18 RFID రీడర్ మాడ్యూల్
RFID అంటే రేడియో ఫ్రీక్వెన్సీ గుర్తింపు. ఇది ఒక సాంకేతికతను సూచిస్తుంది, ఇక్కడ డిజిటల్ డేటా RFID ట్యాగ్లలో ఎన్కోడ్ చేయబడుతుంది మరియు రేడియో తరంగాలను ఉపయోగించి వాటిని RFID రీడర్ డీకోడ్ చేయవచ్చు. RFID బార్కోడింగ్ మాదిరిగానే ఉంటుంది, దీనిలో ట్యాగ్ నుండి డేటా పరికరం ద్వారా డీకోడ్ చేయబడుతుంది. భద్రతా వ్యవస్థ, ఉద్యోగుల హాజరు వ్యవస్థ, RFID డోర్ లాక్, RFID ఆధారిత ఓటింగ్ యంత్రం, టోల్ కలెక్షన్ సిస్టమ్ వంటి వివిధ అనువర్తనాలలో RFID సాంకేతిక పరిజ్ఞానం ఉపయోగించబడుతుంది.
EM18 రీడర్ అనేది RFID ట్యాగ్లలో నిల్వ చేసిన ID సమాచారాన్ని చదవగల మాడ్యూల్. RFID ట్యాగ్లు 12 అంకెల ప్రత్యేక సంఖ్యను నిల్వ చేస్తాయి, వీటిని ట్యాగ్ రీడర్తో పరిధిలోకి వచ్చినప్పుడు EM18 రీడర్ మాడ్యూల్ ద్వారా డీకోడ్ చేయవచ్చు. ఈ మాడ్యూల్ 125 kHz పౌన frequency పున్యంలో పనిచేస్తుంది, ఇది అంతర్నిర్మిత యాంటెన్నాను కలిగి ఉంది మరియు ఇది 5 వోల్ట్ DC విద్యుత్ సరఫరాను ఉపయోగించి నిర్వహించబడుతుంది.
ఇది సీరియల్ డేటా అవుట్పుట్ ఇస్తుంది, మరియు ఇది 8-12 సెం.మీ. సీరియల్ కమ్యూనికేషన్ పారామితులు 8 డేటా బిట్స్, 1 స్టాప్ బిట్ మరియు 9600 బాడ్ రేట్.
EM18 ఫీచర్స్:
- ఆపరేటింగ్ వోల్టేజ్: + 4.5 వి నుండి + 5.5 వి డిసి
- ప్రస్తుత వినియోగం: 50 ఎంఏ
- ఆపరేటింగ్ ఫ్రీక్వెన్సీ: 125KHZ
- నిర్వహణ ఉష్ణోగ్రత: 0-80 డిగ్రీ సి
- కమ్యూనికేషన్ బాడ్ రేట్: 9600
- పఠనం దూరం: 8-12 సెం.మీ.
- యాంటెన్నా: అంతర్నిర్మిత
EM18 పిన్అవుట్:
పిన్ వివరణ:
VCC: 4.5- 5V DC వోల్టేజ్ ఇన్పుట్
GND: గ్రౌండ్ పిన్
బజర్: బజర్ లేదా LED పిన్
TX: RS232 (అవుట్పుట్) కోసం EM18 యొక్క సీరియల్ డేటా ట్రాన్స్మిటర్ పిన్
SEL: ఇది RS232 ను ఉపయోగించటానికి అధికంగా ఉండాలి (WEIGAND ఉపయోగిస్తే తక్కువ)
డేటా 0: WEIGAND డేటా 0
డేటా 1: WEIGAND డేటా 1
RFID మరియు ట్యాగ్ల గురించి మరింత తెలుసుకోవడానికి, మా మునుపటి RFID ఆధారిత ప్రాజెక్టులను తనిఖీ చేయండి.
ఆర్డునో ఉపయోగించి RFID ట్యాగ్ ప్రత్యేకమైన 12 అంకెల కోడ్ను కనుగొనండి
Arduino కార్ జ్వలన వ్యవస్థ కోసం Arduino ను ప్రోగ్రామింగ్ చేయడానికి ముందు, మొదట, మేము 12 అంకెల RFID ట్యాగ్ ప్రత్యేక కోడ్ను కనుగొనాలి. మేము ఇంతకుముందు చర్చించినట్లుగా, RFID ట్యాగ్లు 12 అంకెల ప్రత్యేక కోడ్ను కలిగి ఉంటాయి మరియు దీనిని RFID రీడర్ ఉపయోగించి డీకోడ్ చేయవచ్చు. మేము రీడర్ దగ్గర RFID ట్యాగ్ను స్వైప్ చేసినప్పుడు, రీడర్ అవుట్పుట్ సీరియల్ పోర్ట్ ద్వారా ప్రత్యేకమైన కోడ్లను ఇస్తుంది. మొదట, సర్క్యూట్ రేఖాచిత్రం ప్రకారం ఆర్డునోను RFID రీడర్కు కనెక్ట్ చేసి, ఆపై ఇచ్చిన కోడ్ను ఆర్డునోకు అప్లోడ్ చేయండి.
పూర్ణ సంఖ్య = 0; చార్ కార్డ్_నో; శూన్య సెటప్ () {Serial.begin (9600); } శూన్య లూప్ () {if (Serial.available ()) {count = 0; అయితే (Serial.available () && count <12) {card_no = Serial.read (); లెక్కింపు ++; ఆలస్యం (5); } సీరియల్.ప్రింట్ (కార్డ్_నో); }}
కోడ్ను విజయవంతంగా అప్లోడ్ చేసిన తర్వాత, సీరియల్ మానిటర్ను తెరిచి, బాడ్ రేట్ను 9600 కు సెట్ చేయండి. ఆపై కార్డును రీడర్ దగ్గర స్వైప్ చేయండి. అప్పుడు 12 అంకెల కోడ్ సీరియల్ మానిటర్లో ప్రదర్శించడం ప్రారంభమవుతుంది. ఉపయోగించిన అన్ని RFID ట్యాగ్ల కోసం ఈ విధానాన్ని చేయండి మరియు భవిష్యత్ సూచనల కోసం దీన్ని గమనించండి.
సర్క్యూట్ రేఖాచిత్రం
ఈ వేలిముద్ర ఆధారిత జ్వలన వ్యవస్థ కోసం సర్క్యూట్ రేఖాచిత్రం క్రింద ఇవ్వబడింది:
నా విషయంలో, నేను క్రింద చూపిన విధంగా పూర్తి సర్క్యూట్ను పెర్ఫ్ బోర్డులో కరిగించాను:
ఫింగర్ ప్రింట్ సెన్సార్ మాడ్యూల్
ఫింగర్ ప్రింట్ సెన్సార్ మాడ్యూల్ లేదా ఫింగర్ ప్రింట్ స్కానర్ అనేది మాడ్యూల్, ఇది వేలు యొక్క ముద్రణ చిత్రాన్ని సంగ్రహిస్తుంది మరియు తరువాత దానిని సమానమైన టెంప్లేట్గా మారుస్తుంది మరియు ఆర్డునో చేత ఎంచుకున్న ID (లొకేషన్) లో దాని మెమరీలో వాటిని సేవ్ చేస్తుంది. ఇక్కడ అన్ని ప్రక్రియలను వేలిముద్ర యొక్క చిత్రాన్ని తీయడం, టెంప్లేట్లుగా మార్చడం మరియు స్థానాన్ని నిల్వ చేయడం వంటి ఆర్డునో ఆదేశిస్తారు.
ఓటింగ్ మెషీన్, హాజరు వ్యవస్థ, భద్రతా వ్యవస్థ మొదలైనవాటిని నిర్మించడానికి మేము ఇంతకుముందు అదే R305 సెన్సార్ను ఉపయోగించాము. మీరు ఇక్కడ అన్ని వేలి ముద్రణ ఆధారిత ప్రాజెక్టులను తనిఖీ చేయవచ్చు.
సెన్సార్కు వేలిముద్రలను నమోదు చేయడం:
ప్రోగ్రామ్తో కొనసాగడానికి ముందు, వేలిముద్ర సెన్సార్ కోసం అవసరమైన లైబ్రరీలను ఇన్స్టాల్ చేయాలి. ఇక్కడ మేము R305 వేలిముద్ర సెన్సార్ను ఉపయోగించడానికి “ Adafruit_Fingerprint.h ” ను ఉపయోగించాము. కాబట్టి మొదట క్రింద ఇచ్చిన లింక్ను ఉపయోగించి లైబ్రరీని డౌన్లోడ్ చేయండి:
- అడాఫ్రూట్ వేలిముద్ర సెన్సార్ లైబ్రరీ
విజయవంతమైన డౌన్లోడ్ తరువాత, Arduino IDE లో, ఫైల్ > సాధనాలు> లైబ్రరీని చేర్చండి>.zip లైబ్రరీని జోడించి , ఆపై లైబ్రరీని ఇన్స్టాల్ చేయడానికి జిప్ ఫైల్ స్థానాన్ని ఎంచుకోండి.
విజయవంతమైన లైబ్రరీ సంస్థాపన తరువాత, సెన్సార్ మెమరీలో కొత్త వేలిముద్రను నమోదు చేయడానికి క్రింద ఇచ్చిన దశలను అనుసరించండి.
1. Arduino IDE లో, ఫైల్ > ఉదాహరణలు > Adafruit వేలిముద్ర సెన్సార్ లైబ్రరీ > నమోదు చేయండి.
2. కోడ్ను ఆర్డునోకు అప్లోడ్ చేసి, 9600 బాడ్ రేటుతో సీరియల్ మానిటర్ను తెరవండి.
ముఖ్యమైనది: ప్రోగ్రామ్లోని సాఫ్ట్వేర్ సీరియల్ పిన్ను సాఫ్ట్వేర్ సీరియల్ మైసిరియల్ (12, 11) గా మార్చండి.
3. మీరు మీ వేలిముద్రను నిల్వ చేయదలిచిన వేలిముద్ర కోసం ఒక ఐడిని నమోదు చేయాలి. ఇది నా మొదటి వేలిముద్ర కాబట్టి, నేను ఎగువ ఎడమ మూలలో 1 టైప్ చేసాను, ఆపై, పంపు బటన్ క్లిక్ చేయండి.
4. అప్పుడు వేలిముద్ర సెన్సార్లోని కాంతి మెరిసిపోతుంది, ఇది మీరు మీ వేలిని సెన్సార్పై ఉంచాలని సూచిస్తుంది మరియు ఆ తర్వాత విజయవంతమైన నమోదు కోసం మిమ్మల్ని అంగీకరించే వరకు సీరియల్ మానిటర్లో చూపించే దశలను అనుసరించండి.
RFID కీలెస్ జ్వలన కోసం ప్రోగ్రామింగ్
ఈ బయోమెట్రిక్ జ్వలన వ్యవస్థ కోసం పూర్తి కోడ్ ట్యుటోరియల్ చివరిలో ఇవ్వబడింది. ఇక్కడ మేము కోడ్ యొక్క కొన్ని ముఖ్యమైన భాగాలను వివరిస్తున్నాము.
మొదటి విషయం ఏమిటంటే అవసరమైన అన్ని లైబ్రరీలను చేర్చడం. ఇక్కడ నా విషయంలో, నేను R305 వేలిముద్ర సెన్సార్ను ఉపయోగించడం కోసం “ Adafruit_Fingerprint.h ” ని చేర్చాను. అప్పుడు వేలిముద్ర సెన్సార్ కనెక్ట్ అయ్యే సీరియల్ పోర్ట్ను కాన్ఫిగర్ చేయండి. నా విషయంలో, నేను 12 ను RX పిన్గా మరియు 11 ను TX పిన్గా ప్రకటించాను.
# చేర్చండి # చేర్చండి
తదుపరి దశలో, అన్ని వేరియబుల్స్ డిక్లేర్ చేయండి, ఇది కోడ్ అంతటా ఉపయోగించబడుతుంది. అప్పుడు ఆర్క్యునోతో ఎల్సిడి కనెక్షన్ పిన్లను నిర్వచించండి, తరువాత లిక్విడ్క్రిస్టల్ క్లాస్ యొక్క వస్తువు యొక్క డిక్లరేషన్ .
చార్ ఇన్పుట్; పూర్ణ సంఖ్య = 0; int a = 0; const int rs = 6, en = 7, d4 = 2, d5 = 3, d6 = 4, d7 = 5; లిక్విడ్ క్రిస్టల్ ఎల్సిడి (rs, en, d4, d5, d6, d7);
తరువాత, లూప్ () లోపల , RFID ట్యాగ్ల యొక్క ప్రత్యేకమైన 12 అంకెల కోడ్లను పొందడానికి కోడ్ వ్రాయబడుతుంది మరియు అవి శ్రేణిలో నిల్వ చేయబడతాయి. ప్రామాణీకరించబడిన వ్యక్తి వివరాలను పొందడానికి ఇక్కడ శ్రేణి యొక్క అంశాలు మెమరీలో నిల్వ చేయబడిన ప్రత్యేక సంకేతాలతో సరిపోలుతాయి.
లెక్కింపు = 0; అయితే (Serial.available () && count <12) { input = Serial.read (); లెక్కింపు ++; ఆలస్యం (5); }
అప్పుడు, అందుకున్న శ్రేణి నిల్వ చేసిన ట్యాగ్ కోడ్లతో పోల్చబడుతుంది. కోడ్ సరిపోలితే, అప్పుడు లైసెన్స్ చెల్లుబాటు అయ్యేదిగా పరిగణించబడుతుంది, ఇది వినియోగదారు చెల్లుబాటు అయ్యే వేలిముద్రను ఉంచడానికి అనుమతిస్తుంది. లేకపోతే, ఇది చెల్లని లైసెన్స్ చూపిస్తుంది.
if ((strncmp (ఇన్పుట్, "3F009590566C", 12) == 0) && (a == 0)) { lcd.setCursor (0, 0); lcd.print ("లైసెన్స్ చెల్లుబాటు అవుతుంది"); lcd.setCursor (0, 1); lcd.print ("స్వాగతం"); ఆలస్యం (1000); a = 1; వేలిముద్ర (); }
తదుపరి దశలో, getFingerprintID అనే ఫంక్షన్ వ్రాయబడుతుంది, ఇది ఇప్పటికే నమోదు చేసిన వేలిముద్ర కోసం చెల్లుబాటు అయ్యే వేలిముద్ర ID ని అందిస్తుంది.
int getFingerprintID () { uint8_t p = finger.getImage (); (p! = FINGERPRINT_OK) తిరిగి -1; p = finger.image2Tz (); (p! = FINGERPRINT_OK) తిరిగి -1; p = finger.fingerFastSearch (); (p! = FINGERPRINT_OK) తిరిగి -1; తిరిగి వేలు. ఫింగర్ ఐడి; }
లోపల ఫంక్షన్ ఫింగర్ప్రింట్ () , విజయవంతమైన RFID మ్యాచ్ తర్వాత అని పిలుస్తారు getFingerprintID ఫంక్షన్ ఒక చెల్లుబాటు అయ్యే వేలిముద్ర ID పొందుటకు అంటారు. ప్రామాణీకరించబడిన వ్యక్తి డేటాకు సంబంధించిన సమాచారాన్ని పొందడానికి if-else లూప్ ఉపయోగించి పోల్చబడుతుంది మరియు డేటా సరిపోలితే, అప్పుడు వాహనం మండించబడుతుంది, లేకపోతే, అది తప్పు వేలిముద్ర కోసం ప్రాంప్ట్ చేస్తుంది.
int వేలిముద్ర ID = getFingerprintID (); ఆలస్యం (50); if (వేలిముద్ర ID == 1) { lcd.setCursor (0, 0); lcd.print ("యాక్సెస్ మంజూరు"); lcd.setCursor (0, 1); lcd.print ("వాహనం ప్రారంభమైంది"); డిజిటల్ రైట్ (9, హై); డిజిటల్ రైట్ (10, తక్కువ); అయితే (1); }
కాబట్టి ఈ RFID కార్ జ్వలన వ్యవస్థ ఎలా పనిచేస్తుంది, ఇది మీ కారుకు రెండు పొరల భద్రతను జోడిస్తుంది.
పూర్తి కోడ్ మరియు ప్రదర్శన వీడియో క్రింద ఇవ్వబడ్డాయి.