- Μονάδα αισθητήρα δόνησης SW-420
- Απαιτούμενα στοιχεία
- Διάγραμμα κυκλώματος αισθητήρα δόνησης Arduino
- Προγραμματισμός αισθητήρα δόνησης Arduino Uno
- Δοκιμή του κυκλώματος αισθητήρα δόνησης Arduino
Υπάρχουν πολλά κρίσιμα μηχανήματα ή ακριβά μηχανήματα που υφίστανται ζημιές λόγω δονήσεων. Σε μια τέτοια περίπτωση, απαιτείται ένας αισθητήρας δόνησης για να διαπιστωθεί εάν το μηχάνημα ή ο εξοπλισμός παράγει δονήσεις ή όχι. Η αναγνώριση του αντικειμένου που συνεχώς δονείται δεν είναι δύσκολη δουλειά εάν χρησιμοποιείται ο κατάλληλος αισθητήρας για την ανίχνευση της δόνησης. Υπάρχουν διάφοροι τύποι αισθητήρων δόνησηςδιαθέσιμο στην αγορά που μπορεί να ανιχνεύσει τους κραδασμούς ανιχνεύοντας επιτάχυνση ή ταχύτητα και θα μπορούσε να προσφέρει εξαιρετικό αποτέλεσμα. Ωστόσο, αυτοί οι αισθητήρες είναι πολύ ακριβοί όταν χρησιμοποιείται το επιταχυνσιόμετρο. Το επιταχυνσιόμετρο είναι πολύ ευαίσθητο και μπορεί να χρησιμοποιηθεί για την κατασκευή κυκλώματος ανιχνευτή σεισμού. Όμως, υπάρχουν λίγοι αποκλειστικοί και φθηνοί αισθητήρες που είναι επίσης διαθέσιμοι για την ανίχνευση των δονήσεων μόνο, ένας τέτοιος αισθητήρας δόνησης είναι ο SW-420 που πρόκειται να επικοινωνήσουμε με το Arduino Uno.
Έτσι, σε αυτό το έργο, μια βασική μονάδα αισθητήρα δόνησης είναι διασυνδεδεμένη με το δημοφιλές Arduino UNO και όποτε ο αισθητήρας δόνησης ανιχνεύει τυχόν δονήσεις ή κραδασμούς, ένα LED θα αρχίσει να αναβοσβήνει.
Μονάδα αισθητήρα δόνησης SW-420
Πρόκειται για μια μονάδα δόνησης SW-420, η οποία μπορεί να λειτουργήσει από 3.3V έως 5V. Ο αισθητήρας χρησιμοποιεί το συγκριτή LM393 για να ανιχνεύσει τη δόνηση πάνω από ένα κατώφλι και να παρέχει ψηφιακά δεδομένα, Logic Low ή Logic High, 0 ή 1. Κατά τη διάρκεια της κανονικής λειτουργίας, ο αισθητήρας παρέχει Logic Low και όταν ανιχνεύεται η δόνηση, ο αισθητήρας παρέχει Logic High. Υπάρχουν τρία περιφερειακά διαθέσιμα στη μονάδα, δύο LED, ένα για την κατάσταση ισχύος και άλλο για την έξοδο του αισθητήρα. Επιπλέον, διατίθεται ποτενσιόμετρο το οποίο μπορεί να χρησιμοποιηθεί περαιτέρω για τον έλεγχο του κατωφλίου της δόνησης. Σε αυτό το έργο, θα χρησιμοποιήσουμε το 5V για να τροφοδοτήσουμε τη μονάδα.
Χρησιμοποιήσαμε τον ίδιο αισθητήρα στο Anti-Theft Alert System χρησιμοποιώντας ATmega8 Microcontroller. Επίσης, ένας αισθητήρας κλίσης μπορεί να χρησιμοποιηθεί για την ανίχνευση ξαφνικού ατυχήματος.
Απαιτούμενα στοιχεία
- Arduino UNO
- Μονάδα αισθητήρα δόνησης SW-420
- LED 5mm (οποιοδήποτε χρώμα)
- Καλώδια αλουμινίου (καλώδια σύνδεσης)
- Καλώδιο USB για μεταφόρτωση προγράμματος
Διάγραμμα κυκλώματος αισθητήρα δόνησης Arduino
Το σχήμα για τη διασύνδεση του αισθητήρα δόνησης με το Arduino uno δίνεται παρακάτω.
Το LED είναι συνδεδεμένο στον πείρο D13. Η μονάδα τροφοδοτείται με τη χρήση του διαθέσιμου πείρου 5V στο Arduino. Η γείωση και ο πείρος 5V χρησιμοποιούνται για την ενεργοποίηση του Arduino ενώ ο πείρος A5 χρησιμοποιείται για τη λήψη δεδομένων από τον αισθητήρα δόνησης.
Το κύκλωμα είναι κατασκευασμένο όπου η μονάδα SW-420 και το LED συνδέονται με το Arduino Uno.
Προγραμματισμός αισθητήρα δόνησης Arduino Uno
Ο προγραμματισμός του Arduino UNO για διασύνδεση αισθητήρα δόνησης δεν απαιτεί πολλή προσπάθεια, καθώς μόνο ο πείρος εισόδου πρέπει να παρακολουθείται για να καταλήξει. Ο πλήρης κωδικός και το βίντεο εργασίας επισυνάπτονται στο τέλος.
Αρχικά περιλαμβάνονται τα αρχεία κεφαλίδας. Η κεφαλίδα arduino περιλαμβάνεται αφού αυτό το σεμινάριο γράφτηκε στο Eclipse IDE με επέκταση Arduino. Αυτό το σκίτσο θα λειτουργήσει επίσης για το Arduino IDE και ενώ χρησιμοποιείτε αυτό το σκίτσο στο Arduino IDE, δεν χρειάζεται να συμπεριληφθεί η κεφαλίδα.
#περιλαμβάνω
Εδώ ορίζονται δύο μακροεντολές για ON και OFF.
# ορίστε ΕΝΕΡΓΟ 1 # ορίστε ΑΠΕΝΕΡΓΟΠΟΙΗΣΗ 0
Η παρακάτω δήλωση χρησιμοποιείται για την ενσωμάτωση των LED και του αισθητήρα δόνησης. Ο αισθητήρας δόνησης συνδέεται με τον πείρο A5. Χρησιμοποιείται επίσης το ενσωματωμένο LED που συνδέεται απευθείας στην πλακέτα με τον πείρο 13. Το LED 5 mm συνδέεται επίσης με τον πείρο 13.
/ * * Περιγραφή Pin * / int vibration_Sensor = A5; int LED = 13;
Δύο ακέραιοι δηλώνονται όπου αποθηκεύονται οι αισθητήρες που παρουσιάζουν έξοδο και η προηγούμενη έξοδος, οι οποίες θα χρησιμοποιηθούν περαιτέρω για να ανιχνεύσουν εάν συμβαίνει η δόνηση ή όχι.
/ * * Ροή προγράμματος Περιγραφή * / int present_condition = 0; int previous_condition = 0;
Ο ίδιος ακροδέκτης που δηλώνεται ως περιφερειακή σύνδεση, έχει διαμορφωθεί η κατεύθυνση των ακίδων. Ο πείρος αισθητήρα ως είσοδος και ο πείρος LED ως έξοδος.
/ * * Ρύθμιση λειτουργίας pin * / ρύθμιση άκυρου ( ) { pinMode (vibration_Sensor, INPUT); pinMode (LED, OUTPUT); }
Μία συνάρτηση γράφεται για να αναβοσβήνει δύο φορές το led. Η καθυστέρηση μπορεί να διαμορφωθεί με chaging την τιμή καθυστέρησης.
void led_blink (void) { digitalWrite (LED, ON). καθυστέρηση (250) digitalWrite (LED, OFF); καθυστέρηση (250) digitalWrite (LED, ON). καθυστέρηση (250) digitalWrite (LED, OFF); καθυστέρηση (250) }
Στη λειτουργία βρόχου, συγκρίνεται η παρούσα και η προηγούμενη κατάσταση. Εάν αυτά τα δύο δεν είναι ίδια, τα led αρχίζουν να αναβοσβήνουν έως ότου και τα δύο είναι ίδια. Στην εκκίνηση, οι δύο μεταβλητές κρατούν 0 και το led παραμένει απενεργοποιημένο κατά την έναρξη του προγράμματος. Όταν υπάρχει κάποιο virbraion, η μεταβλητή present_condition γίνεται 1 και οδήγησε στο να αναβοσβήνει. Και πάλι όταν οι δονήσεις σταματούν και τα δύο vaiables γίνονται 0 και το LED σταματά να αναβοσβήνει.
void loop () { previous_condition = present_condition; present_condition = digitalRead (A5); // Ανάγνωση ψηφιακών δεδομένων από την Α5 Pin του Arduino. if (previous_condition! = present_condition) { led_blink (); } αλλιώς { digitalWrite (LED, OFF). } }
Αυτό ολοκληρώνει τον προγραμματισμό του arduino UNO με αισθητήρα δόνησης. Το τελευταίο βήμα θα είναι η δοκιμή ολόκληρης της εγκατάστασης.
Δοκιμή του κυκλώματος αισθητήρα δόνησης Arduino
Το κύκλωμα δεν απαιτεί πρόσθετο breadboard. Μπορεί απλά να δοκιμαστεί χρησιμοποιώντας το Arduino UNO Board. Η λυχνία παρακολουθείται όταν χτυπά ο αισθητήρας δόνησης ή εάν αλλάζει την κατάστασή του. Το led θα αναβοσβήνει συνδεδεμένο στο Pin 13 του Arduino UNO όταν υπάρχουν κάποιες δονήσεις. Εάν ο αισθητήρας δόνησης δεν λειτουργεί, ελέγξτε τη σύνδεση και την ισχύ. Αποφύγετε τυχόν χαλαρή σύνδεση μεταξύ αισθητήρα και μικροελεγκτή.
Έτσι λοιπόν μπορεί να διασυνδεθεί ένας αισθητήρας δόνησης με το Arduino UNO. Εάν έχετε οποιαδήποτε αμφιβολία ή πρόταση, μπορείτε να επικοινωνήσετε μαζί μας μέσω του φόρουμ ή μπορείτε επίσης να σχολιάσετε παρακάτω.