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

Φώτα αισθητήρα κίνησης Basys3: 8 βήματα
Φώτα αισθητήρα κίνησης Basys3: 8 βήματα

Βίντεο: Φώτα αισθητήρα κίνησης Basys3: 8 βήματα

Βίντεο: Φώτα αισθητήρα κίνησης Basys3: 8 βήματα
Βίντεο: LED διπλά φώτα εισόδου, αυτόματα, με αισθητήρα κίνησης @ 16,90€ 2024, Νοέμβριος
Anonim
Φώτα αισθητήρα κίνησης Basys3
Φώτα αισθητήρα κίνησης Basys3
Φώτα αισθητήρα κίνησης Basys3
Φώτα αισθητήρα κίνησης Basys3
Φώτα αισθητήρα κίνησης Basys3
Φώτα αισθητήρα κίνησης Basys3

Για το τελευταίο μας έργο στον ψηφιακό σχεδιασμό, αποφασίσαμε να προσομοιώσουμε φώτα αισθητήρων κίνησης. Ενεργοποιούν όχι μόνο όταν ένα αντικείμενο βρίσκεται κοντά του, αλλά ενεργοποιούνται μόνο κατά τη διάρκεια μιας συγκεκριμένης ώρας της ημέρας. Είμαστε σε θέση να το μοντελοποιήσουμε χρησιμοποιώντας το FPGA (πίνακας Basys3). Ενώ χρησιμοποιούσαμε το FPGA επιτρέψαμε σε έναν χρήστη να εισάγει μια στιγμή κατά την οποία οι αισθητήρες κίνησης μπορούν να αρχίσουν να ενεργοποιούνται και, στη συνέχεια, οι αισθητήρες θα στέλνουν ένα σήμα ανάλογα με τον αισθητήρα είναι να ανάψετε αυτό το συγκεκριμένο φως σε εκείνο το δωμάτιο ή την περιοχή. Το διαμορφώσαμε αυτό επιτρέποντας να ενεργοποιηθεί μόνο ένας αισθητήρας κίνησης σε μια δεδομένη χρονική στιγμή και ανάβοντας ανάλογα τα συγκεκριμένα φώτα. Λόγω της χρονικής στενότητας δεν μπορούμε να κάνουμε τον χρόνο που εισάγει ο χρήστης να επηρεάσει την ενεργοποίηση του αισθητήρα κίνησης. Ωστόσο, η βάση της λογικής μας θα πρέπει να επιτρέπει σε κάποιον να αναπαράγει εύκολα και να τη βελτιώνει.

### Ο παρακάτω σύνδεσμος δείχνει ένα βίντεο του Έργου

drive.google.com/file/d/1FnDwKFfFFDo8mg25j1sW61lUyEqdavQG/view?usp=sharing

Βήμα 1: Απαιτείται εξοπλισμός

Απαιτείται εξοπλισμός
Απαιτείται εξοπλισμός

Για αυτό το έργο, θα χρειαστείτε τα ακόλουθα:

-Basys3 Board

-Καλώδιο USB έως microusb

-8 καλώδια με μπλουζάκια

-Breadboard

-2 διάχυτο LED

Βήμα 2: Διάγραμμα Blackbox/Μηχανή Πεπερασμένης Κατάστασης

Διάγραμμα Blackbox/Μηχανή Πεπερασμένης Κατάστασης
Διάγραμμα Blackbox/Μηχανή Πεπερασμένης Κατάστασης
Διάγραμμα Blackbox/Μηχανή Πεπερασμένης Κατάστασης
Διάγραμμα Blackbox/Μηχανή Πεπερασμένης Κατάστασης

Αυτό το διάγραμμα μαύρου κουτιού δείχνει τις απαιτούμενες εισόδους που απαιτούνται για να ανάψουν τα φώτα led. Η είσοδος ώρας και οι ελάχιστες είσοδοι αντιπροσωπεύουν το χρόνο που εισάγει ο χρήστης στον πίνακα basys3 (χρησιμοποιώντας διακόπτες). Όπως, για την είσοδο sw αντιπροσωπεύει σε ποιο μέρος του δωματίου βρίσκεται ο χρήστης (και πάλι χρησιμοποιώντας διακόπτες για να αναπαραστήσει το αντικείμενο τοποθεσίας που βρίσκεται).

Το FSM δείχνει τη μετάβαση από μια περιοχή σε άλλη περιοχή ενός δωματίου όπου ένα αντικείμενο βρίσκεται σε μια δεδομένη στιγμή. Υπάρχουν 4 διαφορετικοί αισθητήρες στα διαφορετικά δωμάτια που αναπαρίστανται ως (s1, s2, s3, s4). Τα οποία ελέγχουν τις εξόδους ή τα φώτα στα διαφορετικά δωμάτια για παράδειγμα φως (L1, L2, L3). Η αρχική κατάσταση των αισθητήρων δεν εντοπίζει κανέναν, οπότε όλα τα φώτα είναι σβηστά. Για να μεταβείτε στην επόμενη κατάσταση (κατάσταση 1), το s1 πρέπει να εντοπίσει κάποιον, τα s2, s3 και s4 θα είναι απενεργοποιημένα. Αυτό θα εξάγει L1 (ανάψτε το φως 1), L2 και L3 θα είναι σβηστό. Για να μεταβείτε στην κατάσταση 2 από την κατάσταση 1, τα s1, s3 και s4 πρέπει να είναι απενεργοποιημένα, το s2 πρέπει να είναι ενεργοποιημένο. Αυτό θα ενεργοποιήσει τα L1 και L2. Για να μεταβείτε στην επόμενη κατάσταση από αυτήν την κατάσταση, το s3 πρέπει να είναι ενεργοποιημένο και όλοι οι άλλοι αισθητήρες απενεργοποιημένοι. Αυτό θα ενεργοποιήσει το L2 και το L3, το L1 θα είναι απενεργοποιημένο. Για να μεταβείτε στην τελική κατάσταση, το S4 πρέπει να είναι ενεργοποιημένο και όλοι οι άλλοι αισθητήρες πρέπει να είναι απενεργοποιημένοι. Αυτό θα ενεργοποιήσει μόνο το L3, όλα τα άλλα φώτα θα είναι σβηστά. Εάν ένα άτομο εισέλθει στο δωμάτιο από την πλευρά s4 και βγει από το s1 όλα τα βήματα θα είναι με αντίστροφη σειρά.

Βήμα 3: Digitalηφιακό ρολόι BlackBox

Digitalηφιακό ρολόι BlackBox
Digitalηφιακό ρολόι BlackBox

Ο σκοπός του ψηφιακού ρολογιού που δημιουργήσαμε είναι να μην ενεργοποιούνται τα φώτα των αισθητήρων κατά τη διάρκεια της ημέρας και να λειτουργούν μόνο κατά τη διάρκεια του χρόνου που εισάγει ο χρήστης. Το ψηφιακό ρολόι λαμβάνει ώρα εισόδου και mins_in χρησιμοποιώντας διακόπτες στον πίνακα basys3, και για να μπορέσετε να το φορτώσετε στον πίνακα πρέπει να πατήσετε το (led_btn) για να το εμφανίσει επί του σκάφους. Προσθέσαμε επίσης το κουμπί επαναφοράς (rst_b), ώστε να μπορείτε να ανεβάσετε ξανά διαφορετική ώρα. Καθώς το basys3 έχει αρκετό χώρο για να εμφανίσει 3 διαφορετικές περιπτώσεις πληροφοριών, εφαρμόσαμε τα δευτερόλεπτα στο παρασκήνιο. Για το σκοπό αυτό, εφαρμόσαμε έναν διακόπτη δευτερολέπτων, οπότε θα αυξηθεί στο χρόνο μόνο όταν ο χρήστης αποφασίσει να ενεργοποιήσει την είσοδο (e_sec) στον πίνακα basys3. Η εργασία εσωτερικού πλαισίου στο ψηφιακό ρολόι αποτελείται από σαγιονάρες που αποθηκεύουν τον χρόνο που εισάγεται και μετρητές που αυξάνουν το χρόνο που εισάγει ο χρήστης μόνο όταν το (e_sec) είναι ενεργοποιημένο. Θα προσθέσουμε τον κώδικα για να δείτε πώς ακριβώς εφαρμόστηκε.

Βήμα 4: Στοιχεία μαζί και περιγραφή

Στοιχεία μαζί και περιγραφή
Στοιχεία μαζί και περιγραφή
Στοιχεία μαζί και περιγραφή
Στοιχεία μαζί και περιγραφή

Οι παραπάνω εικόνες δείχνουν πώς συνδέονται τα στοιχεία μεταξύ τους. Ξεκινά με τη λήψη πρώτων ωρών και λεπτών. Τα σήματα από αυτές τις εισόδους αποστέλλονται στον μετρητή ωρών και μετρητών min, όπου αθροίζει τα bits μαζί και το σήμα εξόδου μετρητών αποστέλλεται στο στοιχείο SSEG, όπου μετατρέπει τα bit σε συγκεκριμένους χαρακτήρες που θα εμφανίζονται στον πίνακα basys3. Ωστόσο, το σήμα από τους μετρητές δεν θα σταλεί στο στοιχείο SSEG μέχρι ο χρήστης να πατήσει την είσοδο (led_btn) αυτό έγινε επειδή δεν δημιουργήσαμε FSM για ψηφιακό ρολόι. Επίσης, ο χρόνος που εισάγεται δεν θα αυξηθεί μέχρι να ενεργοποιηθεί ο διακόπτης εισόδου (e_sec), διότι διαφορετικά ο μετρητής δευτερολέπτων θα λειτουργούσε πάντα στο παρασκήνιο. Μόλις ο μετρητής sec φτάσει στο '59', θα στείλει σήμα στα λεπτά, έτσι ώστε να αυξηθεί το λεπτό, το ίδιο γίνεται από λεπτά σε ώρες. Επίσης, υπάρχουν είσοδοι αισθητήρα κίνησης και τα σήματα αποστέλλονται στο στοιχείο FSM όπου καθορίζει σε ποια κατάσταση θα μεταβείτε ανάλογα με τον αισθητήρα. Η αρχική του κατάσταση είναι όταν όλοι οι αισθητήρες είναι απενεργοποιημένοι. Όλη η περιγραφή του FSM περιγράφηκε στο βήμα 2.

Βήμα 5: Κωδικός

Βήμα 6: Μελλοντικές τροποποιήσεις

Στο μέλλον, η προσθήκη πραγματικών αισθητήρων κίνησης με συνδυασμό LED στο έργο θα ήταν βελτίωση. Έτσι μπορούμε να αυξήσουμε την πολυπλοκότητα του έργου και να δούμε αν μπορούμε να δημιουργήσουμε έναν σύγχρονο αισθητήρα φωτός κίνησης. Αυτό θα δημιουργούσε περισσότερα προβλήματα καθώς θα πρέπει να σκεφτείτε την εγγύτητα του αντικειμένου επίσης, έτσι ώστε τα φώτα να ανάβουν ανάλογα. Επιπλέον, όλες οι άλλες λειτουργίες προηγουμένως. Επίσης, η βελτίωση της λειτουργικότητας του ψηφιακού ρολογιού χρησιμοποιώντας ένα FSM επίσης, αντί να περιμένετε την ενεργοποίηση δευτερολέπτων από τον χρήστη (e_sec). Το FSM για ένα ψηφιακό ρολόι θα ήταν παρόμοιο με αυτό του αισθητήρα κίνησης.

Βήμα 7: Συμπέρασμα

Συνολικά, αυτό το έργο μας βοήθησε να κατανοήσουμε καλύτερα τον τρόπο λειτουργίας των μηχανών πεπερασμένης κατάστασης. Επιπλέον, με το FSM πρέπει πάντα να έχετε κατά νου ότι πρέπει να γνωρίζετε σε ποια κατάσταση βρίσκεστε και πότε θέλετε να αλλάξετε σε άλλη κατάσταση. Με άλλα λόγια, πρέπει να γνωρίζετε πού βρίσκεστε σε μια δεδομένη στιγμή και πού θα είστε αργότερα αργότερα. Έχοντας υπόψη σας ποιοι παράγοντες θα σας επιτρέψουν (εισόδους) να αλλάξετε σε άλλη κατάσταση και τι πρόκειται να κάνει όταν φτάσει εκεί (έξοδος). Μάθαμε επίσης πώς να αποθηκεύουμε πληροφορίες μέσα στον πίνακα basys3 χρησιμοποιώντας σαγιονάρες που είναι καταχωρητές και πώς να αυξάνουμε το χρόνο χρησιμοποιώντας μετρητές που προσθέτουν δυαδικούς αριθμούς μαζί.

Βήμα 8: Citiation

Το two_sseg.vhdl = universal_sseg_dec.vhd

Ratner, James and Cheng Samuel.. Ratface Engineering.universal_sseg_dec.vhd

Συνιστάται: