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

42 RGB LED Pixel Art Painting: 5 Βήματα
42 RGB LED Pixel Art Painting: 5 Βήματα

Βίντεο: 42 RGB LED Pixel Art Painting: 5 Βήματα

Βίντεο: 42 RGB LED Pixel Art Painting: 5 Βήματα
Βίντεο: Review: Quiz 1 2024, Νοέμβριος
Anonim
42 RGB LED Pixel Art Painting
42 RGB LED Pixel Art Painting

Γεια, Έτσι, για μια σχολική εργασία που ονομάζεται "Αν αυτό τότε" έπρεπε να κάνω ένα διαδραστικό // κάτι // χρησιμοποιώντας ένα Arduino Uno starterkit (και ό, τι άλλο κάποιος ήταν διατεθειμένος να αγοράσει μόνος του). Βλέποντας ότι κάνω μια μελέτη Τέχνης/Τεχνολογίας, ήθελα να κάνω έναν συνδυασμό και των δύο (τέχνη & τεχνολογία). Σκέφτηκα ότι θα έκανα έναν πίνακα αποτελούμενο από όσα περισσότερα RGB LEDS θα μπορούσα να χωρέσω στο Arduino μου και θα άφηνα τον παίκτη/καλλιτέχνη να περπατήσει χειροκίνητα σε αυτά τα LED RGB και να επιλέξει ένα χρώμα. Με αυτόν τον τρόπο μπορούν να κάνουν τη δική τους "τέχνη pixel"!

Βήμα 1: Μερικές πληροφορίες και θεωρία ιστορικού

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

Λοιπόν, πρώτα πράγματα πρώτα. Θέλουμε όσο το δυνατόν περισσότερα LED/RGB LED στο Arduino μας. Όσο περισσότερες λυχνίες LED (RGB) συνδέετε, τόσο πιο λεπτομερώς μπορείτε να κάνετε τη «ζωγραφική» σας (τα 10x10 pixel σας δίνουν περισσότερο χώρο wiggle από 2x2 δεξιά). Υποθέτω ότι υπάρχουν περισσότεροι τρόποι για να αποκτήσετε πραγματικά πολλά LED (RGB) στις 13 ψηφιακές σας καρφίτσες (πράγματα όπως ένα μηχάνημα βάρδιας) αλλά χρησιμοποίησα μια μέθοδο που ονομάζεται "Charlieplexing". Θα συνδέσω ένα διδακτικό που με βοήθησε να καταλάβω αυτήν την έννοια (σοβαρά το εξηγούν πολύ καλά), αλλά θα σας δώσω επίσης τη γρήγορη έκδοση εδώ. Το Charlieplexing έχει ως εξής:

Βάζετε ένα LED μεταξύ του πείρου 1 και του πείρου 2, εάν ορίσετε τον πείρο 1 σε Υ HIGHΗΛΟ και 2 σε ΧΑΜΗΛΟ, ο κύκλος θα λειτουργεί ομαλά και το LED θα ανάψει. Βασικά. Λοιπόν, τώρα συνδέετε ένα άλλο LED, αλλά περιστρέφεται. Το μακρύ άκρο είναι στο 2 και το κοντό άκρο είναι στο pin1. Τώρα αν γυρίσετε τον πείρο 2 σε Υ HIGHΗΛΟ και τον πείρο 1 στο ΧΑΜΗΛΟ θα ανάψει το 2ο LED σας και το πρώτο σας θα παραμείνει σβηστό γιατί η ροή θα είναι λάθος. Τώρα μπορείτε να συνδέσετε 2 LED σε 2 ακίδες. Εάν λάβουμε την 3η ακίδα στο μίγμα, μπορείτε να κάνετε αυτό το κόλπο μεταξύ 1 και 2, 1 και 3 και 2 και 3. Δηλαδή 6 LED. Αυτό συνεχίζεται, 5 ακίδες θα μας χορηγήσουν (2 + 4 + 6 + 8) 20 LED. Η χρήση και των 13 ψηφιακών ακίδων μας δίνει 156 επιλογές. Αυτά είναι 156 LEDs που μπορείτε να ενεργοποιήσετε και να απενεργοποιήσετε ξεχωριστά.

(εντάξει, για όσους από εσάς αναρωτιέστε. Ναι, όταν έχετε πολλά, είναι αδύνατο να τα έχετε ενεργοποιημένα ταυτόχρονα, αλλά μην ανησυχείτε, το arduino μπορεί να αλλάξει ανάμεσα στα LED σας τόσο γρήγορα που το ανθρώπινο μάτι δεν βλέπει το τρεμόπαιγμα)

(Καλύτερη και λεπτομερέστερη εξήγηση, με εικόνες)

Εντάξει, με πολλή προσπάθεια όταν πρόκειται για καλωδίωση (θα το αγγίξω αργότερα), μπορούμε να φτιάξουμε ένα πλέγμα LED, αλλά ας το παραδεχτούμε. Τα LED είναι τρομερά βαρετά. Πώς μπορεί κανείς να φτιάξει μια εικόνα μόνο με 2 χρώματα; Υποθέτω ότι θα μπορούσατε, αλλά είναι πιο δροσερό αν έχετε περισσότερα χρώματα για να διαλέξετε από δεξιά; σωστά. Έτσι, στα LED RGB στρέφουμε!

Τα LED RGB είναι βασικά 3 LED σε 1. Μοιράζονται μια κοινή κάθοδο ή άνοδο (όπου η ισχύς εισέρχεται ή σβήνει) και τα άλλα 3 "πόδια" είναι το κόκκινο πράσινο και το μπλε LED σας. Έχοντας αυτό κατά νου, ναι μπορούμε να τα κάνουμε και αυτά! Κάθε LED RGB μετρά για 3 κανονικά LED. Με αυτόν τον τρόπο μπορείτε ακόμα να τα ενεργοποιήσετε και να τα απενεργοποιήσετε ξεχωριστά και να δημιουργήσετε δροσερά χρώματα για να διαλέξετε! Το μόνο μειονέκτημα είναι ότι αυτό κάνει τα πράγματα πολύ πιο δύσκολα καθώς πρέπει να χαρτογραφήσετε/σχεδιάσετε και να συνδέσετε 3 φορές περισσότερα LED από ό, τι έπρεπε αρχικά.

Πήγα για 42 LED RGB σε 13 ακίδες. Αυτό είναι 126 κανονικά LED ….. αρκετά τον αριθμό. Επιτρέψτε μου να σας πω πώς το έκανα.

Βήμα 2: Προγραμματισμός

Σχεδίαση
Σχεδίαση

Ναι, αυτό το βήμα είναι αρκετά εύκολο μόλις καταλάβετε τη θεωρία πίσω από αυτό που κάνετε. Βασικά γράφετε όλα τα LED σας και σχεδιάζετε ποια καρφίτσα πρέπει να πάει σε ποιο "πόδι" από ποια LED RGB, ώστε να καλύψετε όλες τις επιλογές σας. Επισυνάπτω μια εικόνα του σχεδιασμού μου, μη διστάσετε να το χρησιμοποιήσετε κι εγώ (δεν χρησιμοποίησα όλες τις διαθέσιμες επιλογές βλέποντας ότι "χρειαζόμουν" μόνο 126 συνδέσεις από τις 156. Το δομήσα με αυτόν τον τρόπο επειδή θα έκανε την κατασκευή λίγο πιο εφικτή).

Είναι σημαντικό να το πάρετε σε χαρτί, θα το χρειαστείτε αργότερα για κωδικοποίηση. Εάν δεν το γράψετε και χάσετε 1 σύνδεση, ο κωδικός δεν θα λειτουργήσει για αυτό το LED.

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

Εντάξει, αν έχετε ήδη μια ιδέα για το πώς να συνδέσετε 2 LED RGB όπως αυτό σε 2 ακίδες: Προχωρήστε! Είναι ωραίο να ελέγχετε τον κωδικό, αλλά σας διαβεβαιώνω ότι λειτουργεί! Προσπάθησα να κάνω όσο πιο "καθαρή" κωδικοποίηση μπορούσα (Θα μπορούσατε επίσης να το διαχειριστείτε με διακόπτες στους διακόπτες, αλλά αυτό είναι απλώς μια φοβερή ταλαιπωρία που σας έχει γράψει όλο τον κωδικό σας x42, με έκανε να συνειδητοποιήσω ότι πιθανώς υπήρχε μια καλύτερη τρόπος).

Ο στόχος του κώδικα είναι ο ακόλουθος. Ξεκινάτε από το LED1. Το κουμπί 1 σάς επιτρέπει να μεταβείτε στο επόμενο LED, αλλά το προηγούμενο LED παραμένει αναμμένο. Το κουμπί 2 σάς επιτρέπει να επιστρέψετε στην προηγούμενη λυχνία LED, το κουμπί 3 σας επιτρέπει να αλλάξετε το χρώμα. Η τρέχουσα επιλεγμένη λυχνία LED αναβοσβήνει για να δείτε ποια LED είναι "επιλεγμένη".

Για να το πετύχω αυτό δούλεψα με πίνακες. Δημιούργησα μια τάξη LED που χρησιμοποιεί τις πληροφορίες που γράψατε κατά τη διάρκεια του σταδίου σχεδιασμού για να δείτε ποια καρφίτσα χρειάζεται για να δημιουργήσει ένα συγκεκριμένο χρώμα. Τα έβαλα όλα σε έναν πίνακα και άφησα τον βρόχο arduino να περάσει από το LEDarray για να καθορίσει ποια είναι ενεργοποιημένη και μέσω της χρωματικής σειράς για να καθορίσει ποιο χρώμα είναι επιλεγμένο (το χρώμα καθορίζεται από τον διακόπτη που επιτρέπει την επιλογή 7 χρωμάτων). Το αναβοσβήνει ρυθμίζεται από μια δήλωση if.

Ο κωδικός είναι συνημμένος, μπορείτε να κατεβάσετε και να χρησιμοποιήσετε. Η ενότητα σχολίων είναι ανοιχτή για ερωτήσεις εάν υπάρχει κάτι που δεν καταλαβαίνετε, αλλά μπορείτε βασικά να αντιγράψετε επικόλληση!

Βήμα 4: Το πιο δύσκολο μέρος

Το πιο δύσκολο μέρος
Το πιο δύσκολο μέρος
Το πιο δύσκολο μέρος
Το πιο δύσκολο μέρος

Τώρα έχετε μια ιδέα, έναν κωδικό εργασίας….όχι το πραγματικό προϊόν. Αυτό είναι μακράν το πιο φρικτό μέρος αυτού του έργου και θα σας συμβούλευα να μην το πάρετε επιπόλαια. Θυμάστε όλα τα διαφορετικά πόδια που όλα τελειώνουν στην ίδια καρφίτσα; καλά ναι … πρέπει να φτιάξετε το πλέγμα σας με LED, στη συνέχεια να συνδέσετε κάθε πόδι με κάθε άλλο πόδι που πρέπει να πάει στον ίδιο πείρο και στη συνέχεια να τα συνδέσετε με τον εν λόγω πείρο. Αυτό είναι μακράν το πιο δύσκολο κομμάτι και το δικό μου δεν βγήκε ούτε 100% τέλειο, αν είσαι καλός στη συγκόλληση μπορεί να έχεις την ευκαιρία όμως.

Έβαλα μια σειρά LED RGB κάθε φορά και συνέδεσα ένα χάλκινο σύρμα σε κάθε πόδι (προτείνω χάλκινο σύρμα με περίβλημα/τύλιγμα. Το δικό μου ήταν πολύ παχύ και μου προκάλεσε ΠΟΛΥ θλίψη). Προσέξτε να μην αγγίζουν δύο πόδια ή σύρματα το ένα το άλλο! τότε "απλά" συνδέστε όλα τα καλώδια που πρέπει να πάνε στον ίδιο πείρο και στη συνέχεια συνδέστε τα σε μια αντίσταση και συνδέστε το στον εν λόγω πείρο. Είμαι βέβαιος ότι υπάρχει ένας "ασφαλέστερος" τρόπος για να γίνει αυτό, αλλά είμαι βέβαιος ότι κάποιος θα πνιγόταν στο σύρμα ενώ προσπαθούσε και ειλικρινά….το ψωμί σας είναι τόσο μεγάλο!

(πρόσθεσα ένα σχέδιο που μπορεί να απλοποιήσει αυτό το βήμα. Σας λέει ποιο πόδι πρέπει να πάει σε ποια καρφίτσα, για να ακολουθήσει ακριβώς τον κώδικά μου.)

Μου πήρε 4 ολόκληρες ημέρες εργασίας, αλλά τώρα κάθε LED (μείον 3-4 που έκανα) μπορεί να ανάψει ξεχωριστά!

τότε δεν έχετε παρά να συνδέσετε μερικά κουμπιά και presto! Ο δικός σας πίνακας τέχνης Pixel!

Αυτός ο τύπος έκανε επίσης ένα παράδειγμα καλωδίωσης, είναι πραγματικά χρήσιμο

Βήμα 5: Γλωττίδα. Απολύτως Λόγος

Εάν είστε αρχάριος (όπως εγώ) και καταφέρατε να κάνετε κάτι παρόμοιο με αυτή τη φωλιά αρουραίων από καλώδια και ανάβει. χαιρεκακία. Πολύ καλά έκανες!

Εάν έχετε οποιεσδήποτε ερωτήσεις/σχόλια, αφήστε τα παρακάτω, θα προσπαθήσω να βοηθήσω αν μπορώ!

Συνιστάται: