Πίνακας περιεχομένων:
- Βήμα 1: Αποκτήστε όλα τα μέρη
- Βήμα 2: Ο RC522 RFID Reader
- Βήμα 3: Οθόνη OLED
- Βήμα 4: Συνδέστε όλα τα μέρη
- Βήμα 5: Ο Κώδικας του Έργου
- Βήμα 6: Τελικές σκέψεις & βελτιώσεις
Βίντεο: Arduino RFID Lock Tutorial: 6 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Αγαπητοί φίλοι καλώς ήλθατε σε ένα άλλο εκπαιδευτικό. Αυτός είναι ο Νικ από το Educ8s.tv και σήμερα θα μάθουμε πώς να χρησιμοποιούμε αυτόν τον αναγνώστη RFID με το Arduino για να δημιουργήσουμε ένα απλό σύστημα κλειδώματος.
Για πρώτη φορά, πρόκειται να χρησιμοποιήσουμε ετικέτες RFID με το Arduino. Έχω δημιουργήσει ένα απλό έργο που διαβάζει το μοναδικό αναγνωριστικό (UID) κάθε ετικέτας RFID που τοποθετούμε κοντά στον αναγνώστη και το εμφανίζει σε αυτήν την οθόνη OLED. Εάν το UID της ετικέτας είναι ίσο με μια προκαθορισμένη τιμή που αποθηκεύεται στη μνήμη του Arduino, τότε στην οθόνη θα δούμε το μήνυμα "Unlocked". Εάν το μοναδικό αναγνωριστικό της κάρτας δεν είναι ίσο με την προκαθορισμένη τιμή, το μήνυμα Ξεκλείδωμα δεν θα εμφανιστεί. Δροσερό δεν είναι;
Υπάρχουν πολλά που πρέπει να καλυφθούν, οπότε ας ξεκινήσουμε!
Βήμα 1: Αποκτήστε όλα τα μέρη
Τα μέρη που απαιτούνται για την κατασκευή αυτού του έργου είναι τα εξής:
- Ένα Arduino Uno ▶
- Ένας αναγνώστης RFID ▶
- Οθόνη OLED ▶
- Ένα μικρό breadboard ▶
- Μερικά καλώδια ▶
Προαιρετικά μέρη:
Powerbank ▶
Το συνολικό κόστος του έργου είναι περίπου 15 $.
Βήμα 2: Ο RC522 RFID Reader
Κάθε ετικέτα RFID έχει ένα μικρό τσιπ μέσα. Εάν τοποθετήσω έναν φακό κάτω από αυτήν την κάρτα RFID, μπορείτε να δείτε το μικρό τσιπ και το πηνίο που το περιβάλλει. Αυτό το τσιπ δεν έχει μπαταρία για να πάρει ενέργεια. Λαμβάνει ενέργεια από τον αναγνώστη, αυτήν τη συσκευή, χρησιμοποιώντας ασύρματα αυτό το μεγάλο πηνίο. Ο αναγνώστης μπορεί να διαβάσει μια κάρτα RFID όπως αυτή από απόσταση έως 20mm!
Το ίδιο τσιπ υπάρχει και στις ετικέτες RFID μπρελόκ.
Κάθε ετικέτα RFID έχει έναν μοναδικό αριθμό που την προσδιορίζει. Αυτό είναι το UID που εμφανίζουμε στην οθόνη OLED. Εκτός από αυτό το UID, κάθε ετικέτα μπορεί να αποθηκεύσει δεδομένα. Σε αυτόν τον τύπο καρτών μπορούμε να αποθηκεύσουμε έως και 1K δεδομένων! Εντυπωσιακό δεν είναι; Δεν θα χρησιμοποιήσουμε αυτήν τη λειτουργικότητα σήμερα, αλλά θα το κάνουμε σε ένα μέλλον με οδηγίες. Σήμερα, το μόνο που μας ενδιαφέρει είναι να προσδιορίσουμε μια συγκεκριμένη κάρτα με το UID της. Το κόστος του προγράμματος ανάγνωσης RFID και αυτών των δύο καρτών RFID είναι περίπου $ 4.
Βήμα 3: Οθόνη OLED
Αυτή είναι μια πολύ ωραία οθόνη για χρήση με το Arduino. Είναι μια οθόνη OLED και αυτό σημαίνει ότι έχει χαμηλή κατανάλωση ενέργειας. Η κατανάλωση ενέργειας αυτής της οθόνης είναι περίπου 10-20 mA και εξαρτάται από το πόσα pixel είναι αναμμένα.
Η οθόνη έχει ανάλυση 128 × 64 pixel και είναι μικρή σε μέγεθος. Υπάρχουν δύο παραλλαγές της οθόνης. Ένα από αυτά είναι μονόχρωμο και το άλλο σαν αυτό που χρησιμοποιώ μπορεί να εμφανίζει δύο χρώματα, κίτρινο και μπλε. Το πάνω μέρος της οθόνης μπορεί να εμφανίζεται μόνο κίτρινο, το κάτω μέρος μόνο μπλε.
Αυτή η οθόνη OLED είναι πολύ φωτεινή και έχει μεγάλη υποστήριξη βιβλιοθήκης. Η Adafruit έχει αναπτύξει μια πολύ ωραία βιβλιοθήκη για αυτήν την προβολή. Επιπλέον, η οθόνη χρησιμοποιεί τη διεπαφή I2C, οπότε η σύνδεση με το Arduino είναι απίστευτα εύκολη. Χρειάζεται μόνο να συνδέσετε δύο καλώδια εκτός από Vcc και GND. Εάν είστε νέοι στο Arduino και θέλετε μια φθηνή και εύχρηστη οθόνη για χρήση με το έργο σας, ξεκινήστε με την οθόνη. Είναι ο ευκολότερος τρόπος για να προσθέσετε μια οθόνη στο έργο σας Arduino. Έχω ετοιμάσει ένα λεπτομερές σεμινάριο για τον τρόπο χρήσης αυτής της οθόνης που έχω επισυνάψει σε αυτό το Instructable.
Βήμα 4: Συνδέστε όλα τα μέρη
Η σύνδεση με τον πίνακα Arduino Uno είναι πολύ απλή. Αρχικά, ας συνδέσουμε την ισχύ τόσο του αναγνώστη όσο και της οθόνης.
Προσοχή, ο αναγνώστης RFID πρέπει να είναι συνδεδεμένος στην έξοδο 3.3V του Arduino Uno, διαφορετικά θα καταστραφεί. Δεδομένου ότι η οθόνη μπορεί επίσης να λειτουργήσει στα 3.3V, συνδέουμε το Vcc και από τις δύο μονάδες στη θετική ράγα του breadboard. Αυτή η ράγα συνδέεται στη συνέχεια με την έξοδο 3.3V του Arduino Uno. Στη συνέχεια, συνδέουμε και τα δύο GND στη ράγα GND του breadboard. Στη συνέχεια συνδέουμε τη ράγα GND του ψωμιού στο Arduino GND.
Οθόνη OLED - Arduino
Vcc ▶ 3.3V
GND ▶ GND
SCL ▶ Analog Pin 5
SDA ▶ Analog Pin 4
RFID Reader - Arduino
RST ▶ηφιακή ακίδα 9
IRQ ▶ Χωρίς σύνδεση
MISO ▶ Digital Pin 12
MOSI ▶ ηφιακή ακίδα 11
SCK ▶ηφιακή ακίδα 13
SDA ▶ηφιακή ακίδα 10
Η μονάδα ανάγνωσης RFID χρησιμοποιεί τη διεπαφή SPI για να επικοινωνεί με το Arduino. Έτσι θα χρησιμοποιήσουμε τις καρφίτσες υλικού SPI του Arduino UNO. Η καρφίτσα RST μεταβαίνει στην ψηφιακή ακίδα 9. Η καρφίτσα IRQ παραμένει ασύνδετη. Η καρφίτσα MISO πηγαίνει στην ψηφιακή ακίδα 12. Η καρφίτσα MOSI πηγαίνει στην ψηφιακή ακίδα 11. Η καρφίτσα SCK πηγαίνει στην ψηφιακή ακίδα 13 και τέλος, η καρφίτσα SDA πηγαίνει στην ψηφιακή ακίδα 10. Αυτό είναι όλο. Ο αναγνώστης RFID είναι συνδεδεμένος. Τώρα πρέπει να συνδέσουμε την οθόνη OLED με το Arduino χρησιμοποιώντας τη διεπαφή I2C. Έτσι, ο πείρος SCL της οθόνης πηγαίνει στο Analog Pin 5 και ο SDA της οθόνης στην Analog Pin 4. Αν ενεργοποιήσουμε τώρα το έργο και τοποθετήσουμε μια κάρτα RFID κοντά στον αναγνώστη, μπορούμε να δούμε ότι το έργο λειτουργεί καλά! Τώρα ήρθε η ώρα να ρίξουμε μια ματιά στον κώδικα του έργου.
Βήμα 5: Ο Κώδικας του Έργου
Για να μεταγλωττιστεί ο κώδικας του έργου πρέπει να συμπεριλάβουμε μερικές βιβλιοθήκες. Πρώτα απ 'όλα, χρειαζόμαστε τη βιβλιοθήκη MFRC522 Rfid. Για να το εγκαταστήσετε, μεταβείτε στο Sketch -> Include Libraries -> Manage libraries. Αναζητήστε το MFRC522 και εγκαταστήστε το. Χρειαζόμαστε επίσης τη βιβλιοθήκη Adafruit SSD1306 και τη βιβλιοθήκη Adafruit GFX για την εμφάνιση. Εγκαταστήστε και τις δύο βιβλιοθήκες με την ίδια διαδικασία. Η βιβλιοθήκη Adafruit SSD1306 χρειάζεται μια μικρή τροποποίηση. Μεταβείτε στο φάκελο Arduino -> Βιβλιοθήκες, ανοίξτε το φάκελο Adafruit SSD1306 και επεξεργαστείτε τη βιβλιοθήκη Adafruit_SSD1306.h. Γραμμή σχολίων 70 και γραμμή 69 χωρίς σχόλια. Η οθόνη μας έχει ανάλυση 128x64, αυτό ορίζουμε εδώ. Τώρα είμαστε έτοιμοι να ρίξουμε μια γρήγορη ματιά στον κώδικα.
Αρχικά, δηλώνουμε την τιμή της ετικέτας RFID που θέλουμε να αναγνωρίσει το Arduino. Είναι μια σειρά από ακέραιους αριθμούς.
int κωδικός = {69, 141, 8, 136}; // Αυτό είναι το αποθηκευμένο UID
Στη συνέχεια, προετοιμάζουμε τον αναγνώστη RFID και την οθόνη.
rfid. PCD_Init (); display.begin (SSD1306_SWITCHCAPVCC, 0x3C);
Μετά από αυτό, στη λειτουργία βρόχου, ελέγχουμε για μια ετικέτα στον αναγνώστη κάθε 100 ms.
Εάν υπάρχει μια ετικέτα στον αναγνώστη, διαβάζουμε το UID του και το εκτυπώνουμε στην οθόνη. Στη συνέχεια, συγκρίνουμε το UID της ετικέτας που μόλις διαβάσαμε, με την τιμή που είναι αποθηκευμένη στη μεταβλητή κώδικα. Εάν οι τιμές είναι ίδιες, εμφανίζουμε το μήνυμα ξεκλειδώματος, διαφορετικά δεν εμφανίζουμε αυτό το μήνυμα.
if (match) {Serial.println ("\ nΓνωρίζω αυτήν την κάρτα!"); printUnlockMessage (); } else {Serial.println ("\ nΑγνωστη κάρτα"); }
Φυσικά, μπορείτε να τροποποιήσετε αυτόν τον κώδικα για να αποθηκεύσετε περισσότερες από 1 τιμές UID, ώστε το έργο να αναγνωρίσει περισσότερες ετικέτες RFID.
Αυτό είναι απλώς ένα παράδειγμα. Όπως πάντα, μπορείτε να βρείτε τον κωδικό του έργου που επισυνάπτεται σε αυτό το Instructable.
Βήμα 6: Τελικές σκέψεις & βελτιώσεις
Όπως μπορείτε να δείτε με πολύ χαμηλό κόστος, μπορούμε να προσθέσουμε έναν αναγνώστη RFID στα έργα μας. Μπορούμε εύκολα να δημιουργήσουμε ένα σύστημα ασφαλείας με έναν αναγνώστη σαν αυτόν ή να δημιουργήσουμε περισσότερα διασκεδαστικά έργα.
Η κύρια πρόθεσή μου είναι να δημιουργήσω μερικά διαδραστικά παιχνίδια για παιδιά χρησιμοποιώντας αυτόν τον αναγνώστη RFID και πολλές ετικέτες RFID. Σε ένα μελλοντικό βίντεο, θα προσπαθήσουμε επίσης να γράψουμε και να διαβάσουμε δεδομένα από μια ετικέτα RFID. Σε αυτό το σημείο, θα ήθελα πολύ να ακούσω τη γνώμη σας για αυτόν τον αναγνώστη καρτών RFID. Σκοπεύετε να το χρησιμοποιήσετε σε κάποιο έργο σας; Δημοσιεύστε τυχόν σχόλια ή ιδέες στην παρακάτω ενότητα σχολίων, ευχαριστώ!
Συνιστάται:
Node Mcu Indian Car Central Lock With Rfid and Blynk Timer Unlock: 9 βήματα
Node Mcu Indian Car Central Lock With Rfid and Blynk Timer Unlock: Σας δείχνω σήμερα ένα αυτοκίνητο ινδικού στυλ πλήρως αυτοματοποιημένο κεντρικό κλείδωμα με έλεγχο rifid blynk wifi και time unlock. Έχει επίσης όλα τα χαρακτηριστικά μιας κανονικής κεντρικής κλειδαριάς. Αυτό το αυτοκίνητο κεντρική κλειδαριά ΕΡΓΑΖΕΙ OFFLINE ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΑΠΑΙΤΕΙ ΚΛΕΙΔΩΜΑΤΑ ΔΙΚΤΥΟΥ ΕΝΑ
NFC Ring Lock Box: 6 βήματα (με εικόνες)
NFC Ring Lock Box: Γεια σε όλους! Καλώς ορίσατε στο πρώτο μου εκπαιδευτικό! Ζητώ συγγνώμη εκ των προτέρων για το κακό μου επίπεδο στα Αγγλικά. Σε αυτόν τον οδηγό βήμα προς βήμα θα σας διδάξω πώς να φτιάξετε ένα απλό και πολύ φθηνό NFC Ring Lock Box
Mysterious BOOK With Secret Knock Lock: 11 βήματα (με εικόνες)
Mysterious BOOK With Secret Knock Lock: Όταν πρόκειται για την απόκρυψη των μυστικών μας πραγμάτων. Συνήθως κρυβόμαστε μέσα σε ένα μπουκάλι ή σε ένα κουτί που είναι εντάξει.! Όχι όμως εντάξει πάντα τουλάχιστον για τους μάγκες γιατί αυτό δεν είναι 100% ασφαλές και επίσης δεν υπάρχει ενδιαφέρον νομίζει ότι έτσι σε αυτό το σεμινάριο δείχνω h
Whisky and Coke RFID Lock Box: 9 βήματα (με εικόνες)
Whisky and Coke RFID Lock Box: Αυτό το Instructable θα σας δείξει πώς να φτιάξετε ένα πλήρως τρισδιάστατο τυπωμένο " Whisky and Coke " Κουτί κλειδώματος RFID
SafetyLock: Smart Lock Made With Raspberry Pi (δακτυλικό αποτύπωμα και RFID): 10 βήματα
SafetyLock: ένα Smart Lock Made With Raspberry Pi (Δακτυλικό αποτύπωμα και RFID): Θέλατε ποτέ έναν πιο προσιτό τρόπο για να εξασφαλίσετε το σπίτι σας; Αν ναι, αυτή είναι η λύση για εσάς! Έφτιαξα το SafetyLock, αυτό είναι ένα κλείδωμα που μπορεί να ανοίξει με το δακτυλικό σας αποτύπωμα, ένα σήμα RFID και ακόμη και μέσω ενός ιστότοπου. Χάρη σε αυτή την ιδέα θα