- Απαιτούμενα στοιχεία:
- Μονάδα αισθητήρα δακτυλικών αποτυπωμάτων με Arduino:
- Επεξήγηση εργασίας:
- Επεξήγηση κυκλώματος:
- Επεξήγηση προγράμματος:
Η ασφάλεια αποτελεί μείζον μέλημα στην καθημερινή μας ζωή και οι ψηφιακές κλειδαριές έχουν καταστεί σημαντικό μέρος αυτών των συστημάτων ασφαλείας. Υπάρχουν πολλοί τύποι συστημάτων ασφαλείας για τη διασφάλιση του χώρου μας. Μερικά παραδείγματα είναι το σύστημα ασφαλείας με βάση το PIR, το σύστημα ασφαλείας με βάση RFID, το σύστημα ψηφιακής κλειδαριάς, τα συστήματα βιο-μήτρας, το ηλεκτρονικό κλείδωμα κώδικα. Σε αυτήν την ανάρτηση, θα διασυνδέσουμε μια μονάδα αισθητήρα δακτυλικών αποτυπωμάτων με το Arduino και θα κατασκευάσουμε ένα σύστημα βιομετρικής ασφάλειας με δακτυλικό αποτύπωμα με κλείδωμα πόρτας. Το Finger Print θεωρείται ένα από τα ασφαλέστερα κλειδιά για το κλείδωμα ή το ξεκλείδωμα οποιουδήποτε συστήματος, καθώς μπορεί να αναγνωρίσει οποιοδήποτε άτομο μοναδικά και δεν μπορεί να αντιγραφεί εύκολα.
Απαιτούμενα στοιχεία:
- Arduino Uno
- Ενότητα δακτυλικών αποτυπωμάτων
- Πλήκτρο -4
- LED -2
- 1Κ Αντίσταση -3
- 2.2K αντίσταση -1 "
- Παροχή ηλεκτρικού ρεύματος
- Σύνδεση καλωδίων
- Κουτί από χαρτόνι
- Servo Motor -1
- 16x2 LCD -1
- Πίνακας ψωμιού -1
Μονάδα αισθητήρα δακτυλικών αποτυπωμάτων με Arduino:
Το Finger Print Sensor Module ή το Finger Print Scanner είναι μια μονάδα που συλλαμβάνει την εικόνα εκτύπωσης του δακτύλου και στη συνέχεια τη μετατρέπει σε ισοδύναμο πρότυπο και τα αποθηκεύει στη μνήμη της σε επιλεγμένο αναγνωριστικό (τοποθεσία) από τον Arduino. Εδώ όλη η διαδικασία διοικείται από τον Arduino, όπως η λήψη μιας εικόνας δακτυλικών αποτυπωμάτων, η μετατροπή της σε πρότυπα και η αποθήκευση τοποθεσίας κ.λπ.
Σε αυτό το έργο Arduino Fingerprint Sensor, χρησιμοποιήσαμε το Fingerprint Sensor Module για να λάβουμε την εντύπωση των δακτύλων ή του αντίχειρα ως είσοδο στο σύστημα. Εδώ χρησιμοποιούμε 4 κουμπιά για Εγγραφή / επιστροφή, Διαγραφή / ΟΚ, Πάνω και Κάτω. Κάθε κλειδί έχει διπλά χαρακτηριστικά. Το πλήκτρο εγγραφής χρησιμοποιείται για την καταχώριση νέων εντυπώσεων στο σύστημα και τη λειτουργία πίσω. Σημαίνει όταν ο χρήστης θέλει να εγγράψει νέο δάχτυλο, τότε πρέπει να πατήσει το πλήκτρο εγγραφής και στη συνέχεια η LCD ζητά το αναγνωριστικό ή την τοποθεσία όπου ο χρήστης θέλει να αποθηκεύσει την έξοδο δακτυλικών αποτυπωμάτων. Τώρα, εάν αυτή τη στιγμή ο χρήστης δεν θέλει να προχωρήσει περαιτέρω, τότε μπορεί να πατήσει ξανά το πλήκτρο εγγραφής για να επιστρέψει (αυτή τη φορά το κλειδί εγγραφής συμπεριφέρεται ως πλήκτρο επιστροφής). Το κλειδί σημαίνει ότι η εγγραφή και η λειτουργία πίσω. Πλήκτρο DEL / OKέχει επίσης την ίδια διπλή λειτουργία όπως όταν ο χρήστης εγγράφει νέο δάχτυλο, τότε πρέπει να επιλέξει το αναγνωριστικό δακτύλου ή την τοποθεσία χρησιμοποιώντας άλλα δύο πλήκτρα, δηλαδή UP / MATCH ΚΑΙ DOWN / MATCH (το οποίο έχει επίσης διπλή λειτουργία) τώρα ο χρήστης πρέπει να πατήσει DEL / OK κλειδί (αυτή τη φορά αυτό το κλειδί συμπεριφέρεται σαν ΟΚ) για να προχωρήσετε με το επιλεγμένο αναγνωριστικό ή την τοποθεσία. Τα πλήκτρα UP / DOWN υποστηρίζουν επίσης τη λειτουργία αντιστοίχισης δακτυλικών αποτυπωμάτων. Ελέγξτε το βίντεο στο τέλος για πλήρη επίδειξη.
Εδώ έχουμε προσαρτήσει επίσης ένα κουτί από χαρτόνι με Servo Motor για να λειτουργήσει ως πύλη ασφαλείας, το οποίο θα ανοίξει μόνο όταν το σύστημα θα διαβάσει τη σωστή εκτύπωση δακτύλου. Το κίτρινο LED δείχνει ότι η πύλη είναι κλειστή και το πράσινο LED δείχνει ότι η πύλη είναι ανοιχτή.
Επεξήγηση εργασίας:
Εργασία αυτού του κλειδώματος πόρτας αισθητήρα δακτυλικών αποτυπωμάτωνείναι εύκολο. Σε αυτό το έργο, χρησιμοποιήσαμε μια πύλη που θα είναι ανοιχτή όταν τοποθετούμε αποθηκευμένο δάκτυλο στη μονάδα δακτυλικών αποτυπωμάτων. Πρώτα απ 'όλα, ο χρήστης πρέπει να εγγράψει το δάχτυλο με τη βοήθεια των πλήκτρων / πλήκτρων. Για να γίνει αυτό, ο χρήστης πρέπει να πατήσει το πλήκτρο ENROLL και έπειτα η LCD ζητά να εισαγάγει την τοποθεσία / το ID όπου το δάχτυλο θα είναι κατάστημα. Τώρα λοιπόν ο χρήστης πρέπει να εισάγει ID (Τοποθεσία) χρησιμοποιώντας τα πλήκτρα ΠΑΝΩ / ΚΑΤΩ. Αφού επιλέξετε Τοποθεσία / Αναγνωριστικό, ο χρήστης πρέπει να πατήσει ένα πλήκτρο ΟΚ (πλήκτρο DEL). Τώρα το LCD θα ζητήσει την τοποθέτηση του δακτύλου πάνω από τη μονάδα δακτυλικών αποτυπωμάτων. Τώρα ο χρήστης πρέπει να βάλει το δάχτυλό του πάνω από τη μονάδα δακτυλικών αποτυπωμάτων. Στη συνέχεια, η LCD θα σας ζητήσει να αφαιρέσετε το δάκτυλο από τη μονάδα δακτυλικών αποτυπωμάτων και να ζητήσετε ξανά την τοποθέτηση του δακτύλου. Τώρα ο χρήστης πρέπει να βάλει ξανά το δάχτυλό του πάνω από τη μονάδα δακτυλικών αποτυπωμάτων.Τώρα η μονάδα δακτυλικών αποτυπωμάτων παίρνει μια εικόνα και τη μετατρέπει σε πρότυπα και την αποθηκεύει με επιλεγμένο αναγνωριστικό στη μνήμη της μονάδας δακτυλικών αποτυπωμάτων. Τώρα ο χρήστης μπορεί να ανοίξει την πύλη τοποθετώντας το ίδιο δάχτυλο που έχει προσθέσει ή εγγράψει στο σύστημα και στη συνέχεια πατήστε το πλήκτρο MATCH (πλήκτρο UP / Down). Με την ίδια μέθοδο, ο χρήστης μπορεί να προσθέσει περισσότερα δάχτυλα. Ελέγξτε το παρακάτω βίντεο για πλήρη επίδειξη.
Τώρα, εάν ο χρήστης θέλει να αφαιρέσει ή να διαγράψει οποιοδήποτε αποθηκευμένο αναγνωριστικό, τότε θα πρέπει να πατήσει το πλήκτρο DEL, αφού πατήσει το πλήκτρο DEL, η οθόνη LCD θα ζητήσει επιλεγμένη τοποθεσία σημαίνει επιλογή αναγνωριστικού που θα διαγραφεί Τώρα ο χρήστης πρέπει να επιλέξει ID και να πατήσει το πλήκτρο OK (ίδιο πλήκτρο DEL). Τώρα το LCD θα σας ενημερώσει ότι το δάχτυλο έχει διαγραφεί με επιτυχία. Τώρα ο χρήστης μπορεί να ελέγξει ότι έχει διαγραφεί ή όχι τοποθετώντας το ίδιο δάχτυλο πάνω από τη μονάδα δακτυλικών αποτυπωμάτων και πατώντας το πλήκτρο MATCH (πλήκτρο UP / Down).
Όταν τοποθετηθεί το δάχτυλο θα ισχύει Το πράσινο LED θα ανάψει για πέντε δευτερόλεπτα και η πύλη ανοίγει επίσης την ίδια στιγμή. Μετά από 5 δευτερόλεπτα η πύλη θα κλείσει αυτόματα. Ο χρήστης μπορεί να προσαρμόσει το άνοιγμα και το κλείσιμο της πόρτας / πόρτας σύμφωνα με τις απαιτήσεις του. Ο σερβοκινητήρας είναι υπεύθυνος για το άνοιγμα και το κλείσιμο της πύλης.
Επεξήγηση κυκλώματος:
Το κύκλωμα αυτού του συστήματος ασφάλειας δακτυλικών αποτυπωμάτων Arduino είναι πολύ απλό και περιέχει Arduino που ελέγχει ολόκληρη τη διαδικασία του έργου, το μπουτόν, το βομβητή και την οθόνη LCD. Το Arduino ελέγχει τις ολοκληρωμένες διαδικασίες.
Το μπουτόν συνδέεται απευθείας στους ακροδέκτες D14 (ENROLL), D15 (DEL), D16 (UP) και D17 (DOWN) του Arduino σε σχέση με τη γείωση και το κίτρινο LED είναι συνδεδεμένο στον ψηφιακό πείρο D7 του Arduino σε σχέση με τη γείωση Η αντίσταση 1k και το πράσινο LED συνδέονται στο D6 του Arduino με την ίδια μέθοδο. Το Rx και το Tx της μονάδας εκτύπωσης δακτυλικών αποτυπωμάτων συνδέονται απευθείας στο λογισμικό Serial ή Digital pin D2 και D3 του Arduino. Η τροφοδοσία 5v χρησιμοποιείται για την τροφοδοσία της μονάδας δακτυλικών αποτυπωμάτων που έχει ληφθεί από την πλακέτα Arduino και ο σερβοκινητήρας συνδέεται επίσης με τον ακροδέκτη PWM D5 του Arduino. Μια οθόνη LCD 16x2 έχει διαμορφωθεί σε λειτουργία 4-bit και οι RS, EN, D4, D5, D6 και D7 συνδέονται απευθείας στις ψηφιακές ακίδες D13, D12, D11, D10, D9 και D8 του Arduino.
Σημείωση: εδώ τα D14, D15, D16, D17 είναι A0, A1, A2, A3 αντίστοιχα.
Επεξήγηση προγράμματος:
Σε ένα πρόγραμμα, χρησιμοποιήσαμε το Adafruit Fingerprint Sensor Library για τη διασύνδεση της μονάδας δακτυλικών αποτυπωμάτων με την πλακέτα Arduino. Μπορείτε να ελέγξετε τον πλήρη κώδικα παρακάτω, να είναι εύκολα κατανοητός. Εδώ εξηγούμε τις κύριες λειτουργίες του προγράμματος Arduino.
Το παρακάτω κομμάτι κώδικα χρησιμοποιείται για τη λήψη του Finger Print ως εισαγωγής και την ανάληψη δράσης σύμφωνα με την επικύρωση του δακτύλου. Εάν επικυρωθεί το δάχτυλο, η πύλη θα είναι ανοιχτή διαφορετικά θα παραμείνει κλειστή.
για (int i = 0; i <5; i ++) {lcd.clear (); lcd.print ("Place Finger"); καθυστέρηση (2000); int αποτέλεσμα = getFingerprintIDez (); if (αποτέλεσμα> = 0) {digitalWrite (openLight, HIGH); digitalWrite (closeLight, LOW); lcd.clear (); lcd.print ("Επιτρέπεται"); lcd.setCursor (0,1); lcd.print ("Άνοιξε"); myServo.write (0); καθυστέρηση (5000) myServo.write (180); digitalWrite (closeLight, HIGH); digitalWrite (openLight, LOW); lcd.setCursor (0,1); lcd.print ("Κλειστή πύλη");
Δεδομένου άκυρου checkKeys () χρησιμοποιείται η λειτουργία για τον έλεγχο Εγγραφή ή το πλήκτρο DEL πιέζεται ή όχι και τι πρέπει να κάνετε εάν πατηθεί. Εάν πατηθεί το πλήκτρο ENROLL , καλείται η συνάρτηση Enroll () και πατήστε το πλήκτρο DEL και καλείται η λειτουργία διαγραφής () .
void checkKeys () {if (digitalRead (register) == 0) {lcd.clear (); lcd.print ("Παρακαλώ περιμένετε"); καθυστέρηση (1000) ενώ (digitalRead (εγγραφή) == 0); Εγγράφω(); } αλλιώς εάν (digitalRead (del) == 0) {lcd.clear (); lcd.print ("Παρακαλώ περιμένετε"); καθυστέρηση (1000) διαγραφή (); }}
Η δεδομένη συνάρτηση χρησιμοποιείται για την εισαγωγή αναγνωριστικού προς διαγραφή και την κλήση της συνάρτησης uint8_t deleteFingerprint (uint8_t id) που θα διαγράψει το δάχτυλο από τις εγγραφές.
άκυρη διαγραφή () {int count = 0; lcd.clear (); lcd.print ("Διαγραφή δακτύλου"); lcd.setCursor (0,1); lcd.print ("Τοποθεσία:"); ενώ (1) {lcd.setCursor (9,1); lcd.print (πλήθος); if (digitalRead (πάνω) == 0) {count ++; αν (μέτρηση> 25) μέτρηση = 0; καθυστέρηση (500) }……………….
Η δεδομένη λειτουργία χρησιμοποιείται για τη διαγραφή δακτυλικών αποτυπωμάτων από την εγγραφή του επιλεγμένου αναγνωριστικού.
uint8_t deleteFingerprint (uint8_t id) {uint8_t p = -1; lcd.clear (); lcd.print ("Παρακαλώ περιμένετε"); p = finger.deleteModel (id); if (p == FINGERPRINT_OK) {Serial.println ("Διαγράφηκε!"); lcd.clear (); lcd.print ("Το Figer Deleted"); lcd.setCursor (0,1); lcd.print ("Επιτυχής"); καθυστέρηση (1000) } αλλιώς {Serial.print ("Something Wrong"); lcd.clear (); lcd.print ("Κάτι λάθος"); lcd.setCursor (0,1); lcd.print ("Δοκιμάστε ξανά αργότερα"); καθυστέρηση (2000); επιστροφή p; }}
Το δεδομένο Function χρησιμοποιείται για τη λήψη εικόνας δακτυλικών αποτυπωμάτων και τη μετατροπή τους στο πρότυπο και την αποθήκευση με επιλεγμένο αναγνωριστικό στη μνήμη της μονάδας δακτυλικών αποτυπωμάτων.
uint8_t getFingerprintEnroll () {int p = -1; lcd.clear (); lcd.print ("αναγνωριστικό δακτύλου:"); lcd.print (id); lcd.setCursor (0,1); lcd.print ("Place Finger"); καθυστέρηση (2000); ενώ (p! = FINGERPRINT_OK) {p = finger.getImage ();…………………
Έτσι μπορούμε να χρησιμοποιήσουμε το Arduino με το Finger Print Reader Module για το σύστημα ασφαλείας.