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

Καλύτερες λυχνίες LED RGB για οποιοδήποτε έργο (WS2812, Aka NeoPixels): 6 βήματα (με εικόνες)
Καλύτερες λυχνίες LED RGB για οποιοδήποτε έργο (WS2812, Aka NeoPixels): 6 βήματα (με εικόνες)

Βίντεο: Καλύτερες λυχνίες LED RGB για οποιοδήποτε έργο (WS2812, Aka NeoPixels): 6 βήματα (με εικόνες)

Βίντεο: Καλύτερες λυχνίες LED RGB για οποιοδήποτε έργο (WS2812, Aka NeoPixels): 6 βήματα (με εικόνες)
Βίντεο: ESP32 Tutorial 47 - WS2812 CheerLights using MQTT over Internet | SunFounder's ESP32 IoT Learnig kit 2024, Ιούλιος
Anonim
Τα καλύτερα LED RGB για οποιοδήποτε έργο (WS2812, Aka NeoPixels)
Τα καλύτερα LED RGB για οποιοδήποτε έργο (WS2812, Aka NeoPixels)
Τα καλύτερα LED RGB για οποιοδήποτε έργο (WS2812, Aka NeoPixels)
Τα καλύτερα LED RGB για οποιοδήποτε έργο (WS2812, Aka NeoPixels)
Τα καλύτερα LED RGB για οποιοδήποτε έργο (WS2812, Aka NeoPixels)
Τα καλύτερα LED RGB για οποιοδήποτε έργο (WS2812, Aka NeoPixels)

Όταν δουλεύουμε με LED, συχνά μας αρέσει να ελέγχουμε την κατάσταση (ενεργοποίηση/απενεργοποίηση), τη φωτεινότητα και το χρώμα τους. Υπάρχουν πολλοί, πολλοί διαφορετικοί τρόποι για να το κάνετε αυτό, αλλά κανένας δεν είναι τόσο συμπαγής λύση όσο το LED WS2812 RGB. Στο μικροσκοπικό του πακέτο 5mm x 5mm, το WS2812 περιλαμβάνει 3 εξαιρετικά φωτεινά LED (Κόκκινο, Πράσινο και Μπλε) και ένα συμπαγές κύκλωμα οδήγησης (WS2811) που απαιτεί μόνο μία είσοδο δεδομένων για τον έλεγχο της κατάστασης, της φωτεινότητας και του χρώματος των 3 LED Το Σε βάρος της ανάγκης μόνο μιας γραμμής δεδομένων για τον έλεγχο 3 LED, υπάρχει μια απαίτηση για πολύ ακριβή χρονισμό στην επικοινωνία με το WS2811. Για το λόγο αυτό, απαιτείται ένας μικροελεγκτής σε πραγματικό χρόνο (π.χ. AVR, Arduino, PIC). Δυστυχώς, ένας μικροϋπολογιστής που βασίζεται σε Linux ή ένας ερμηνευμένος μικροελεγκτής όπως το Netduino ή το Basic Stamp δεν μπορούν να παρέχουν την επαρκή ακρίβεια χρονισμού που απαιτείται. Και έτσι, σε αυτό το Instructable περνάω τη διαδικασία εγκατάστασης και ελέγχου ενός από αυτά τα LED με ένα Arduino Uno. Στη συνέχεια, δείχνω πόσο εύκολο είναι να συνδέσετε πολλά από αυτά μαζί για μια φοβερή οθόνη φωτισμού! Επίπεδο δυσκολίας: Αρχάριος Χρόνος ολοκλήρωσης: 10-15 λεπτά

Βήμα 1: Λίστα υλικών

Κατάλογος Υλικών
Κατάλογος Υλικών

Αυτό το υπέροχο LED RGB έρχεται σε συσκευασία 5050 (5mm x 5mm) με 6 μαξιλάρια που συγκολλώνται αρκετά εύκολα σε έναν πίνακα διάσπασης. Καθώς το μόνο πρόσθετο στοιχείο που απαιτείται είναι ένας πυκνωτής αποσύνδεσης, το WS2812 προσφέρει ειλικρινά την καλύτερη λύση για τον έλεγχο του χρώματος και της φωτεινότητας ενός LED RGB. Ο ενσωματωμένος οδηγός LED σταθερού ρεύματος (WS2811) είναι εξαιρετικά χρήσιμος για δύο λόγους: - Ένα σταθερό ρεύμα ~ 18mA θα οδηγήσει κάθε LED ακόμη και αν η τάση ποικίλει. - Δεν υπάρχει ανάγκη προσθήκης αντιστάσεων περιορισμού ρεύματος (γνωστές και ως αντιστάσεις τσοκ) μεταξύ του τροφοδοτικού και των LED. Το μόνο που χρειαζόμαστε είναι ένας πολύ απλός σχεδιασμός για να παρέχει ισχύ, γείωση και 1 είσοδο ελέγχου, προκειμένου να δημιουργήσουμε μια φοβερή οθόνη φωτισμού που αποτελείται από όχι μία, αλλά μια ολόκληρη σειρά LED RGB. Σωστά! Συνδέοντας τον ακροδέκτη Data Out μιας από αυτές τις λυχνίες LED, με την καρτέλα Data In μιας άλλης, μπορούμε να τα οδηγήσουμε και τα δύο ανεξάρτητα με την ίδια είσοδο ελέγχου! Εάν δεν είναι προφανές πώς να το κάνετε αυτό, μην προβληματιστείτε, στο τέλος αυτού του Instructable θα είστε σε καλό δρόμο για να προσθέσετε το WS2812 σε οποιοδήποτε έργο θέλετε! Για αυτό το Instructable εδώ είναι αυτό που θα χρησιμοποιήσουμε: Υλικά: 3 x LEDs WS2812 RGB (προ-συγκολλημένα σε έναν μικρό πίνακα ξεμπλοκαρίσματος) 1 x Καλώδιο στερεού πυρήνα χωρίς συγκολλήσεις (διάφορα χρώματα, 28 AWG) 1 x Arduino Uno R3 1 x Σύνδεσμος Pin-away, 0.1 "Pitch, 8-Pin Male (Right-Angle) 1 x Pin Connector, 0.1" Pitch, 8-Pin Female (Right-Angle) 1 x Breakaway Pin Connector, 0.1 "Pitch, 8-Pin MaleTools: PC USB A/B Καλώδιο Stripper Soldering Iron

Βήμα 2: Σύνδεση των κεφαλίδων καρφιτσών

Σύνδεση των κεφαλίδων Pin
Σύνδεση των κεφαλίδων Pin
Σύνδεση των κεφαλίδων Pin
Σύνδεση των κεφαλίδων Pin
Σύνδεση των κεφαλίδων Pin
Σύνδεση των κεφαλίδων Pin

Με όλα τα υλικά που αναφέρονται στο προηγούμενο βήμα, είναι πολύ απλό να ανάψετε ένα LED WS2812 RGB. Πρώτον, θέλουμε να προετοιμάσουμε τα WS2812 Breakout Boards για να τα τοποθετήσουμε στο ψωμί χωρίς κόλλα. Για να γίνει αυτό, χρησιμοποιούμε έναν κόπτη σύρματος (τα πιο συνηθισμένα εργαλεία κοπής θα λειτουργήσουν εξίσου καλά) για να χωρίσουμε κάθε λωρίδα 8 ακίδων σε κομμάτια 2 x 3 ακίδων. Λάβετε υπόψη ότι το κόψιμο είναι λίγο δύσκολο. πολλές φορές έχω προσπαθήσει να χρησιμοποιήσω το αυλάκι ανάμεσα σε δύο αντρικές κεφαλίδες ως οδηγό για το κόψιμο και κατέληξα να κουρεύω πάρα πολύ πλαστικό από μια κεφαλίδα που ήθελα να κρατήσω. «Θυσιάζοντας» την καρφίτσα εκεί που θέλουμε να κάνουμε το κόψιμο, αποφεύγουμε εντελώς το πρόβλημα. Χρησιμοποιώντας μια πένσα, βγάζουμε τον πείρο εκεί που θέλουμε να κόψουμε (στην περίπτωση αυτή, τον 4ο και τον 8ο πείρο). Αφού αφαιρεθούν οι καρφίτσες, μπορούμε εύκολα να κόψουμε τη μέση των κενών πλέον κεφαλίδων. Αυτή η τεχνική λειτουργεί εξίσου καλά με τη γυναικεία κεφαλίδα. Μετά την αναζήτηση και το κόψιμο, θα πρέπει να έχουμε 6 x κεφαλίδες 3 ακίδων, δηλαδή 2 x τυπικές και 4 x ορθή γωνία (2 x αρσενικό, 2 x θηλυκό). Με τη βοήθεια ενός συγκολλητικού σιδήρου, μπορούμε τώρα να συνδέσουμε τους πείρους σε κάθε έναν από τους τρεις πίνακες διαρροής με τον ακόλουθο τρόπο. Ένας πίνακας θα πρέπει να έχει τις 2 x τυπικές κεφαλίδες, ενώ οι άλλοι δύο πίνακες θα πρέπει ο καθένας να έχει 1 x κεφαλίδα ορθής γωνίας. Στον πίνακα που θα έχει τις τυπικές κεφαλίδες καρφιτσών, τοποθετούμε τους πείρους στην κάτω επιφάνεια του πίνακα (η πλευρά απέναντι από εκεί που είναι το LED). Στις άλλες δύο, οι κεφαλίδες ορθής γωνίας (μία από κάθε φύλο) μπορούν να τοποθετηθούν είτε στην επάνω είτε στην κάτω επιφάνεια. Σημειώστε ότι είναι σημαντικό να είστε συνεπείς, από τον έναν πίνακα στον άλλο, στην τοποθέτηση των αντρικών και γυναικών κεφαλίδων. Είναι χρήσιμο να χρησιμοποιήσετε τον πυκνωτή τοποθέτησης επιφάνειας για τον προσανατολισμό των σανίδων. Χρησιμοποιώντας αυτό ως αναφορά, η αρσενική κεφαλίδα πρέπει να συγκολληθεί στο άκρο πιο κοντά στον πυκνωτή. Μόλις κολλήσουν οι καρφίτσες, είμαστε έτοιμοι να συνδέσουμε μία από αυτές στο Arduino!

Βήμα 3: Σύνδεση του WS2812 Breakout Board σε ένα Arduino

Σύνδεση του WS2812 Breakout Board σε ένα Arduino
Σύνδεση του WS2812 Breakout Board σε ένα Arduino
Σύνδεση του WS2812 Breakout Board σε ένα Arduino
Σύνδεση του WS2812 Breakout Board σε ένα Arduino
Σύνδεση του WS2812 Breakout Board σε ένα Arduino
Σύνδεση του WS2812 Breakout Board σε ένα Arduino

Σε αυτό το βήμα θα πραγματοποιήσουμε τις απαραίτητες συνδέσεις μεταξύ ενός Arduino και ενός από τους πίνακες Breakout WS2812. Για το σκοπό αυτό, θα χρησιμοποιήσουμε το breadboard χωρίς συγκόλληση και 3 x καλώδια με βραχυκύκλωμα. Εάν χρησιμοποιείτε ένα καρούλι σύρματος, τώρα είναι η ώρα να κόψετε 3 κομμάτια, το καθένα περίπου 4 . Τώρα μπορούμε να τοποθετήσουμε το WS2812 Breakout Board (αυτό με τις τυπικές κεφαλίδες) στο διαχωριστικό του breadboard μας. Βεβαιωθείτε ότι το Arduino έχει αποσυνδεθεί τόσο από πηγή τροφοδοσίας όσο και από USB, θα συνεχίσουμε να συνδέουμε τις συνδέσεις. Στην κάτω πλευρά του WS2812 Breakout Board μπορούμε να βρούμε το όνομα κάθε ακίδας: VCC, DI (DO), GND. αυτό ως οδηγός προχωρούμε στη σύνδεση των ακίδων 5V και GND από το Arduino με τις καρφίτσες VCC και GND της πλακέτας WS2812, αντίστοιχα. Στη συνέχεια, συνδέουμε τον πείρο 8 στην ψηφιακή πλευρά του Arduino με τον πείρο DI του πίνακα WS2812, που είναι ο κεντρικός πείρος της πλευράς που βρίσκεται πιο κοντά στον πυκνωτή. Τώρα είμαστε έτοιμοι να φορτώσουμε το πρόγραμμά μας στο Arduino και να κάνουμε το WS2812 να αναβοσβήνει!

Βήμα 4: Κάντε το να αναβοσβήνει με το Arduino IDE

Κάντε το να αναβοσβήνει με το IDE Arduino
Κάντε το να αναβοσβήνει με το IDE Arduino
Κάντε το να αναβοσβήνει με το IDE Arduino
Κάντε το να αναβοσβήνει με το IDE Arduino

Υποθέτω ότι έχετε ήδη εγκαταστήσει το Arduino IDE στον υπολογιστή σας --- πολλοί οδηγοί στον ιστό εξηγούν τη διαδικασία αρκετά καλά. Το πρόγραμμα που θα χρειαστεί να φορτώσουμε στο Arduino μας μπορείτε να το κατεβάσετε εδώ. Αφού μπορούμε απλά να κάνουμε διπλό κλικ στο αρχείο primer.ino μέσα στο φάκελο υλικολογισμικού> παραδείγματα> αστάρι για να το φορτώσουμε στο Arduino IDE (wirtten για την έκδοση 1.0.5). Το πακέτο περιλαμβάνει τις απαραίτητες βιβλιοθήκες για τη μεταγλώττιση του κώδικα, ώστε να μην υπάρχουν σφάλματα. Παρακαλώ δημοσιεύστε ένα σχόλιο εάν αντιμετωπίζετε προβλήματα κατά τη σύνταξη. Αφού επιλέξετε τον τύπο της πλακέτας Arduino και τη θύρα USB χρησιμοποιώντας την επιλογή μενού Εργαλεία, ανεβάστε τον κώδικα και το WS2812 θα αρχίσει να αναβοσβήνει εναλλάσσοντας κόκκινο, πράσινο και μπλε. Το πιο προσεγμένο χαρακτηριστικό αυτών των LEDs WS2812 RGB είναι ότι μπορούν να «αλυσοδέσουν» αρκετά εύκολα για να δημιουργήσουν μακριές λωρίδες και συστοιχίες που περιέχουν πολλά από αυτά τα LED. Στο επόμενο βήμα το κάνουμε αυτό ακριβώς με τους 3 πίνακες που έχουμε ετοιμάσει.

Βήμα 5: Δημιουργία λωρίδας LED RGB

Δημιουργία λωρίδας LED RGB
Δημιουργία λωρίδας LED RGB
Δημιουργία λωρίδας LED RGB
Δημιουργία λωρίδας LED RGB

Το ενσωματωμένο κύκλωμα οδηγού LED (WS2811) επιτρέπει την "αλυσίδα μαργαρίτας" ένα LED στο επόμενο χρησιμοποιώντας μόνο 1 γραμμή δεδομένων (!). Συνδέοντας την Έξοδο Δεδομένων ενός WS2812 με την Εισαγωγή Δεδομένων ενός άλλου, μπορούμε να ελέγξουμε τη φωτεινότητα και το χρώμα μιας ολόκληρης σειράς LED έως 500 από αυτά σε ένα Arduino! Φυσικά, για να οδηγήσετε πολλές λυχνίες LED πρέπει να λάβετε υπόψη ορισμένα πράγματα: - Κάθε εικονοστοιχείο αντλεί έως και 60mA (το λευκό σε πλήρη φωτεινότητα απαιτεί να είναι αναμμένα όλα τα LED, κάθε σχέδιο ~ 20mA). - Ένα Arduino θα μεγιστοποιήσει τη RAM του οδηγώντας 500 LED με ρυθμό ανανέωσης 30 Hz. - Για να συνδέσετε δύο πίνακες μεταξύ τους, ο συνιστώμενος μέγιστος διαχωρισμός είναι 6 "για να αποφευχθεί η διακοπή ρεύματος και η καταστροφή δεδομένων. Έχοντας αυτά τα υπόψη, μπορούμε να οδηγήσουμε όλα τα LED χρησιμοποιώντας 24-bit ανάλυσης χρώματος, σε επίπεδα φωτεινότητας που είναι συνεπή, και αρκετά ανθεκτικό στις αλλαγές στις (μικρές) αλλαγές ισχύος της μπαταρίας. Για να "αλυσοδέσουμε" τους πίνακες που ετοιμάσαμε για αυτό το Instructable ξεκινάμε συνδέοντας το θηλυκό άκρο από το ένα με το αρσενικό άκρο του άλλου από τις δύο σανίδες με το δεξί γωνιακές κεφαλίδες. Στη συνέχεια, με την πλακέτα Arduino μας αποσυνδεδεμένη από το Power και το USB, τοποθετούμε το αρσενικό άκρο από την αλυσίδα δύο σανίδων στο ψωμί χωρίς συγκόλληση. Εξασφαλίζουμε ότι οι καρφίτσες ευθυγραμμίζονται με αυτές του WS2812 Breakout Board που ήταν συνδεδεμένο με το breadboard Αυτή η ευθυγράμμιση θα έχει τις καρφίτσες VCC και GND τόσο από τον πίνακα ευθείας κεφαλίδας όσο και από την αλυσίδα στην ίδια σειρά του breadboard. Τοποθετούμε την αλυσίδα δύο σανίδων κοντά στο τέλος του τρίτου πίνακα Breakout που βρίσκεται απέναντι από τον πυκνωτή. ΕΝΑ αφού συνδεθούν όλα, μπορούμε να ενεργοποιήσουμε το Arduino IDE και να χρησιμοποιήσουμε τον επεξεργαστή κειμένου για να αλλάξουμε τον ορισμό "#define NUM_LEDS 1" σε "#define NUM_LEDS 3". Αφού συνδέσουμε ξανά την πλακέτα στο Power ή/και USB, μπορούμε να ανεβάσουμε το νέο πρόγραμμα… και… BAM! Και τα τρία LED πρέπει να αναβοσβήνουν ακριβώς έτσι!

Βήμα 6: Στο σκοτάδι, ας υπάρχει φως

Στο σκοτάδι, ας υπάρχει φως!
Στο σκοτάδι, ας υπάρχει φως!
Στο σκοτάδι, ας υπάρχει φως!
Στο σκοτάδι, ας υπάρχει φως!

Αυτό το Instructable σας έδειξε γρήγορα πώς να χρησιμοποιείτε το WS2812 RGB LED προ-συγκολλημένο σε μικροσκοπικές σανίδες ξεμπλοκαρίσματος. Χρησιμοποιήσαμε ένα Arduino για να ελέγξουμε τη φωτεινότητα και το χρώμα των LED. Ένα πράγμα που ήταν ελαφρώς απογοητευτικό είναι ότι ο κώδικας που χρησιμοποιήσαμε έκανε τα LED να αναβοσβήνουν όλα ταυτόχρονα, με την ίδια ένταση και χρώμα. Αυτός ο τρόπος λειτουργίας δεν παρουσιάζει το πλήρες δυναμικό του «έξυπνου» οδηγού LED (WS2811) που είναι ενσωματωμένο σε αυτό το πακέτο. Έτσι, ας δοκιμάσουμε τις ακόλουθες τροποποιήσεις στον αρχικό κώδικα. Όπως και πριν, θα κατεβάσετε και θα αποσυμπιέσετε το αρχείο και, στη συνέχεια, θα ανοίξετε το υλικολογισμικό για να το φορτώσετε στο Arduino (υλικολογισμικό> εφέ> effects.ino). Όλα τα αρχεία που απαιτούνται για αυτό το demo περιλαμβάνονται, επομένως δεν υπάρχει ανάγκη προσθήκης libaries τρίτων. ο κώδικας θα πρέπει να μεταγλωττιστεί χωρίς καμία τροποποίηση --- είναι ήδη ρυθμισμένος να χειρίζεται τα 3 LED. Τώρα εναπόκειται στη φαντασία σας να σχεδιάσετε το επόμενο έργο όπου αυτά τα πολύ χρήσιμα, συμπαγή, LED RGB μπορεί να φωτίσουν τα φώτα τους. Μη διστάσετε να δημοσιεύσετε μερικές από τις δικές σας δημιουργίες χρησιμοποιώντας το WS2812 στην ενότητα σχολίων!

Συνιστάται: