Πίνακας περιεχομένων:

Arduino RFID Lock Tutorial: 6 βήματα (με εικόνες)
Arduino RFID Lock Tutorial: 6 βήματα (με εικόνες)

Βίντεο: Arduino RFID Lock Tutorial: 6 βήματα (με εικόνες)

Βίντεο: Arduino RFID Lock Tutorial: 6 βήματα (με εικόνες)
Βίντεο: Web Programming - Computer Science for Business Leaders 2016 2024, Νοέμβριος
Anonim
Image
Image
Σεμινάριο Arduino RFID Lock
Σεμινάριο Arduino RFID Lock
Σεμινάριο Arduino RFID Lock
Σεμινάριο Arduino RFID Lock

Αγαπητοί φίλοι καλώς ήλθατε σε ένα άλλο εκπαιδευτικό. Αυτός είναι ο Νικ από το Educ8s.tv και σήμερα θα μάθουμε πώς να χρησιμοποιούμε αυτόν τον αναγνώστη RFID με το Arduino για να δημιουργήσουμε ένα απλό σύστημα κλειδώματος.

Για πρώτη φορά, πρόκειται να χρησιμοποιήσουμε ετικέτες RFID με το Arduino. Έχω δημιουργήσει ένα απλό έργο που διαβάζει το μοναδικό αναγνωριστικό (UID) κάθε ετικέτας RFID που τοποθετούμε κοντά στον αναγνώστη και το εμφανίζει σε αυτήν την οθόνη OLED. Εάν το UID της ετικέτας είναι ίσο με μια προκαθορισμένη τιμή που αποθηκεύεται στη μνήμη του Arduino, τότε στην οθόνη θα δούμε το μήνυμα "Unlocked". Εάν το μοναδικό αναγνωριστικό της κάρτας δεν είναι ίσο με την προκαθορισμένη τιμή, το μήνυμα Ξεκλείδωμα δεν θα εμφανιστεί. Δροσερό δεν είναι;

Υπάρχουν πολλά που πρέπει να καλυφθούν, οπότε ας ξεκινήσουμε!

Βήμα 1: Αποκτήστε όλα τα μέρη

Πάρτε όλα τα μέρη
Πάρτε όλα τα μέρη

Τα μέρη που απαιτούνται για την κατασκευή αυτού του έργου είναι τα εξής:

  • Ένα Arduino Uno ▶
  • Ένας αναγνώστης RFID ▶
  • Οθόνη OLED ▶
  • Ένα μικρό breadboard ▶
  • Μερικά καλώδια ▶

Προαιρετικά μέρη:

Powerbank ▶

Το συνολικό κόστος του έργου είναι περίπου 15 $.

Βήμα 2: Ο RC522 RFID Reader

Ο αναγνώστης RC522 RFID
Ο αναγνώστης RC522 RFID
Ο αναγνώστης RC522 RFID
Ο αναγνώστης RC522 RFID
Ο αναγνώστης RC522 RFID
Ο αναγνώστης RC522 RFID
Ο αναγνώστης RC522 RFID
Ο αναγνώστης RC522 RFID

Κάθε ετικέτα RFID έχει ένα μικρό τσιπ μέσα. Εάν τοποθετήσω έναν φακό κάτω από αυτήν την κάρτα RFID, μπορείτε να δείτε το μικρό τσιπ και το πηνίο που το περιβάλλει. Αυτό το τσιπ δεν έχει μπαταρία για να πάρει ενέργεια. Λαμβάνει ενέργεια από τον αναγνώστη, αυτήν τη συσκευή, χρησιμοποιώντας ασύρματα αυτό το μεγάλο πηνίο. Ο αναγνώστης μπορεί να διαβάσει μια κάρτα RFID όπως αυτή από απόσταση έως 20mm!

Το ίδιο τσιπ υπάρχει και στις ετικέτες RFID μπρελόκ.

Κάθε ετικέτα RFID έχει έναν μοναδικό αριθμό που την προσδιορίζει. Αυτό είναι το UID που εμφανίζουμε στην οθόνη OLED. Εκτός από αυτό το UID, κάθε ετικέτα μπορεί να αποθηκεύσει δεδομένα. Σε αυτόν τον τύπο καρτών μπορούμε να αποθηκεύσουμε έως και 1K δεδομένων! Εντυπωσιακό δεν είναι; Δεν θα χρησιμοποιήσουμε αυτήν τη λειτουργικότητα σήμερα, αλλά θα το κάνουμε σε ένα μέλλον με οδηγίες. Σήμερα, το μόνο που μας ενδιαφέρει είναι να προσδιορίσουμε μια συγκεκριμένη κάρτα με το UID της. Το κόστος του προγράμματος ανάγνωσης RFID και αυτών των δύο καρτών RFID είναι περίπου $ 4.

Βήμα 3: Οθόνη OLED

Image
Image
Συνδέστε όλα τα μέρη
Συνδέστε όλα τα μέρη

Αυτή είναι μια πολύ ωραία οθόνη για χρήση με το 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. Σκοπεύετε να το χρησιμοποιήσετε σε κάποιο έργο σας; Δημοσιεύστε τυχόν σχόλια ή ιδέες στην παρακάτω ενότητα σχολίων, ευχαριστώ!

Συνιστάται: