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

(POV) Persistence of Vision Globe: 8 βήματα (με εικόνες)
(POV) Persistence of Vision Globe: 8 βήματα (με εικόνες)

Βίντεο: (POV) Persistence of Vision Globe: 8 βήματα (με εικόνες)

Βίντεο: (POV) Persistence of Vision Globe: 8 βήματα (με εικόνες)
Βίντεο: Αντιιική ρύθμιση ανοσίας 2024, Ιούλιος
Anonim
Image
Image
(POV) Persistence of Vision Globe
(POV) Persistence of Vision Globe
(POV) Persistence of Vision Globe
(POV) Persistence of Vision Globe

!Εκσυγχρονίζω! Έχω προσθέσει ένα πρόγραμμα excel που διευκολύνει πολύ την σχεδίαση και κωδικοποίηση νέων εικόνων

Μια απλή επιμονή της σφαίρας της όρασης. ΠΑΙΞΕ ΤΟ ΒΙΝΤΕΟ

Αυτό είναι ένα έργο που είχα στο μυαλό μου εδώ και αρκετό καιρό και ο διαγωνισμός "Make It Glow" ήταν το κίνητρο που χρειαζόμουν για να με εμπνεύσει να βγάλω μια παλιά οθόνη 5 LED POV και να την πάω στο επόμενο επίπεδο, χρησιμοποιώντας τη βάρδια μητρώα. Εάν σας αρέσει αυτό το διδακτικό, σκεφτείτε να το ψηφίσετε.

Μια γρήγορη εισαγωγή στο POV ή διατήρηση της όρασης: Οποιαδήποτε λυχνία τάσης εναλλασσόμενου ρεύματος στην πραγματικότητα αναβοσβήνει και σβήνει με συχνότητα 60Hz ή 60 φορές το δευτερόλεπτο. Ο εγκέφαλός μας το αντιλαμβάνεται ως σταθερό φως. Είναι αυτή η έννοια που θα εκμεταλλευτούμε, προκειμένου να δημιουργήσουμε μια σφαιρική εικόνα χρησιμοποιώντας μια μόνο σειρά LED. Για αυτό το έργο, αποφάσισα ότι 24 LED που ακολουθήθηκαν χρησιμοποιώντας τρεις καταχωρητές βάρδιας 8-bit θα παρέχουν την ελάχιστη ανάλυση που απαιτείται για τον κόσμο.

Βήμα 1: Υλικά

Ιδού τι χρησιμοποίησα.

  • (1) Arduino Uno (για πρωτότυπο)
  • (1) Bareduino (για μόνιμη πλακέτα προαιρετικά) VIRTUABOTIX LINK
  • (3) Μητρώα βάρδιας HC595N
  • (24) Μπλε LED
  • (24) Αντίσταση 220 ohm
  • (1) σανίδα ψωμιού
  • (1) υποδοχή μπαταρίας και μπαταρία
  • (1) Δακτύλιος διαμέτρου 10 "(αρκετά φαρδύ για να κρατάει LED και όσο πιο ελαφριά τόσο καλύτερα)
  • (1) κομμάτι από ράβδο με σπείρωμα (χρησιμοποίησα 5/16 ")
  • (1) Κινητήρας (χρησιμοποίησα ένα από ένα παλιό Dirt Devil)
  • (1) Ζεύγος κινητήρα
  • (1) 120V Αποσύνδεση (Διακόπτης φωτός)
  • (1) Ελεγκτής ταχύτητας ανεμιστήρα

Βήμα 2: Χτίζοντας το δαχτυλίδι

Χτίζοντας το Δαχτυλίδι
Χτίζοντας το Δαχτυλίδι
Χτίζοντας το Δαχτυλίδι
Χτίζοντας το Δαχτυλίδι

Χρησιμοποίησα ένα κομμάτι 1/8 "πάχους χ 1/2" πλάτους αλουμινίου επίπεδη ράβδο για το δαχτυλίδι μου και 5/16 "όλο το νήμα για τον κεντρικό ιστό, επειδή τα είχα τοποθετήσει γύρω, αλλά νομίζω ότι αυτό θα μπορούσε να γίνει σε ένα Τρισδιάστατος εκτυπωτής με βάσεις PCB και πολύ ελαφρύτερος. Δημιούργησα αυτό το δαχτυλίδι για προηγούμενη κατασκευή χρησιμοποιώντας 5 LEDs το καθένα από ένα ξεχωριστό DO του Arduino.

Δεν υπάρχει τίποτα το ιδιαίτερο στη διάμετρο του δακτυλίου. Το δικό μου είναι περίπου. 10 στρογγυλή, μόνο και μόνο επειδή η επίπεδη μπάρα που είχα ήταν 3 'για να ξεκινήσω. Το έκανα σε μια διάτμηση/φρένο/ρολό 3 σε 1 από το Harbor Freight, αλλά μπορείτε επίσης να σχηματίσετε το δαχτυλίδι γύρω από ένα δίσκο κομμένο από κόντρα πλακέ και Έχω καλά αποτελέσματα. Από την άποψη αυτή, δεν βλέπω κανέναν λόγο το δαχτυλίδι να μην είναι κατασκευασμένο από ξύλο. Απλώς προτιμώ την εργασία metl.

Διάτρησα τρύπες για τα LED περίπου 5/16 "στο κέντρο. Αυτό το διάστημα συμπλήρωσε όλα εκτός από 1" στο πάνω και κάτω μέρος στη μία πλευρά του δακτυλίου. Θα χρειαστεί να βιδώσετε ένα στήριγμα στο κέντρο του δακτυλίου για να δημιουργήσετε μια επιφάνεια τοποθέτησης για τις σανίδες ψωμιού.

Βήμα 3: Κάνοντας το κύκλωμα

Κάνοντας το κύκλωμα
Κάνοντας το κύκλωμα
Κάνοντας το κύκλωμα
Κάνοντας το κύκλωμα
Κάνοντας το κύκλωμα
Κάνοντας το κύκλωμα

Αυτή ήταν η πρώτη μου προσπάθεια χρήσης καταχωρητών βάρδιας, οπότε ξεκίνησα την έρευνα στον ιστότοπο του Arduino και βρήκα ένα εξαιρετικά χρήσιμο παράδειγμα, το οποίο τροποποίησα για να καλύψει τις ανάγκες μου. Μπορείτε να βρείτε το σεμινάριο στο Arduino ShiftOut Συμφωνώ με το "Δείγμα κώδικα 2.3 - Διπλοί καθορισμένοι πίνακες" ως βασικός κώδικας, περισσότερα για αυτό αργότερα.

Εάν ακολουθήσετε το σεμινάριο, θα μάθετε πώς να στέλνετε κομμάτια πληροφοριών, ένα προς ένα, σειριακά από το Arduino σας στους καταχωρητές βάρδιας. Αυτή η διάταξη σάς επιτρέπει να ελέγχετε και τα 24 LED σε αυτό το έργο με μόνο 3 ακίδες στο Arduino. Θα χρησιμοποιήσουμε τη δυνατότητα σειριακής εισόδου, παράλληλης εξόδου του 74HC595 για να φορτώσουμε 24 bit πληροφοριών ή 3 Bytes στους καταχωρητές βάρδιας και στη συνέχεια θα μεταφέρουμε τα δεδομένα παράλληλα με τα LED.

Δεδομένου ότι το πρώτο κομμάτι δεδομένων που φορτώνουμε θα καταλήξει στο τελευταίο σημείο εγγραφής, θα συνδέσουμε το LED1 ή το πιο νότιο LED στο QO του πρώτου Shift Register. Ακολουθήστε το σχηματικό από το παράδειγμα ShiftOut και επισυνάψτε το τρίτο μητρώο βάρδιας στο δεύτερο, με τον ίδιο τρόπο όπως το δεύτερο είναι προσαρτημένο στο πρώτο.

Σας συνιστώ να εκτελέσετε το δείγμα κώδικα στην πορεία, πρώτα με μόνο έναν καταχωρητή και μετά με δύο. Το δείγμα κώδικα ακολουθεί τα φώτα έτσι ώστε να είναι εύκολο να διαπιστωθεί εάν κάτι δεν έχει συνδεθεί. Wasμουν σε θέση να προσθέσω απλά ένα Byte3 στο "Δείγμα κώδικα 2.3 - Διπλοί καθορισμένοι πίνακες" και έναν τρίτο πίνακα τον οποίο ονόμασα Μπλε. Μπορείτε να το δείτε στον κωδικό ShiftOutArrayByte3R1 που έχει μεταφορτωθεί σε αυτό το βήμα.

Βήμα 4: Το βάζουμε όλα μαζί

Το βάζουμε όλα μαζί
Το βάζουμε όλα μαζί
Το βάζουμε όλα μαζί
Το βάζουμε όλα μαζί

Τώρα που ήμασταν σίγουροι ότι το κύκλωμα λειτουργεί πρέπει να τα τοποθετήσουμε όλα στο δαχτυλίδι. Προτείνω να τοποθετήσετε το Arduino/Bareduino σας στη μία πλευρά και τον πίνακα Shift Register απέναντι από το Arduino. Αυτό θα σας βοηθήσει να ξεπεράσετε το βάρος, αλλά πιθανότατα θα χρειαστεί να μετακινήσετε κάτι μέχρι να έχετε σταθερή περιστροφή. Χρησιμοποίησα την μπαταρία 9 Volt από την πλευρά που έπρεπε να προσθέσω βάρος. Χρησιμοποίησα φερμουάρ για να στερεώσω τις σανίδες και την μπαταρία στο κεντρικό κατάρτι. Με αυτόν τον τρόπο θα μπορούσα να κάνω προσαρμογές για να ισορροπήσω το δαχτυλίδι.

Τώρα για συγκόλληση όλων των LED. Δεδομένου ότι ελέγχουμε τη θετική τάση των LED, μπορούμε να συνδέσουμε όλα τα καλώδια της καθόδου μαζί με ένα μόνο μη μονωμένο καλώδιο και να το συνδέσουμε στη γείωσή μας. Στη συνέχεια, πρέπει να κολλήσουμε μια αντίσταση στο καλώδιο ανόδου κάθε LED και στη συνέχεια να συνδέσουμε ένα καλώδιο από την αντίσταση στον αντίστοιχο πείρο εξόδου καταχωρητή αλλαγής. Άφησα τη λειτουργία Blink All στον βρόχο εγκατάστασης ως ένας εύκολος τρόπος να διαπιστώσετε εάν έχετε σβήσει ένα LED.

Βήμα 5: Σχεδιάζοντας τον πλανήτη

Σχεδιάζοντας την υδρόγειο
Σχεδιάζοντας την υδρόγειο
Σχεδιάζοντας την υδρόγειο
Σχεδιάζοντας την υδρόγειο
Σχεδιάζοντας την υδρόγειο
Σχεδιάζοντας την υδρόγειο

!!Εκσυγχρονίζω!! Τώρα μπορείτε να σχεδιάσετε χρησιμοποιώντας το πρόγραμμα excel, το οποίο μετατρέπει την εικόνα σε δεκαεξαδική για εσάς. Ο κωδικός για τις κόκκινες, μπλε και πράσινες συστοιχίες σας μπορεί να αντιγραφεί και να επικολληθεί στο σκίτσο του Arduino. Απλώς συμπληρώστε ένα 1 όπου θέλετε το LED να είναι αναμμένο και το κελί θα αλλάξει μπλε αυτόματα! Το πρόγραμμα Excel μεταφορτώνεται σε αυτό το βήμα. Χάρη στο Rave Shades που διδάχτηκε για την ανάρτηση του Rave Shades Animator, το οποίο τροποποιήθηκε για αυτό το έργο

Εντάξει. Τώρα για να γίνω καλλιτεχνικός. Επέλεξα μια υδρόγειο σφαίρα επειδή πίστευα ότι θα ήταν ένας πολύ καλός τρόπος για να δημιουργήσετε μια σφαιρική οθόνη 360 μοιρών χρησιμοποιώντας POV, αλλά θα προσπαθήσω να δείξω σε αυτό και στο επόμενο βήμα πώς μπορείτε να δημιουργήσετε οποιαδήποτε εικόνα μπορείτε να σχεδιάσετε σε ανάλυση 24x70 κουκκίδων Το

Πρώτα βρήκα μια κατάλληλη εικόνα παγκόσμιου χάρτη για χρήση ως οδηγό. Στη συνέχεια βρήκα μια εφαρμογή στο Google Play που ονομάζεται "Mosaic Builder" που ήταν τέλεια στις ανάγκες μου. Όπως μπορείτε να δείτε στην τελευταία εικόνα σε αυτό το βήμα, μπόρεσα να δημιουργήσω μια έκδοση χαμηλής ανάλυσης της εικόνας του παγκόσμιου χάρτη στο πρότυπό μου 24x70. Το FYI the 24 προέρχεται από τα 3 Bytes δεδομένων και επομένως 24 LED με ύψος και το 70 προέρχεται από τη διαίρεση της περιφέρειας του δακτυλίου μου με 5/16 "για να ταιριάζει η οριζόντια απόσταση με την κάθετη απόσταση των LED. Πλάτος των 70 κουκίδων θα διαφέρει ανάλογα με το μέγεθος του δακτυλίου σας, αλλά δεν είναι κρίσιμο. Δεν είναι ιδιαίτερα κρίσιμο επειδή δεν χρησιμοποιούμε οποιονδήποτε τύπο αισθητήρα, όπως ένα υπέρυθρο LED για να αντιληφθούμε μια πλήρη περιστροφή και να επαναφέρουμε τον βρόχο. Αυτό είναι κάτι που μπορεί να κάνω εξετάστε στο μέλλον, αλλά προς το παρόν όσο έχουμε έλεγχο ταχύτητας στον κινητήρα, ο αισθητήρας είναι περιττός.

Μόλις έχετε ένα σχέδιο που σας ικανοποιεί, μπορείτε να μετατρέψετε την εικόνα σε δεκαεξαδικό κώδικα με Byte, στο επόμενο βήμα.

Βήμα 6: Ο κώδικας

Ο κώδικας
Ο κώδικας
Ο κώδικας
Ο κώδικας
Ο κώδικας
Ο κώδικας

!Εκσυγχρονίζω! Απλώς σχεδιάστε την εικόνα σας χρησιμοποιώντας 1s για να αναπαραστήσετε το ON, το οποίο θα χρωματίσει αυτόματα το pixel σε μπλε χρώμα. Όταν η εικόνα σας είναι έτοιμη, πατήστε το κουμπί "Αντιγραφή όλων των συστοιχιών" και επικολλήστε τους υπάρχοντες πίνακες στο σκίτσο του Arduino! Έχω ανεβάσει ένα νέο σκίτσο σε αυτό το βήμα

Όπως αναφέρθηκε προηγουμένως, χρησιμοποίησα το "Δείγμα κώδικα 2.3 - διπλοί καθορισμένοι πίνακες" από το παράδειγμα του Arduino ShiftOut ως βάση μου. Όπως θα παρατηρήσετε σε αυτόν τον κώδικα, ο συντάκτης σχολιάζει ότι δεν είναι σίγουρος αν το Arduino μπορεί να χειριστεί άμεσες δυαδικές τιμές, οπότε χρησιμοποιήθηκαν δεκαεξαδικές τιμές. Σημείωση: Ποτέ δεν άλλαξα τα δυαδικά σχόλια δίπλα στις τιμές Hex, άλλαξα μόνο τις τιμές Hex για να ταιριάζουν στην εικόνα του παγκόσμιου χάρτη μου.

Τώρα ήταν μόνο η δεύτερη φορά που είδα τον Hex και ήμουν αρκετά ανίδεος. Βρήκα τον συνημμένο πίνακα μετατροπής Εξαδικό-Δυαδικό, το οποίο βοήθησε πάρα πολύ. Αυτό το γράφημα μπορεί να χρησιμοποιηθεί για τη μετατροπή της δυαδικής τιμής κάθε στήλης ή (Byte) σε δεκαεξαδική τιμή. Για παράδειγμα, αν κοιτάξετε την τελευταία εικόνα σε αυτό το βήμα, μπορείτε να δείτε πώς η εικόνα του παγκόσμιου χάρτη χωρίστηκε στα τρίτα από πάνω προς τα κάτω και κάθε στήλη αποτελείται από 3 Bytes, όπου λευκό ή απενεργοποιημένο = 0 και μπλε ή ενεργοποιημένο = 1. στο κάτω μέρος κάθε στήλης, το Byte έχει μετατραπεί σε δεκαεξαδική τιμή που κυμαίνεται μεταξύ 00 & FF, η οποία ισοδυναμεί με εύρος δεκαδικών τιμών 0-255 ή δυαδικό εύρος 00000000 έως 11111111.

Ο συνημμένος κώδικας έχει φορτωμένη την εικόνα Globe, αλλά μπορεί να τροποποιηθεί για μια δική σας εικόνα.

Βήμα 7: Δοκιμή

Image
Image
Δοκιμές
Δοκιμές

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

PLAY LEAD GLOBE TEST

Βήμα 8: Τελειώνοντας

Τελειώνω!
Τελειώνω!
Τελειώνω!
Τελειώνω!
Τελειώνω!
Τελειώνω!

Συνδέσα τον διακόπτη φώτων ως αποσύνδεση του κινητήρα μου και στη συνέχεια ένωσα τον ελεγκτή ταχύτητας ανεμιστήρα μεταξύ της αποσύνδεσης και του κινητήρα. Αυτό μου δίνει έναν τρόπο να κλείσω γρήγορα την τροφοδοσία και να έχω αρκετά καλό έλεγχο της ταχύτητας του κινητήρα. Τώρα χρειαζόμουν έναν τρόπο σύνδεσης του κινητήρα με τον πλανήτη. Ο άξονας στον κινητήρα ήταν 17/64 "και το σπείρωμα που χρησιμοποίησα για τον πλανήτη είναι 5/16". Ένας ζεύκτης 5/16 "μπορεί να ήταν το τέχνασμα, αλλά δυστυχώς είχα μόνο ζεύξεις 3/8" που ήταν άχρηστοι. Αντ 'αυτού, βρήκα ένα κομμάτι από στρογγυλό απόθεμα αλουμινίου 1/2 "και έκοψα ένα κομμάτι μήκους 2" και άνοιξα μια τρύπα 17/64 "στο κέντρο. Αυτό το μέγεθος τρύπας ήταν κατάλληλο για να χτυπήσει ένα νήμα 5/16-18 στη μέση του επίσης τρύπησα και χτύπησα μια μικρή τρύπα στο πλάι για να βιδώσω σε μια σταθερή βίδα για τον άξονα του κινητήρα, έπειτα σπείρωσα την υδρόγειο και χρησιμοποίησα ένα παξιμάδι μαρμελάδας για να ασφαλίσω. Ο κινητήρας Dirt Devil περιστρέφεται αρκετά γρήγορα για να σκάσει την τρύπα συναρμολόγηση, οπότε έπρεπε να προσαρμόσω την ταχύτητα όσο το δυνατόν πιο κάτω. Σε αυτήν την ταχύτητα ο κινητήρας δεν θα αρχίσει πραγματικά να περιστρέφεται, κάνοντας τη λειτουργία της εξέδρας λίγο περίπλοκη. Αυτό που πρέπει να κάνω είναι να κρατήσω τον πλανήτη να μην περιστρέφεται και να σηκώνω αργά ταχύτητα μέχρι να ξεκινήσει ο κινητήρας, τότε μπορώ να μειώσω την ταχύτητα και να απελευθερώσω την υδρόγειο.

ΠΑΙΞΕ ΤΟ ΒΙΝΤΕΟ

Συνιστάται: