- Διακόπτης Reed
- Απαιτούμενα στοιχεία
- Διάγραμμα κυκλώματος διακόπτη Arduino Reed
- Εργασία του Reed Switch με το Arduino
- Επεξήγηση κώδικα
Ο διακόπτης Reed χρησιμοποιείται σε πολλές από τις πραγματικές εφαρμογές όπως μαγνητικός διακόπτης πορτών, φορητοί υπολογιστές, smartphone κ.λπ. Σε αυτό το άρθρο, μαθαίνουμε για το διακόπτη Reed και σας καθοδηγούμε για τη διασύνδεση ενός διακόπτη Reed με το Arduino.
Διακόπτης Reed
Ο διακόπτης Reed είναι βασικά ένας ηλεκτρικός διακόπτης που λειτουργεί όταν ένα μαγνητικό πεδίο πλησιάζει σε αυτόν. Εφευρέθηκε από τον WB Ellwood το 1936 σε εργαστήρια καμπάνας. Αποτελείται από δύο μικρά μεταλλικά κομμάτια που διατηρούνται μέσα σε γυάλινο σωλήνα υπό κενό. Σε έναν τυπικό διακόπτη καλαμιού δύο μεταλλικά κομμάτια θα φτιαχτούν από σιδηρομαγνητικό υλικό και θα καλυφθούν με ρόδιο ή ρουθήνιο για να τους δώσουν μεγάλη διάρκεια ζωής. Ο διακόπτης θα ενεργοποιηθεί όταν υπάρχει μαγνητικό πεδίο γύρω από το διακόπτη.
Το γυάλινο περίβλημα των δύο μεταλλικών τεμαχίων τα προστατεύει από βρωμιά, σκόνη και άλλα σωματίδια. Ο διακόπτης καλαμιού μπορεί να λειτουργεί σε οποιοδήποτε περιβάλλον, όπως περιβάλλον όπου υπάρχει εύφλεκτο αέριο ή περιβάλλον όπου η διάβρωση θα επηρέαζε τις ανοιχτές επαφές διακόπτη.
Υπάρχουν δύο τύποι διακόπτη καλαμιού.
- Κανονικά ανοιχτός διακόπτης καλαμιού
- Κανονικά κλειστός διακόπτης καλαμιού
Σε κανονικά ανοιχτό διακόπτη καλαμιού, ο διακόπτης είναι ανοιχτός απουσία μαγνητικού πεδίου και είναι κλειστός παρουσία μαγνητικού πεδίου. Υπό την παρουσία μαγνητικού πεδίου, δύο μεταλλικές επαφές μέσα στον γυάλινο σωλήνα προσελκύουν η μία την άλλη για να κάνουν επαφή.
Στον κανονικά κλειστό διακόπτη καλαμιού, ο διακόπτης είναι κλειστός απουσία μαγνητικού πεδίου και είναι ανοιχτός παρουσία μαγνητικού πεδίου.
Εφαρμογές του διακόπτη Reed
- Χρησιμοποιείται σε ανταλλαγή τηλεφώνου
- Σε φορητούς υπολογιστές για να θέσετε την οθόνη σε αναστολή λειτουργίας εάν το καπάκι είναι κλειστό
- Χρησιμοποιείται σε αισθητήρες παραθύρων και πορτών στο σύστημα συναγερμού διαρρήκτη
Απαιτούμενα στοιχεία
- Arduino Uno
- Διακόπτης καλαμιού
- Αντιστάσεις
- LED
- Μαγνήτης
- Σύνδεση καλωδίων
Διάγραμμα κυκλώματος διακόπτη Arduino Reed
Εργασία του Reed Switch με το Arduino
Το Arduino Uno είναι ένας πίνακας μικροελεγκτή ανοιχτού κώδικα που βασίζεται στον μικροελεγκτή ATmega328p. Διαθέτει 14 ψηφιακούς ακροδέκτες (εκ των οποίων 6 ακίδες μπορούν να χρησιμοποιηθούν ως έξοδοι PWM), 6 αναλογικές εισόδους, ρυθμιστές τάσης επί του σκάφους κ.λπ. Το Arduino Uno διαθέτει 32KB μνήμης flash, 2KB SRAM και 1KB EEPROM. Λειτουργεί με συχνότητα ρολογιού 16MHz. Το Arduino Uno υποστηρίζει επικοινωνία Serial, I2C, SPI για επικοινωνία με άλλες συσκευές. Ο παρακάτω πίνακας δείχνει την τεχνική προδιαγραφή του Arduino Uno.
Μικροελεγκτής |
ATmega328p |
Τάση λειτουργίας |
5V |
Τάση εισόδου |
7-12V (συνιστάται) |
Ψηφιακές καρφίτσες εισόδου / εξόδου |
14 |
Αναλογικές καρφίτσες |
6 |
Μνήμη Flash |
32KB |
SRAM |
2KB |
EEPROM |
1KB |
Ταχύτητα ρολογιού |
16MHz |
Για τη διασύνδεση του διακόπτη καλαμιού με το Arduino πρέπει να χτίσουμε ένα κύκλωμα διαχωριστή τάσης όπως φαίνεται στο παρακάτω σχήμα. Το Vo είναι + 5V όταν ο διακόπτης είναι ανοιχτός και 0V όταν ο διακόπτης είναι κλειστός. Χρησιμοποιούμε έναν κανονικά ανοιχτό διακόπτη καλαμιού σε αυτό το έργο. Ο διακόπτης είναι κλειστός παρουσία μαγνητικού πεδίου και είναι ανοιχτός απουσία μαγνητικού πεδίου.
Επεξήγηση κώδικα
Ο πλήρης κωδικός για αυτό το έργο διακόπτη καλαμιού Arduino δίνεται στο τέλος αυτού του άρθρου. Ο κωδικός χωρίζεται σε μικρά μικρά κομμάτια και εξηγείται παρακάτω.
Σε αυτό το μέρος του κώδικα πρέπει να καθορίσουμε τις ακίδες στις οποίες ο διακόπτης Reed και το LED είναι συνδεδεμένο στο Arduino. Ο διακόπτης Reed συνδέεται με τον ψηφιακό πείρο 4 του Arduino και ο LED συνδέεται στον ψηφιακό πείρο 7 του Arduino μέσω μιας τρέχουσας περιοριστικής αντίστασης. Η μεταβλητή "reed_status" χρησιμοποιείται για να διατηρήσει την κατάσταση του διακόπτη reed.
int LED = 7; int reed_switch = 4; int reed_status;
Σε αυτό το μέρος του κώδικα, πρέπει να ορίσουμε την κατάσταση των ακίδων στους οποίους είναι συνδεδεμένος ο διακόπτης LED και καλάμι. Ο αριθμός pin 4 έχει οριστεί ως είσοδος και ο αριθμός pin 7 έχει οριστεί ως έξοδος.
άκυρη ρύθμιση () { pinMode (LED, OUTPUT); pinMode (reed_switch, INPUT); }
Στη συνέχεια, πρέπει να διαβάσουμε την κατάσταση του διακόπτη reed. Εάν είναι ίσο με 1, ο διακόπτης είναι ανοιχτός και το LED σβήνει. Αν είναι 0, ο διακόπτης είναι κλειστός και πρέπει να ανάψουμε το LED. Αυτή η διαδικασία επαναλαμβάνεται κάθε δευτερόλεπτο. Αυτή η εργασία επιτυγχάνεται με αυτό το μέρος του παρακάτω κώδικα.
void loop () {reed_status = digitalRead (reed_switch); εάν (reed_status == 1) digitalWrite (LED, LOW); αλλιώς digitalWrite (LED, HIGH); καθυστέρηση (1000) }
Όπως είδατε ότι είναι πολύ εύκολο στη χρήση Reed Switch με το Arduino.