Πίνακας περιεχομένων:
- Βήμα 1: Τι είναι ένας αισθητήρας εφέ Hall;
- Βήμα 2: Τι είναι η διακοπή;
- Βήμα 3: Συνδέσεις και κώδικας
- Βήμα 4: Περαιτέρω ενέργειες
Βίντεο: Αισθητήρας εφέ Arduino Hall με διακοπές: 4 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
Γεια σε όλους, Σήμερα θα σας δείξω πώς μπορείτε να συνδέσετε έναν αισθητήρα εφέ αίθουσας σε ένα Arduino και να τον χρησιμοποιήσετε με διακοπή.
Εργαλεία και υλικά που χρησιμοποιούνται στο βίντεο (Συνδέσεις συνεργατών): Arduino Uno:
Αισθητήρες εφέ Hall:
Ανάμικτες αντιστάσεις:
Βήμα 1: Τι είναι ένας αισθητήρας εφέ Hall;
Ο αισθητήρας φαινομένου Hall είναι μια συσκευή που χρησιμοποιείται για τη μέτρηση του μεγέθους ενός μαγνητικού πεδίου. Η τάση εξόδου του είναι ευθέως ανάλογη με τη δύναμη του μαγνητικού πεδίου μέσω αυτού.
Οι αισθητήρες φαινομένου Hall χρησιμοποιούνται για ανίχνευση εγγύτητας, τοποθέτηση, ανίχνευση ταχύτητας και τρέχουσες εφαρμογές ανίχνευσης.
Αυτό με το οποίο θα δουλέψω σήμερα φέρει την ετικέτα 3144 που είναι ένας διακόπτης εφέ αίθουσας που χρησιμοποιείται κυρίως για εφαρμογές υψηλής θερμοκρασίας και αυτοκινήτων. Η έξοδός του είναι υψηλή από προεπιλογή και χαμηλώνει μία φορά παρουσία μαγνητικού πεδίου.
Ο αισθητήρας έχει 3 ακίδες, VCC, γείωση και έξοδο. Μπορείτε να τα προσδιορίσετε με αυτήν τη σειρά εάν κρατήσετε τον αισθητήρα με τις ετικέτες προς το μέρος σας. Το VCC βρίσκεται στα αριστερά και η έξοδος στη δεξιά πλευρά. Για να αποφευχθεί οποιαδήποτε μετατόπιση τάσης, χρησιμοποιείται μια αντίσταση 10k μεταξύ του VCC και της εξόδου σε διαμόρφωση έλξης.
Βήμα 2: Τι είναι η διακοπή;
Για να συνδέσουμε τον αισθητήρα στο Arduino, θα χρησιμοποιήσουμε μια απλή, αλλά πολύ ισχυρή λειτουργία που ονομάζεται Interrupt. Μια εργασία διακοπής είναι να βεβαιωθείτε ότι ο επεξεργαστής ανταποκρίνεται γρήγορα σε σημαντικά γεγονότα. Όταν ανιχνεύεται ένα συγκεκριμένο σήμα, ένα Interrupt (όπως υποδηλώνει το όνομα) διακόπτει ό, τι κάνει ο επεξεργαστής και εκτελεί κάποιον κώδικα σχεδιασμένο για να αντιδρά σε οποιοδήποτε εξωτερικό ερέθισμα τροφοδοτείται στο Arduino. Μόλις ολοκληρωθεί αυτός ο κώδικας, ο επεξεργαστής επιστρέφει σε ό, τι έκανε αρχικά σαν να μην συνέβη τίποτα!
Αυτό που είναι φοβερό σε αυτό είναι ότι δομεί το σύστημά σας για να αντιδρά γρήγορα και αποτελεσματικά σε σημαντικά γεγονότα που δεν είναι εύκολο να προβλεφθούν στο λογισμικό. Το καλύτερο από όλα, απελευθερώνει τον επεξεργαστή σας για να κάνει άλλα πράγματα ενώ περιμένει να εμφανιστεί μια εκδήλωση.
Το Arduino Uno έχει δύο ακίδες που μπορούμε να χρησιμοποιήσουμε ως Διακοπές, ακροδέκτες 2 και 3. Η συνάρτηση που χρησιμοποιούμε για να καταχωρήσουμε τον ακροδέκτη ως διακοπή ονομάζεται attachInterrupt όπου ως πρώτη παράμετρος στέλνουμε στον πείρο προς χρήση, το όνομα της συνάρτησης που θέλουμε να καλέσουμε μόλις εντοπιστεί μια διακοπή και ως τρίτη παράμετρος στέλνουμε στη λειτουργία στην οποία θέλουμε να λειτουργεί η διακοπή. Υπάρχει ένας σύνδεσμος στην περιγραφή του βίντεο για την πλήρη αναφορά αυτής της λειτουργίας.
Βήμα 3: Συνδέσεις και κώδικας
Στο παράδειγμά μας, συνδέουμε τον αισθητήρα εφέ αίθουσας στην ακίδα 2 στο Arduino. Στην αρχή του σκίτσου, ορίζουμε τις μεταβλητές για τον αριθμό pin του ενσωματωμένου LED, τον ακροδέκτη διακοπής καθώς και μια μεταβλητή byte που θα χρησιμοποιήσουμε για να τροποποιήσουμε μέσω της διακοπής. Είναι ζωτικής σημασίας να επισημάνουμε αυτό ως πτητικό, ώστε ο μεταγλωττιστής να γνωρίζει ότι τροποποιείται εκτός της κύριας ροής προγράμματος μέσω της διακοπής.
Στη συνάρτηση ρύθμισης, καθορίζουμε πρώτα τις λειτουργίες των χρησιμοποιούμενων ακίδων και στη συνέχεια επισυνάπτουμε τη διακοπή όπως εξηγήθηκε προηγουμένως. Μια άλλη λειτουργία που χρησιμοποιούμε εδώ είναι το digitalPinToInterrupt, το οποίο όπως υποδηλώνει το όνομα, μεταφράζει τον αριθμό pin στον αριθμό διακοπής.
Στην κύρια μέθοδο, απλώς γράφουμε τη μεταβλητή κατάστασης στην ακίδα LED και προσθέτουμε μια πολύ μικρή καθυστέρηση, ώστε ο επεξεργαστής να έχει χρόνο να λειτουργήσει σωστά.
Όπου επισυνάψαμε τη διακοπή, ορίσαμε το αναβοσβήσιμο ως δεύτερη παράμετρο και αυτό είναι το όνομα της συνάρτησης που πρέπει να καλείται. Μέσα απλώς αντιστρέφουμε την τιμή κατάστασης.
Η τρίτη παράμετρος της συνάρτησης attachIntertupt είναι η λειτουργία στην οποία λειτουργεί. Όταν το έχουμε ως ΑΛΛΑΓΗ, η λειτουργία αναλαμπής θα εκτελείται κάθε φορά που αλλάζει η κατάσταση διακοπής, έτσι θα καλείται μόλις φτάσουμε τον μαγνήτη κοντά στον αισθητήρα και ενεργοποιηθεί ξανά μόλις τον αφαιρέσουμε. Με αυτόν τον τρόπο, η λυχνία LED είναι αναμμένη ενώ κρατάμε τον μαγνήτη κοντά στον αισθητήρα.
Εάν αλλάξουμε τώρα τη λειτουργία σε RISING, η λειτουργία αναλαμπής θα ενεργοποιηθεί μόνο όταν εμφανιστεί μια ανερχόμενη άκρη του σήματος στον πείρο διακοπής. Τώρα κάθε φορά που φέρνουμε τον μαγνήτη κοντά στον αισθητήρα, το LED είτε σβήνει είτε ανάβει, οπότε ουσιαστικά κάναμε έναν μαγνητικό διακόπτη.
Η τελική λειτουργία που θα δοκιμάσουμε είναι LOW. Με αυτό, όταν ο μαγνήτης είναι κοντά, η λειτουργία αναλαμπής θα ενεργοποιείται συνεχώς και η λυχνία LED θα αναβοσβήνει, έχοντας την κατάσταση της ανεστραμμένη συνεχώς. Όταν αφαιρούμε τον μαγνήτη, είναι πραγματικά απρόβλεπτο πώς θα καταλήξει η κατάσταση καθώς αυτό εξαρτάται από το χρονοδιάγραμμα. Ωστόσο, αυτή η λειτουργία είναι πραγματικά χρήσιμη εάν πρέπει να γνωρίζουμε για πόσο χρονικό διάστημα πατήθηκε ένα κουμπί, καθώς μπορούμε να χρησιμοποιήσουμε τις λειτουργίες χρονισμού για να το προσδιορίσουμε.
Βήμα 4: Περαιτέρω ενέργειες
Οι διακοπές είναι ένας απλός τρόπος για να κάνετε το σύστημά σας πιο ευαίσθητο σε εργασίες ευαίσθητες στο χρόνο. Έχουν επίσης το πρόσθετο όφελος από την απελευθέρωση του κύριου βρόχου () σας για να επικεντρωθείτε σε κάποια κύρια εργασία στο σύστημα. (Διαπιστώνω ότι αυτό τείνει να κάνει τον κώδικα μου λίγο πιο οργανωμένο όταν τους χρησιμοποιώ - είναι ευκολότερο να δούμε για τι έχει σχεδιαστεί το κύριο κομμάτι κώδικα, ενώ οι διακοπές χειρίζονται περιοδικά γεγονότα.) Το παράδειγμα που φαίνεται εδώ είναι σχεδόν το περισσότερο βασική περίπτωση χρήσης διακοπής - μπορείτε να τα χρησιμοποιήσετε για ανάγνωση συσκευής I2C, αποστολή ή λήψη ασύρματων δεδομένων ή ακόμη και εκκίνηση ή διακοπή κινητήρα.
Εάν χρησιμοποιείτε μια ενδιαφέρουσα διακοπή ή έναν αισθητήρα εφέ αίθουσας, φροντίστε να με ενημερώσετε στα σχόλια, να κάνετε like και να μοιραστείτε αυτό το Instructable και μην ξεχάσετε να εγγραφείτε στο κανάλι μου στο YouTube για πιο φοβερά σεμινάρια και έργα στο μελλοντικός.
Μπράβο και ευχαριστώ για την παρακολούθηση!
Συνιστάται:
Μετατροπή αισθητήρα εφέ Logitech 3D Extreme Pro Hall: 9 βήματα
Μετατροπή αισθητήρα εφέ Logitech 3D Extreme Pro Hall: Το χειριστήριο του πηδαλίου στο χειριστήριο μου σβήνει. Προσπάθησα να χωρίσω τις γλάστρες και να τις καθαρίσω, αλλά δεν βοήθησε πραγματικά. Ξεκίνησα λοιπόν να ψάχνω για γλάστρες αντικατάστασης και έπεσα πάνω σε μερικούς διαφορετικούς ιστότοπους πριν από αρκετά χρόνια που αναφέρονται
Πώς να φτιάξετε το δικό σας ανεμόμετρο χρησιμοποιώντας διακόπτες καλαμιών, αισθητήρα εφέ Hall και μερικά αποκόμματα στο Nodemcu - Μέρος 2 - Λογισμικό: 5 βήματα (με εικόνες)
Πώς να φτιάξετε το δικό σας ανεμόμετρο χρησιμοποιώντας διακόπτες καλαμιού, αισθητήρα εφέ Hall και μερικά αποκόμματα στο Nodemcu - Μέρος 2 - Λογισμικό: Εισαγωγή Αυτή είναι η συνέχεια της πρώτης ανάρτησης " Πώς να φτιάξετε το δικό σας ανεμόμετρο χρησιμοποιώντας διακόπτες καλαμιών, αισθητήρα εφέ Hall και ορισμένα αποκόμματα στο Nodemcu - Μέρος 1 - Υλικό " - όπου δείχνω τον τρόπο συναρμολόγησης της ταχύτητας και της κατεύθυνσης του ανέμου
4x4 Επίδειξη μιας ηλεκτρονικής σκακιέρας/ Με Arduino Mega + RFID Reader + Αισθητήρες εφέ Hall: 7 βήματα
4x4 Demo of a Electronic Chessboard/ With Arduino Mega + RFID Reader + Hall-effect Sensors: Hi makers, I am Tahir Miriyev, 2018 graduate from Middle East Technical University, Ankara/ Turkey. Αποφοίτησα από τα Εφαρμοσμένα Μαθηματικά, αλλά πάντα μου άρεσε να φτιάχνω πράγματα, ειδικά όταν αφορούσε κάποια χειροτεχνία με ηλεκτρονικά, σχεδιασμό και προγραμματισμό
Αισθητήρας εφέ Hall: Χριστουγεννιάτικο μουσικό κουτί: 4 βήματα
Αισθητήρας εφέ Hall: Christmas Music Box: Αυτό είναι ένα μουσικό κουτί που παίζει μουσική μόλις ανοίξει (δείτε το βίντεο!). Είναι υπέροχος, ιδιαίτερος και μοναδικός τρόπος για να τυλίξετε τα δώρα σας για τον ξεχωριστό σας! Χρησιμοποιεί αισθητήρα εφέ αίθουσας για να ελέγξει αν το καπάκι έχει ανοίξει λόγω έλλειψης μαγνητικού πεδίου
Αισθητήρας εφέ Hall στο Arduino χρησιμοποιώντας Fidget Spinner: 3 βήματα (με εικόνες)
Αισθητήρας εφέ Hall στο Arduino χρησιμοποιώντας Fidget Spinner: Περίληψη Σε αυτό το έργο εξηγώ πώς λειτουργεί ο αισθητήρας εφέ αίθουσας που μετρά την ταχύτητα του fidget spinner με τον πίνακα arduino. λειτουργεί: -Ένας αισθητήρας φαινομένου Hall είναι ένας μορφοτροπέας που μεταβάλλει την τάση εξόδου του ως απόκριση σε μαγνητικό πεδίο. Εφέ Hall