- Απαιτούμενα υλικά:
- Αισθητήρες Hall Effect:
- Διάγραμμα κυκλώματος και επεξήγηση:
- Hall Effect Sensor Arduino Κωδικός:
- Ο αισθητήρας Arduino Hall Effect λειτουργεί:
Οι αισθητήρες ήταν ανέκαθεν ζωτικό συστατικό σε οποιοδήποτε Έργο. Αυτά είναι αυτά που μετατρέπουν τα πραγματικά περιβαλλοντικά δεδομένα σε πραγματικό χρόνο σε ψηφιακά / μεταβλητά δεδομένα έτσι ώστε να μπορούν να υποστούν επεξεργασία μέσω ηλεκτρονικών. Υπάρχουν πολλοί διαφορετικοί τύποι αισθητήρων στην αγορά και μπορείτε να επιλέξετε έναν ανάλογα με τις απαιτήσεις σας. Σε αυτό το έργο θα μάθουμε πώς να χρησιμοποιούμε έναν αισθητήρα Hall γνωστό ως αισθητήρα εφέ Hall με το Arduino. Αυτός ο αισθητήρας μπορεί να ανιχνεύσει έναν μαγνήτη και επίσης τον πόλο του μαγνήτη.
Γιατί να ανιχνεύσετε έναν μαγνήτη;, Μπορείτε να ρωτήσετε. Λοιπόν, υπάρχουν πολλές εφαρμογές που χρησιμοποιούν πρακτικά τον αισθητήρα Hall Effect και ίσως δεν τις έχουμε παρατηρήσει ποτέ. Μία κοινή εφαρμογή αυτού του αισθητήρα είναι η μέτρηση της ταχύτητας σε ποδήλατα ή σε περιστρεφόμενες μηχανές. Αυτός ο αισθητήρας χρησιμοποιείται επίσης σε κινητήρες BLDC για την ανίχνευση της θέσης των Rotor Magnets και την ενεργοποίηση των πηνίων Stator ανάλογα. Οι εφαρμογές είναι ατελείωτες, οπότε ας μάθουμε πώς να Interface Hall αισθητήρα Arduino για να προσθέσετε ένα άλλο εργαλείο στο οπλοστάσιό μας. Ακολουθούν ορισμένα έργα με αισθητήρα Hall:
- Ταχύμετρο DIY χρησιμοποιώντας την εφαρμογή Arduino και επεξεργασίας Android
- Ψηφιακό ταχύμετρο και κύκλωμα οδομέτρου με χρήση μικροελεγκτή PIC
- Εικονική πραγματικότητα χρησιμοποιώντας το Arduino και την επεξεργασία
- Μέτρηση ισχύος μαγνητικού πεδίου με χρήση Arduino
Σε αυτό το σεμινάριο θα χρησιμοποιήσουμε τη λειτουργία διακοπών του Arduino για να ανιχνεύσουμε τον μαγνήτη κοντά στον αισθητήρα Hall και να ανάβουμε ένα LED. Τις περισσότερες φορές ο αισθητήρας Hall θα χρησιμοποιείται μόνο με Διακοπές λόγω των εφαρμογών τους στις οποίες απαιτείται υψηλή ταχύτητα ανάγνωσης και εκτέλεσης, επομένως ας χρησιμοποιήσουμε επίσης τις διακοπές στο μάθημα
Απαιτούμενα υλικά:
- Αισθητήρας Hall Effect (οποιαδήποτε ψηφιακή έκδοση)
- Arduino (Οποιαδήποτε έκδοση)
- Αντίσταση 10k ohm και 1K ohm
- LED
- Σύνδεση καλωδίων
Αισθητήρες Hall Effect:
Πριν βυθίσουμε τις συνδέσεις, υπάρχουν λίγα σημαντικά πράγματα που πρέπει να γνωρίζετε για τους αισθητήρες Hall Effect. Υπάρχουν στην πραγματικότητα, δύο διαφορετικοί τύποι αισθητήρων Hall, ο ένας είναι αισθητήρας Digital Hall και ο άλλος αισθητήρας Hall Hall. Ο ψηφιακός αισθητήρας Hall μπορεί να ανιχνεύσει μόνο εάν υπάρχει μαγνήτης ή όχι (0 ή 1), αλλά η έξοδος ενός αναλογικού αισθητήρα Hall διαφέρει ανάλογα με το μαγνητικό πεδίο γύρω από τον μαγνήτη που μπορεί να ανιχνεύσει πόσο ισχυρή ή πόσο μακριά είναι ο μαγνήτης. Σε αυτό το έργο θα στοχεύονται μόνο οι ψηφιακοί αισθητήρες Hall επειδή είναι οι πιο συχνά χρησιμοποιούμενοι.
Όπως υποδηλώνει το όνομα, ο αισθητήρας Hall Effect λειτουργεί με την αρχή «Hall effect». Σύμφωνα με αυτόν τον νόμο «όταν ένας αγωγός ή ημιαγωγός με ρεύμα που ρέει προς μία κατεύθυνση εισήχθη κάθετα προς ένα μαγνητικό πεδίο, μια τάση θα μπορούσε να μετρηθεί σε ορθή γωνία προς την τρέχουσα διαδρομή». Χρησιμοποιώντας αυτήν την τεχνική, ο αισθητήρας αίθουσας θα είναι σε θέση να ανιχνεύσει την παρουσία μαγνήτη γύρω από αυτό. Αρκετή θεωρία ας πάμε στο υλικό.
Διάγραμμα κυκλώματος και επεξήγηση:
Το πλήρες διάγραμμα κυκλώματος για διασύνδεση αισθητήρα Hall με Arduino βρίσκεται παρακάτω.
Όπως μπορείτε να δείτε, το διάγραμμα κυκλώματος αισθητήρα εφέ αίθουσας arduino είναι αρκετά απλό. Όμως, ο τόπος όπου κάνουμε συνήθως λάθη είναι να υπολογίσουμε τους αριθμούς ακίδων των αισθητήρων αίθουσας. Τοποθετήστε τις αναγνώσεις στραμμένες προς εσάς και ο πρώτος πείρος στα αριστερά σας είναι το Vcc και στη συνέχεια Γείωση και Σήμα αντίστοιχα.
Θα χρησιμοποιήσουμε τις Διακοπές όπως ειπώθηκε νωρίτερα, εξ ου και ο ακροδέκτης εξόδου του αισθητήρα Hall είναι συνδεδεμένος με το Pin 2 του Arduino. Ο πείρος συνδέεται με ένα LED που θα ανάβει όταν ανιχνευθεί ένας μαγνήτης. Απλώς έκανα τις συνδέσεις σε ένα breadboard και έμοιαζε κάπως έτσι παρακάτω μόλις ολοκληρωθεί.
Hall Effect Sensor Arduino Κωδικός:
Ο πλήρης κωδικός Arduino είναι λίγες μόνο γραμμές και βρίσκεται στο κάτω μέρος αυτής της σελίδας, ο οποίος μπορεί να μεταφορτωθεί απευθείας στο Arduino Board σας. Αν θέλετε να μάθετε πώς λειτουργεί το πρόγραμμα διαβάστε περαιτέρω.
Έχουμε μία είσοδο, που είναι ο αισθητήρας και μία έξοδος που είναι LED. Ο αισθητήρας πρέπει να συνδεθεί ως είσοδος διακοπής. Έτσι, μέσα στη λειτουργία εγκατάστασης , αρχικοποιούμε αυτές τις καρφίτσες και επίσης κάνουμε το Pin 2 να λειτουργεί ως διακοπή. Εδώ ο ακροδέκτης 2 ονομάζεται Hall_sensor και ο ακροδέκτης 3 ονομάζεται LED .
άκυρη ρύθμιση () {pinMode (LED, OUTPUT); // Το LED είναι ένας pin pinMode εξόδου (Hall_sensor, INPUT_PULLUP). // Ο αισθητήρας Hall είναι είσοδος pinInterrupt (digitalPinToInterrupt (Hall_sensor), εναλλαγή, ΑΛΛΑΓΗ); // Ο ακροδέκτης δύο είναι ακροδέκτης διακοπής που θα καλέσει τη λειτουργία εναλλαγής}
Όταν εντοπιστεί διακοπή, η λειτουργία εναλλαγής θα κληθεί όπως αναφέρεται στην παραπάνω γραμμή. Υπάρχουν πολλές παράμετροι διακοπής όπως Toggle , Change, Rise, Fall κ.λπ. αλλά σε αυτό το σεμινάριο εντοπίζουμε την αλλαγή εξόδου από τον αισθητήρα Hall.
Τώρα μέσα στη λειτουργία εναλλαγής , χρησιμοποιούμε μια μεταβλητή που ονομάζεται « κατάσταση », η οποία θα αλλάξει την κατάστασή της σε 0 εάν είναι ήδη 1 και σε 1 εάν είναι ήδη μηδέν. Με αυτόν τον τρόπο μπορούμε να κάνουμε το LED να ανάψει ή να σβήσει.
void toggle () {κατάσταση =! κατάσταση; }
Τέλος, μέσα στη λειτουργία βρόχου , πρέπει απλώς να ελέγξουμε το LED. Η μεταβλητή κατάσταση θα αλλάζει κάθε φορά που ανιχνεύεται ένας μαγνήτης, γι 'αυτό το χρησιμοποιούμε για να προσδιορίσουμε εάν το LED πρέπει να παραμείνει αναμμένο ή σβηστό.
void loop () {digitalWrite (LED, κατάσταση); }
Ο αισθητήρας Arduino Hall Effect λειτουργεί:
Μόλις είστε έτοιμοι με το υλικό και τον κωδικό σας, απλώς ανεβάστε τον κωδικό στο Arduino. Έχω χρησιμοποιήσει μια μπαταρία 9V για να τροφοδοτήσω ολόκληρη τη ρύθμιση που μπορείτε να χρησιμοποιήσετε οποιαδήποτε προτιμώμενη πηγή τροφοδοσίας. Τώρα φέρτε τον μαγνήτη κοντά στον αισθητήρα και το LED σας θα ανάψει και αν το αφαιρέσετε θα σβήσει.
Σημείωση: Ο αισθητήρας Hall είναι ευαίσθητος στον Πόλο, που σημαίνει ότι η μία πλευρά του αισθητήρα μπορεί να ανιχνεύσει μόνο τον Βόρειο Πόλο ή μόνο τον Νότιο Πόλο και όχι και τα δύο. Αν λοιπόν φέρετε έναν νότιο πόλο κοντά στη βορειότερη επιφάνεια ανίχνευσης, το LED σας δεν θα ανάψει.
Αυτό που πραγματικά συμβαίνει μέσα είναι, όταν φέρουμε τον μαγνήτη κοντά στον αισθητήρα, ο αισθητήρας αλλάζει την κατάστασή του. Αυτή η αλλαγή γίνεται αισθητή από τον πείρο διακοπής που θα καλέσει τη λειτουργία εναλλαγής μέσα στην οποία αλλάζουμε τη μεταβλητή «κατάσταση» από 0 σε 1. Ως εκ τούτου, το LED θα ανάψει. Τώρα, όταν απομακρύνουμε τον μαγνήτη από τον αισθητήρα, και πάλι η έξοδος του αισθητήρα θα αλλάξει. Αυτή η αλλαγή παρατηρείται και πάλι από τη δήλωση διακοπής και ως εκ τούτου η μεταβλητή «κατάσταση» θα αλλάξει από 1 σε 0. Έτσι, το LED αν σβήσει. Το ίδιο επαναλαμβάνεται κάθε φορά που φέρνετε έναν μαγνήτη κοντά στον αισθητήρα.
Το πλήρες βίντεο εργασίας του έργου βρίσκεται παρακάτω. Ελπίζω να καταλάβατε το έργο και να απολαύσατε κάτι νέο. Εάν αλλιώς χρησιμοποιήστε την ενότητα σχολίων παρακάτω ή τα φόρουμ για βοήθεια.