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

Φτιάξτε τη δική σας οθόνη POV: 3 βήματα
Φτιάξτε τη δική σας οθόνη POV: 3 βήματα

Βίντεο: Φτιάξτε τη δική σας οθόνη POV: 3 βήματα

Βίντεο: Φτιάξτε τη δική σας οθόνη POV: 3 βήματα
Βίντεο: Πως να φτιάξεις το δικό σου site | Wordpress Tutorial σε 23 απλά βήματα | Ελληνικά 2024, Ιούλιος
Anonim
Φτιάξτε τη δική σας οθόνη POV
Φτιάξτε τη δική σας οθόνη POV

Η αντίληψη του οράματος (POV) ή η επιμονή της όρασης (έχει αρκετές παραλλαγές) είναι ένα ενδιαφέρον φαινόμενο ανθρώπινης όρασης που συμβαίνει όταν η οπτική αντίληψη ενός αντικειμένου δεν σταματά παρά το γεγονός ότι το αντικείμενο αλλάζει θέση. Τα ανθρώπινα όντα βλέπουν μια εικόνα σε διαστήματα κλάσματα δευτερολέπτων. Αυτές οι εικόνες αποθηκεύονται στον εγκέφαλο για πολύ σύντομο χρονικό διάστημα (μια στιγμή). Ένα παράδειγμα αυτού του φαινομένου είναι όταν παρατηρείτε μια πηγή φωτισμού όπως LED ή λαμπτήρες, ενεργοποιημένη και περιστρεφόμενη. Το όραμά μας παραπλανιέται πιστεύοντας ότι το περιστρεφόμενο φως είναι στην πραγματικότητα ένας συνεχής κύκλος, όπως και ο συνεχής κύκλος που σχηματίζεται από μια περιστρεφόμενη προπέλα σε ένα επίπεδο. Το POV έχει χρησιμοποιηθεί για πολλά χρόνια, ξεκινώντας από το giphoscope, για να κάνει διαφορετικά είδη ψευδαισθήσεων και κινούμενων εικόνων στο όραμά μας. χρησιμοποιείται συχνά για την εμφάνιση μηνυμάτων και κινούμενων εικόνων σε οθόνες χρησιμοποιώντας LED, περιστρέφοντάς τα σε 2D ή 3D για διαφορετικά είδη μηνυμάτων. Ο στόχος αυτής της σημείωσης εφαρμογής είναι να σχεδιάσει και να δείξει πώς λειτουργεί το Perception of Vision γράφοντας τη λέξη "SILEGO" στην οθόνη που πρόκειται να δημιουργηθεί και να δώσει ιδέες που θα σας καθοδηγήσουν στη διαδικασία δημιουργίας πιο πολύπλοκων σχεδίων στο μέλλον. Για αυτό το έργο, χρησιμοποιήσαμε ένα Dialog GreenPAK ™ SLG46880, με το κιτ υποδοχής του που επιτρέπει σε αυτό το πρωτότυπο να συνδέεται εύκολα με όλα τα εξωτερικά εξαρτήματα χρησιμοποιώντας καλώδια. Η χρήση του μεγαλύτερου GreenPAK για το σχεδιασμό οθονών POV γενικής χρήσης είναι πολύ συμφέρουσα λόγω των ισχυρών στοιχείων του, όπως τα υποσυστήματα ASM, τα οποία θα σας επιτρέψουν να εκτυπώσετε οποιοδήποτε είδος μοτίβου στην οθόνη. Αυτή η εφαρμογή θα εμφανίσει ένα τελικό αποτέλεσμα χρησιμοποιώντας ένα SLG46880.

Παρακάτω περιγράψαμε τα βήματα που απαιτούνται για να κατανοήσουμε πώς έχει προγραμματιστεί το τσιπ GreenPAK για τη δημιουργία της οθόνης POV. Ωστόσο, εάν θέλετε απλώς να λάβετε το αποτέλεσμα προγραμματισμού, κατεβάστε το λογισμικό GreenPAK για να δείτε το ήδη ολοκληρωμένο GreenPAK Design File. Συνδέστε το GreenPAK Development Kit στον υπολογιστή σας και πατήστε το πρόγραμμα για να δημιουργήσετε το προσαρμοσμένο IC για την οθόνη POV.

Βήμα 1: Διαγράμματα

Σχήματα
Σχήματα

Αυτό το παράδειγμα εμφάνισης POV στοχεύει σε έναν τρισδιάστατο τύπο που φαίνεται στο σχήμα 1, ο οποίος έχει μια σειρά έντεκα LED (το καθένα με αντιστάσεις για τη ρύθμιση του ρεύματος) που συνδέονται απευθείας με διαφορετικούς ακροδέκτες GPO στο GreenPAK CMIC. Το κύκλωμα είναι πρωτότυπο και κολλημένο σε σανίδες PCB. Το τροφοδοτικό που χρησιμοποιείται για την Οθόνη είναι μια αλκαλική μπαταρία 9 V 10 A L1022, συνδεδεμένη σε κύκλωμα ρυθμιστή τάσης χρησιμοποιώντας LM7805V που εξάγει 5 V. Εκτός από την περιστροφή της οθόνης, απαιτείται ένας κινητήρας DC με αρκετή δύναμη για να μετακινήσει όλα τα κύκλωμα ελέγχου προσαρτημένο στην προσαρμοσμένη βάση. Σε αυτήν την περίπτωση χρησιμοποιήθηκε ένας κινητήρας 12 V, συνδεδεμένος με έναν κύριο διακόπτη, και μια ρυθμιζόμενη τροφοδοσία εκτός ράφι, η οποία εξάγει διαφορετικά επίπεδα τάσης μέσω ενός περιστροφικού διακόπτη, επιτρέποντας στον κινητήρα να περιστρέφεται με αρκετές ταχύτητες.

Βήμα 2: Σχεδιασμός GreenPAK

Σχεδιασμός GreenPAK
Σχεδιασμός GreenPAK
Σχεδιασμός GreenPAK
Σχεδιασμός GreenPAK
Σχεδιασμός GreenPAK
Σχεδιασμός GreenPAK
Σχεδιασμός GreenPAK
Σχεδιασμός GreenPAK

Κατά το σχεδιασμό διαφορετικών ειδών μηνυμάτων και κινούμενων εικόνων για μια οθόνη POV χρησιμοποιώντας το GreenPAK, πρέπει να γνωρίζουμε τόσο τα εργαλεία όσο και τους περιορισμούς του τσιπ. Με αυτόν τον τρόπο μπορούμε να δημιουργήσουμε έναν ικανό σχεδιασμό, χρησιμοποιώντας τα λιγότερα ηλεκτρονικά εξαρτήματα για να επιτύχουμε την οθόνη POV. Αυτός ο σχεδιασμός χρησιμοποιεί τα νέα πλεονεκτήματα που προσφέρει το SLG46880 CMIC, με έμφαση στο συστατικό Υποσύστημα Asynchronous State Machine. Το εργαλείο υποσυστήματος SLG46880 ASM μπορεί να είναι πιο πλεονεκτικό από τα προηγούμενα εργαλεία GreenPAK ASM λόγω των νέων χαρακτηριστικών του, που επιτρέπουν πιο περίπλοκα σχέδια κρατικών μηχανών. Μερικά από τα σχετικά εσωτερικά στοιχεία των υποσυστημάτων ASM που χρησιμοποιούνται είναι:

● 12-κράτη ASM Macrocell

● Macrocell δυναμικής μνήμης (DM)

● F (1) Υπολογισμός Macrocell

● Ανεξάρτητα συστατικά του κράτους

Όσο πιο πολλαπλές μηχανές macrocells το τσιπ επιτρέπει τη δημιουργία και τη διαμόρφωση, τόσο πιο πολλές είναι οι δυνατότητες σχεδιασμού. Κάθε μία από τις δώδεκα καταστάσεις χρησιμοποιήθηκε για να γράψει διαφορετικά κλάσματα της λέξης που θα εμφανιστεί, ενεργοποιώντας/απενεργοποιώντας ξεχωριστούς συνδυασμούς των LED, μερικοί από τους οποίους επαναλήφθηκαν δύο ή περισσότερες φορές, και σε ορισμένες περιπτώσεις ο χρόνος επαναλαμβανόμενων καταστάσεων αλλάζει, επειδή το ίδιο μοτίβο θα μπορούσε να χρησιμοποιηθεί για διαφορετικά γράμματα σε διαφορετικούς χρόνους. Τα κράτη διαρθρώνονται στον Πίνακα 1.

Ο Πίνακας 1 δείχνει πώς κάθε μια από τις υπάρχουσες καταστάσεις στο σχέδιο σχετίζεται με τα γράμματα στη λέξη "SILEGO". Αυτό συσχετίζεται με τη διαμόρφωση LED που φαίνεται στο σχήμα 2.

Όπως μπορείτε να παρατηρήσετε, όλες οι καταστάσεις που εκτελούνται μαζί σε διαφορετικό χρόνο επιτυγχάνουν την πλήρη κατασκευή της λέξης, το Σχήμα 3 δείχνει πώς συνδέονται/σχετίζονται οι καταστάσεις. Όλες οι μεταβάσεις κατάστασης είναι της τάξης των χιλιοστών του δευτερολέπτου και κάθε μία από τις στήλες στο διάγραμμα του σχήματος 2 αντιπροσωπεύει ένα χιλιοστό του δευτερολέπτου (1 ms). Ορισμένες από τις καταστάσεις διαρκούν 3 ms, 4 ms και άλλες, αρκετά μεγάλο με την ελάχιστη ταχύτητα του κινητήρα που χρησιμοποιείται για την επίδειξη βίντεο στις 460 RPM περίπου.

Είναι σημαντικό να λάβετε υπόψη και να μετρήσετε την ταχύτητα του κινητήρα για να γνωρίζετε και να υπολογίζετε το χρονοδιάγραμμα του σχεδιασμού γενικής χρήσης. Με αυτόν τον τρόπο το μήνυμα μπορεί να συγχρονιστεί με την ταχύτητα του κινητήρα, οπότε είναι ορατό στο ανθρώπινο μάτι. Μια άλλη σκέψη για να γίνει η μετάβαση των καταστάσεων λιγότερο ανεπαίσθητη και σαφέστερη στο όραμά μας, είναι να αυξήσουμε την ταχύτητα του κινητήρα σε περισσότερες από 1000 σ.α.λ. Μπορεί να αναρωτιέστε, πώς θα συγχρονίσετε την ταχύτητα του κινητήρα με την ταχύτητα του μηνύματος ή της κίνησης; Αυτό επιτυγχάνεται με μερικούς απλούς τύπους. Εάν έχετε ταχύτητα κινητήρα 1000 σ.α.λ., για να γνωρίζετε πόσο διαρκεί ο κινητήρας DC ανά περιστροφή σε δευτερόλεπτα, τότε:

Συχνότητα = 1000 RPM / 60 = 16,67 Hz Περίοδος = 1 / 16,67 Hz = 59,99 ms

Γνωρίζοντας την περίοδο, γνωρίζετε πόσο χρόνο χρειάζεται ο κινητήρας σε μια στροφή. Εάν θέλετε να εκτυπώσετε ένα μήνυμα όπως το "Hello World", μόλις γνωρίζετε την περίοδο κάθε στροφής, είναι απλώς το πόσο μεγάλο θέλετε να είναι το μήνυμα στην οθόνη. Για να εκτυπώσετε το επιθυμητό μήνυμα στο επιθυμητό μέγεθος, ακολουθήστε αυτόν τον βασικό κανόνα:

Εάν, για παράδειγμα, επιθυμείτε το μήνυμα να καλύπτει το 40 % του χώρου της οθόνης, τότε:

Μέγεθος μηνύματος = (Περίοδος * 40 %) / 100 % = (59,99 ms * 40 %) / 100 % = 24 ms

Αυτό σημαίνει ότι το μήνυμα θα εμφανίζεται σε 24 ms για κάθε στροφή, οπότε το κενό διάστημα ή το υπόλοιπο διάστημα σε μια στροφή (αν δεν εμφανίζετε κάτι μετά το μήνυμα), θα πρέπει να είναι:

Κενός χώρος = Περίοδος - Μέγεθος μηνύματος = 59,99 ms - 24 ms = 35,99 ms

Τέλος, εάν πρέπει να εμφανίσετε το μήνυμα σε αυτό το 40% της περιόδου, πρέπει να γνωρίζετε πόσες καταστάσεις και μεταβάσεις θα χρειαστεί το μήνυμα για να γράψει το αναμενόμενο μήνυμα, για παράδειγμα εάν το μήνυμα έχει είκοσι (20) μεταβάσεις, τότε:

Περίοδος μεμονωμένης κατάστασης = Μέγεθος μηνύματος / 20 = 24 ms / 20 = 1,2 ms.

Κάθε κατάσταση θα πρέπει να διαρκεί 1,2 ms για να εμφανιστεί σωστά το μήνυμα. Φυσικά, θα παρατηρήσατε ότι σχεδόν τα πρώτα σχέδια δεν είναι τέλεια, οπότε μπορεί να αλλάζετε κάποιες παραμέτρους κατά τη διάρκεια των φυσικών δοκιμών για να βελτιώσετε το σχέδιο. Χρησιμοποιήσαμε Macrocells δυναμικής μνήμης (DM) για να διευκολύνουμε τις μεταβάσεις κατάστασης. Δύο από τα τέσσερα μπλοκ DM έχουν συνδέσεις μήτρας έτσι ώστε να μπορούν να αλληλεπιδρούν με μπλοκ εκτός του υποσυστήματος ASM. Κάθε DM Macrocell μπορεί να έχει έως 6 διαφορετικές διαμορφώσεις που μπορούν να χρησιμοποιηθούν σε διαφορετικές καταστάσεις. Τα μπλοκ DM χρησιμοποιούνται σε αυτό το σχέδιο για να ενεργοποιήσουν τη μετάβαση του ASM από τη μία κατάσταση στην άλλη. Για παράδειγμα, η κατάσταση Silego [3] επαναλαμβάνεται δύο φορές κατά τις μεταβάσεις. πρέπει να γράψει την αρχή και το τέλος του κεφαλαίου γράμματος "I" που έχει το ίδιο μοτίβο, αλλά πρέπει πρώτα να πάει στο Silego [4] για να γράψει το μοτίβο του μέσου του κεφαλαίου "I" και στη συνέχεια όταν το Silego [3] εκτελείται για δεύτερη φορά, πρέπει να μεταβεί στην κατάσταση Χωρίς μήνυμα, συνεχίζοντας τις υπόλοιπες μεταβάσεις. Πώς είναι δυνατόν να αποτρέψουμε το Silego [3] να πέσει σε έναν άπειρο βρόχο με το Silego [4]; Είναι απλό, υπάρχουν ορισμένα LUT που έχουν διαμορφωθεί ως SR Flip Flops που λένε στο Silego [3] να μην επιλέγει το Silego [4] ξανά και ξανά, αλλά να επιλέγει χωρίς κατάσταση μηνύματος τη δεύτερη φορά. Η χρήση των SR Flip Flops για την αποτροπή άπειρων βρόχων όταν επαναλαμβάνεται οποιαδήποτε από τις καταστάσεις είναι ένας πολύ καλός τρόπος για να λύσετε αυτό το πρόβλημα και απαιτεί μόνο ένα LUT 3-bit που έχει διαμορφωθεί όπως φαίνεται στο Σχήμα 4 και στο Σχήμα 5. Αυτή η διαδικασία συμβαίνει ταυτόχρονα με η έξοδος ASM κάνει το Silego [3] να μεταβεί στο Silego [4], οπότε την επόμενη φορά που το μηχάνημα κατάστασης θα εκτελέσει το Silego [3], θα ειδοποιηθεί να επιλέξει την κατάσταση Χωρίς μήνυμα για να συνεχίσει τη διαδικασία.

Ένα άλλο μπλοκ ASM που ήταν χρήσιμο για αυτό το έργο είναι το υπολογιστικό Macrocell F (1). Το F (1) μπορεί να εκτελέσει μια λίστα με συγκεκριμένες εντολές για ανάγνωση, αποθήκευση, επεξεργασία και έξοδο των επιθυμητών δεδομένων. Είναι σε θέση να χειριστεί 1 bit τη φορά. Σε αυτό το έργο το μπλοκ F (1) χρησιμοποιήθηκε για την ανάγνωση, καθυστέρηση και έξοδο bit για τον έλεγχο ορισμένων LUT και ενεργοποίηση καταστάσεων (όπως στο Silego [1] για ενεργοποίηση του Silego [2]).

Ο πίνακας στο σχήμα 1 εξηγεί πώς κάθε LED απευθύνεται στις καρφίτσες GPO του theGreenPAK. οι σχετικές φυσικές ακίδες απευθύνονται από τη μνήμη RAM εξόδου ASM στη μήτρα, όπως φαίνεται στον πίνακα 2.

Όπως μπορείτε να δείτε στον Πίνακα 2, κάθε ακίδα του τσιπ απευθυνόταν σε ξεχωριστές εξόδους ASM. Το ASMOUTPUT 1 έχει οκτώ (8) εξόδους που όλες χρησιμοποιούνται απευθείας συνδεδεμένες με εξωτερικούς GPO εκτός από το OUT 4. Το ASM OUTPUT 0 έχει τέσσερις (4) εξόδους όπου το OUT 0 και το OUT 1 συνδέονται απευθείας με το PIN 4 και το PIN 16 αντίστοιχα. Το OUT 2 χρησιμοποιείται για την επαναφορά των LUT5 και LUT6 στις καταστάσεις Silego [5] και Silego [9] και τέλος το OUT 3 χρησιμοποιείται για ρύθμιση του LUT6 στο Silego [4] και Silego [7]. Το ASM nRESET δεν έχει αλλάξει σε αυτό το σχέδιο, οπότε απλώς αναγκάζεται να γίνει HIGH συνδέεται με VDD. Επάνω και Κάτω LED προστέθηκαν σε αυτό το έργο για να δημιουργήσουν επιπλέον κίνηση ενώ εμφανίζεται το "SILEGO". Αυτό το κινούμενο σχέδιο είναι για μερικές γραμμές που περιστρέφονται με την πάροδο του χρόνου με την κίνηση του κινητήρα. Αυτές οι γραμμές είναι λευκές λυχνίες LED, ενώ αυτές που χρησιμοποιούνται για τη γραφή των γραμμάτων είναι κόκκινες. Για να επιτύχουμε αυτό το animation, χρησιμοποιήσαμε το PGEN και το CNT0 του GreenPAK. Το PGEN είναι μια γεννήτρια μοτίβου που θα εξάγει το επόμενο bit στη συστοιχία του σε κάθε άκρη ρολογιού. Χωρίσαμε την περίοδο στροφής του κινητήρα σε 16 τμήματα και το αποτέλεσμα ορίστηκε στην περίοδο εξόδου του CNT0. Το μοτίβο που έχει προγραμματιστεί στο PGEN φαίνεται στο σχήμα 6.

Βήμα 3: Αποτελέσματα

Αποτελέσματα
Αποτελέσματα

Για να δοκιμάσουμε το σχέδιο, συνδέσαμε την υποδοχή του SLG46880 στο PCB με ένα καλώδιο κορδέλας. Δύο εξωτερικές πλακέτες ήταν συνδεδεμένες στο κύκλωμα, μία από τις οποίες περιείχε τον ρυθμιστή τάσης και η άλλη που περιείχε τη συστοιχία LED. Για να ξεκινήσουμε την εμφάνιση του μηνύματος για επίδειξη, ενεργοποιήσαμε το λογικό κύκλωμα που ελέγχεται από το GreenPAK και στη συνέχεια ενεργοποιήσαμε τον κινητήρα DC. Η ταχύτητα μπορεί να χρειαστεί να προσαρμοστεί για σωστό συγχρονισμό. Το τελικό αποτέλεσμα φαίνεται στο σχήμα 7. Υπάρχει επίσης ένα σχετικό βίντεο με αυτήν τη σημείωση εφαρμογής.

Συμπέρασμα Η αντίληψη της οθόνης όρασης που παρουσιάστηκε σε αυτό το έργο σχεδιάστηκε χρησιμοποιώντας τον κύριο ελεγκτή Dialog GreenPAK SLG46880. Αποδείξαμε ότι ο σχεδιασμός λειτουργεί γράφοντας τη λέξη "SILEGO" χρησιμοποιώντας LED. Μερικές βελτιώσεις που θα μπορούσαν να γίνουν στον σχεδιασμό περιλαμβάνουν:

● Χρήση πολλαπλών GreenPAK για αύξηση του αριθμού των δυνατοτήτων καταστάσεων για εκτύπωση μεγαλύτερου μηνύματος ή κινούμενης εικόνας.

● Προσθέστε περισσότερα LED στη συστοιχία. Μπορεί να είναι χρήσιμο να χρησιμοποιείτε LED επιφανειακής τοποθέτησης και όχι LED για οπές για να μειώσετε τη μάζα του περιστρεφόμενου βραχίονα.

Η συμπερίληψη ενός μικροελεγκτή θα μπορούσε να σας επιτρέψει να αλλάξετε το μήνυμα που εμφανίζεται χρησιμοποιώντας εντολές I2C για να διαμορφώσετε εκ νέου το σχέδιο GreenPAK. Αυτό θα μπορούσε να χρησιμοποιηθεί για τη δημιουργία μιας ψηφιακής οθόνης ρολογιού που ενημερώνει τα ψηφία για να εμφανίζει την ώρα με ακρίβεια

Συνιστάται: