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

Arduino Wireless Combination Lock With NRF24L01 and 4 Digit 7 Segment Display: 6 Steps (with Pictures)
Arduino Wireless Combination Lock With NRF24L01 and 4 Digit 7 Segment Display: 6 Steps (with Pictures)

Βίντεο: Arduino Wireless Combination Lock With NRF24L01 and 4 Digit 7 Segment Display: 6 Steps (with Pictures)

Βίντεο: Arduino Wireless Combination Lock With NRF24L01 and 4 Digit 7 Segment Display: 6 Steps (with Pictures)
Βίντεο: 4 Digit 7 Segment Wireless Combination Lock 2024, Νοέμβριος
Anonim
Arduino Wireless Combination Lock With NRF24L01 και 4 Digit 7 Segment Display
Arduino Wireless Combination Lock With NRF24L01 και 4 Digit 7 Segment Display

Αυτό το έργο ξεκίνησε τη ζωή του ως άσκηση για να κάνει κάτι με τετραψήφια οθόνη 7 τμημάτων.

Αυτό που κατέληξα ήταν η δυνατότητα εισαγωγής τετραψήφιου αριθμού συνδυασμού, αλλά μόλις τελείωσε, ήταν αρκετά βαρετό. Το έφτιαξα χρησιμοποιώντας ένα Arduino UNO. Λειτούργησε, αλλά δεν έκανε τίποτα άλλο.

Είχα τότε την ιδέα ότι θα έπρεπε να έχει ένα κουμπί για να αποδεχτεί τον επιλεγμένο αριθμό και ίσως ένα άλλο κουμπί για να αλλάξει το συνδυασμό, και ίσως ένα LED για να δείξει την κατάσταση που βρισκόταν ανά πάσα στιγμή. Αν και ακούστηκε σαν σχέδιο, σήμαινε επίσης ότι θα είχα ξεμείνει από καρφίτσες στο UNO. Μπορεί να υπάρχει τρόπος πολυπλεξίας αυτής της μονάδας, αλλά δεν είμαι σίγουρος από πού να ξεκινήσω, οπότε έφτασα στο Arduino Mega.

Τώρα που χρησιμοποιούσα έναν μεγαλύτερο πίνακα και είχα περισσότερες καρφίτσες για να παίξω, αποφάσισα επίσης να προσθέσω δυνατότητες wi-fi για να επικοινωνώ με ένα άλλο Arduino που θα έλεγχε στην πραγματικότητα κάποιο είδος διακόπτη.

Βήμα 1: Απαιτήσεις και Λίστα μερών

Απαιτήσεις και Λίστα μερών
Απαιτήσεις και Λίστα μερών

Αφού τα σκέφτηκα όλα αυτά, έχω τώρα μια λίστα απαιτήσεων:

  • Για να μπορέσετε να εισαγάγετε έναν τετραψήφιο συνδυασμό.
  • Για να ξεκινήσετε με έναν προεπιλεγμένο σκληρό κωδικοποιημένο συνδυασμό.
  • Για να μπορείτε να αλλάξετε τον συνδυασμό και να αποθηκεύσετε τον νέο συνδυασμό στο EEPROM του Arduino.
  • Εμφανίστε την κατάσταση της κλειδαριάς με ένα κόκκινο LED για κλειδωμένο και πράσινο LED για ανοιχτό.
  • Εμφάνιση της κατάστασης όταν ο συνδυασμός αλλάζει με μπλε LED.
  • Όταν η κατάσταση ξεκλειδωθεί, παραμείνετε για ένα χρονικό διάστημα και μετά επιστρέψτε στην κατάσταση κλειδώματος.
  • Μεταδώστε την κλειδωμένη/ξεκλειδωμένη κατάσταση σε άλλο Arduino.
  • Εμφανίστε την ίδια κατάσταση με κόκκινες και πράσινες λυχνίες LED στο Arduino που λαμβάνει.
  • Για λόγους επίδειξης, χρησιμοποιήστε ένα σερβο για να λειτουργήσει ως μηχανισμός κλειδώματος με βάση την κατάσταση λήψης.

Από τις απαιτήσεις μπορώ τώρα να δημιουργήσω μια λίστα μερών:

Ο πομπός:

  • Arduino Mega.
  • Breadboard.
  • 4ψήφια οθόνη 7 τμημάτων.
  • 2 Χ στιγμιαίοι διακόπτες, με καπάκια.
  • 1 X RGB LED.
  • Αντιστάσεις 9 Χ 220ohm. 8 για την οθόνη και 1 για το LED RGB.
  • 2 αντιστάσεις X 10kohm. Τραβήξτε προς τα κάτω τις αντιστάσεις για τα 2 κουμπιά. (Στην πραγματικότητα χρησιμοποίησα 9.1kohm γιατί αυτό είχα)
  • Ποτενσιόμετρο 1 Χ 10k.
  • 1 Χ NRF24L01
  • [προαιρετικά] 1 Χ YL-105 σανίδα διάσπασης για το NRF24L01. Αυτό επιτρέπει τη σύνδεση 5v και ευκολότερη καλωδίωση. Καλώδια βραχυκυκλωτήρων

Ο λαβων:

  • Arduino UNO.
  • Breadboard.
  • 1 X RGB LED.
  • 1 Χ αντίσταση 220ohm. Για το LED.
  • 1 X σερβο. Χρησιμοποίησα ένα SG90 μόνο για λόγους επίδειξης.
  • 1 Χ NRF24L01
  • προαιρετικά] 1 Χ YL-105 σανίδα διάσπασης για το NRF24L01. Αυτό επιτρέπει τη σύνδεση 5v και ευκολότερη καλωδίωση.
  • Καλώδια βραχυκυκλωτήρων

Βήμα 2: Η οθόνη

Η Οθόνη
Η Οθόνη
Η Οθόνη
Η Οθόνη

Χρησιμοποίησα μια τετραψήφια οθόνη 7 τμημάτων

Δοκιμασμένο με SMA420564 και SM420562K (οι ακίδες είναι οι ίδιες)

Οι ακίδες 1 και 12 σημειώνονται.

Διάταξη από πάνω προς τα κάτω 12, 11, 10, 9, 8, 7 1, 2, 3, 4, 5, 6

Οι ακίδες 12, 9, 8, 6 ενεργοποιούν ή απενεργοποιούν το ψηφίο 1 έως 4 από αριστερά προς τα δεξιά

Βήμα 3: Καλωδίωση του Arduino Mega:

Καλωδίωση του Arduino Mega
Καλωδίωση του Arduino Mega

Εμφάνιση διάταξης καρφιτσών Arduino

  • 1 έως ακίδα 6 μέσω αντίστασης 220ohm (E)
  • 2 έως pin 5 μέσω αντίστασης 220ohm (D)
  • 3 στην ακίδα 9 μέσω αντίστασης 220ohm (DP) δεν χρησιμοποιείται εδώ
  • 4 έως pin 4 μέσω αντίστασης 220ohm (C)
  • 5 έως pin 8 μέσω αντίστασης 220ohm (G)
  • 6 έως τον πείρο 33 (itηφίο 4)
  • 7 έως ακίδα 3 μέσω αντίστασης 220ohm (Β)
  • 8 έως pin 32 (itηφίο 3)
  • 9 στο pin 31 (itηφίο 2)
  • 10 έως pin 7 μέσω αντίστασης 220ohm (F)
  • 11 σε ακίδα 2 μέσω αντίστασης 220ohm (A)
  • 12 έως pin 30 (itηφίο 1)

Ποτενσιόμετρο 10kohm για αλλαγή του αριθμού στο εμφανιζόμενο ψηφίο

  • Εξωτερική καρφίτσα έως 5V
  • Κεντρική καρφίτσα στο A0
  • Άλλη εξωτερική καρφίτσα στο GND

Κουμπί αποδοχής αριθμού

  • Για καρφίτσα 36.
  • Και καρφίτσα 36 μέσω μιας πτυσσόμενης αντίστασης 10kohm στο GND

Κουμπί αλλαγής αριθμού συνδυασμού

  • Για καρφίτσα 37.
  • Και καρφίτσα 37 μέσω μιας πτυσσόμενης αντίστασης 10kohm στο GND

RGB LED (κοινή κάθοδος)

  • Αντίσταση καθόδου σε GND μέσω 220ohm
  • Κόκκινο στο pin 40
  • Πράσινο στην καρφίτσα 41
  • Μπλε στην καρφίτσα 42

NRF24L01 με σανίδα διάσπασης:

  • MISO στην καρφίτσα 50 (Υποχρεωτικό μέσω ειδικής ακίδας)
  • MOSI στην καρφίτσα 51 (Υποχρεωτικό μέσω ειδικής ακίδας)
  • SCK στον πείρο 52 (Υποχρεωτικό μέσω ειδικής ακίδας)
  • CE στο pin 44 (Προαιρετικός αριθμός καρφιτσών αλλά ορίζεται στο σκίτσο)
  • CSN στο pin 45 (Προαιρετικός αριθμός pin αλλά ορίζεται στο σκίτσο)
  • Vcc σε Arduino 5v (ή 3.3v αν δεν χρησιμοποιείτε την πλακέτα breakout)
  • GND στο Arduino GND

Βήμα 4: Καλωδίωση του Arduino UNO:

Καλωδίωση του Arduino UNO
Καλωδίωση του Arduino UNO

RGB LED (κοινή κάθοδος)

  • Αντίσταση καθόδου σε GND μέσω 220ohm
  • Κόκκινο σε καρφίτσα 2 Πράσινο σε καρφίτσα 3
  • Μπλε (Δεν χρησιμοποιείται εδώ)

Servo:

  • Κόκκινο σε Arduino 5v ή ξεχωριστή παροχή εάν χρησιμοποιείται
  • Καφέ σε Arduino GND και ξεχωριστή παροχή εάν χρησιμοποιείται
  • Πορτοκαλί στην καρφίτσα 6

NRF24L01 με σανίδα διάσπασης:

MISO στην καρφίτσα 12 (Υποχρεωτικό μέσω ειδικής ακίδας)

MOSI στην καρφίτσα 11 (Υποχρεωτικό μέσω ειδικής ακίδας)

SCK στην καρφίτσα 13 (Υποχρεωτικό μέσω ειδικής ακίδας)

CE στο pin 7 (Προαιρετικός αριθμός καρφιτσών αλλά ορίζεται στο σκίτσο)

CSN στο pin 8 (Προαιρετικός αριθμός pin αλλά ορίζεται στο σκίτσο)

Vcc σε Arduino 5v (ή 3.3v αν δεν χρησιμοποιείτε την πλακέτα breakout)

GND στο Arduino GND

Βήμα 5: Πώς λειτουργεί

Image
Image
Πως δουλεύει
Πως δουλεύει
Πως δουλεύει
Πως δουλεύει
Πως δουλεύει
Πως δουλεύει

Μόλις ολοκληρωθούν και οι δύο σανίδες και φορτωθεί το κατάλληλο σκίτσο, μπορούμε τώρα να το δοκιμάσουμε.

Με ισχύ και στους δύο πίνακες.

Οι κόκκινες λυχνίες LED πρέπει να εμφανίζονται και στις δύο πλακέτες.

Η οθόνη θα εμφανίσει έναν αριθμό στο πρώτο ψηφίο. Αυτός ο αριθμός θα εξαρτηθεί από το πού έχει ρυθμιστεί το ποτενσιόμετρο.

Γυρίστε το ποτενσιόμετρο για να λάβετε τον επιθυμητό αριθμό.

Μόλις βρεθεί ο αριθμός, πατήστε το κουμπί αποδοχής. Στην περίπτωσή μου είναι αυτό στα αριστερά του ποτενσιόμετρου.

Κάντε το ίδιο για τους άλλους τρεις αριθμούς.

Εάν ο συνδυασμός που έχει εισαχθεί είναι σωστός, θα εμφανιστεί η λέξη OPEn, το πράσινο LED θα ανάψει και στις δύο πλακέτες και το σερβο θα γυρίσει 180 μοίρες.

Η οθόνη θα μείνει κενή και η πράσινη λυχνία LED θα παραμείνει αναμμένη για περίπου 5 δευτερόλεπτα περισσότερο.

Μόλις τελειώσει ο χρόνος ξεκλειδώματος, και οι δύο λυχνίες LED θα γίνουν κόκκινες και το σερβο θα γυρίσει 180 μοίρες πίσω για να ξεκινήσει.

Εάν ο συνδυασμός που έχει εισαχθεί δεν είναι σωστός, θα εμφανιστεί η λέξη OOPS και τα κόκκινα LED θα παραμείνουν αναμμένα.

Υπάρχει ένας σκληρός κωδικοποιημένος προεπιλεγμένος συνδυασμός στο σκίτσο του 1 1 1 1.

Για να αλλάξετε τον συνδυασμό, πρέπει πρώτα να εισαγάγετε τον σωστό συνδυασμό.

Μόλις εξαφανιστεί η λέξη OPEn, έχετε περίπου 5 δευτερόλεπτα για να πατήσετε το άλλο κουμπί.

Μόλις εισαγάγετε την ακολουθία συνδυασμού αλλαγής, η λυχνία LED της κύριας πλακέτας θα γίνει μπλε, ενώ η άλλη παραμένει πράσινη και ως εκ τούτου ανοιχτή.

Εισαγάγετε έναν νέο συνδυασμό με τον ίδιο τρόπο όπως πριν.

Μόλις γίνει αποδεκτός ο νέος συνδυασμός (στο τελικό κουμπί πατήστε) θα αποθηκευτεί στο EEPROM.

Και τα δύο Arduinos θα μπουν τώρα σε κλειδωμένη λειτουργία.

Εισαγάγετε τον νέο σας συνδυασμό και θα ξεκλειδώσει όπως αναμενόταν.

Μόλις ένας συνδυασμός αλλάξει και αποθηκευτεί στο EEPROM, η προεπιλεγμένη κωδικοποίηση 1 1 1 1 αγνοείται.

Βήμα 6: Όλα Έγιναν

Το έχτισα χρησιμοποιώντας το βασικό NRF24L01 με ενσωματωμένη κεραία και κατάφερα καλή επικοινωνία περίπου 15 ποδιών μέσω ενός τοίχου.

Επειδή το ψωμί Arduino Mega ήταν λίγο απασχολημένο με καλώδια, χρησιμοποίησα απευθείας άλτες σε ορισμένα σημεία. Αυτό, με το γεγονός ότι υπάρχουν πολλά σε ένα breadboard, καθιστά δύσκολη την παρακολούθηση των εικόνων.

Ωστόσο, νομίζω ότι έχω εξηγήσει τα πάντα καρφίτσα για καρφίτσα και ακόμη και αν είστε αρχάριος, θα πρέπει να είστε σε θέση να φτιάξετε αυτό το μικρό έργο, παίρνοντας μόνο ένα καλώδιο ή καρφίτσα κάθε φορά.

Και τα δύο σκίτσα σχολιάζονται πλήρως για ευκολία στην ανάγνωση και είναι διαθέσιμα εδώ για λήψη.

Το σκίτσο για το Arduino Mega είναι αρκετά μεγάλο, περίπου 400 γραμμές, αλλά χωρίζεται σε διαχειρίσιμα κομμάτια, οπότε πρέπει να ακολουθηθεί εύκολα.

Συνιστάται: