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

Easy LED Holiday Light Show: Wizards in Winter - WS2812B LED Strip With FastLED and Arduino Tutorial: 6 Steps
Easy LED Holiday Light Show: Wizards in Winter - WS2812B LED Strip With FastLED and Arduino Tutorial: 6 Steps

Βίντεο: Easy LED Holiday Light Show: Wizards in Winter - WS2812B LED Strip With FastLED and Arduino Tutorial: 6 Steps

Βίντεο: Easy LED Holiday Light Show: Wizards in Winter - WS2812B LED Strip With FastLED and Arduino Tutorial: 6 Steps
Βίντεο: BEST TWINKLY LIGHT EFFECTS 2024, Ιούλιος
Anonim
Image
Image

Σχεδίασα και προγραμμάτισα αυτήν την εκπομπή φωτός διακοπών να εμφανίζεται οπουδήποτε. Χρησιμοποίησα μία λωρίδα led WS2812B με πυκνότητα εικονοστοιχείων 30 εικονοστοιχεία/ μέτρο. Δεδομένου ότι χρησιμοποίησα 5 μέτρα, είχα συνολικά 150 LED. Κράτησα τον κώδικα απλό έτσι ώστε οποιοσδήποτε νέος να χρησιμοποιεί λωρίδες LED WS2812B να μπορεί εύκολα να ακολουθήσει τον κώδικα. Αυτό σημαίνει επίσης ότι εάν χρησιμοποιείτε διαφορετικές ποσότητες εικονοστοιχείων, ο χρόνος θα είναι απενεργοποιημένος, οπότε θα πρέπει να τηρήσετε 150 LED. Επίσης, κρατώντας το απλό, το σύστημα μουσικής δεν διαχειρίζεται καθόλου το Arduino. Στην αρχή του προγράμματος, υπάρχουν 3 αναβοσβήνει με πράσινο χρώμα και 1 αναβοσβήνει με κόκκινο χρώμα, μετά ξεκινά η πραγματική ένδειξη φωτός. Δεδομένου ότι πρέπει να ξεκινήσετε τη μουσική χειροκίνητα, αυτές οι αρχικές αναλαμπές θα σας δώσουν μια ένδειξη για το πότε θα ξεκινήσετε να παίζετε τη μουσική. Έχω συμπεριλάβει τον κωδικό παρακάτω. Μη διστάσετε να προσθέσετε ή να αλλάξετε αυτόν τον κωδικό για μη εμπορικούς σκοπούς.

Προμήθειες

Λωρίδα LED WS2812B

- Arduino

- Σύρματα

- Τροφοδοτικό 5V 10A | Εάν χρησιμοποιείτε περισσότερες από μία λωρίδες, θα χρειαστεί να χρησιμοποιήσετε μεγαλύτερο τροφοδοτικό. Κάθε pixel χρησιμοποιεί 60mA, άρα 150 pixel * 60mA = 9A. Το τροφοδοτικό σας πρέπει να είναι σε θέση να το χειριστεί εάν σκοπεύετε να χρησιμοποιήσετε πλήρη φωτεινότητα σε λευκό χρώμα. Πρέπει να χρησιμοποιήσετε τροφοδοτικό 5V εάν χρησιμοποιείτε λωρίδες LED 5V και εάν χρησιμοποιείτε λωρίδες LED 12V, θα χρειαστεί να χρησιμοποιήσετε τροφοδοτικό 12V, αλλά και μετατροπέα 12-5V για να τροφοδοτήσετε το 5V Arduino.

Βήμα 1: Κατεβάστε τη βιβλιοθήκη FastLED

Ορίστε μερικές μεταβλητές
Ορίστε μερικές μεταβλητές

Εάν δεν έχετε ήδη κατεβάσει τη βιβλιοθήκη FastLED, κάντε λήψη της πιο πρόσφατης έκδοσης από το github.com/FastLED/FastLED/releases

Κατεβάστε τη βιβλιοθήκη FastLED και μετακινήστε τη στο φάκελο βιβλιοθηκών Arduino. ΜΗΝ αλλάξετε το όνομα αυτού του φακέλου. Στο Arduino IDE, μεταβείτε στο Sketch, Include Library και, στη συνέχεια, προσθέστε. ZIP Library. Επιλέξτε το φάκελο FastLED.

Μόλις ρυθμιστεί η βιβλιοθήκη σας, συμπεριλάβετε τη γραμμή #include Αυτή η γραμμή λέει στο πρόγραμμα ότι χρησιμοποιείτε τη βιβλιοθήκη.

Βήμα 2: Ορίστε μερικές μεταβλητές

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

Η γραμμή #ορίζει NUM_LEDS 150 είναι εκεί που βάζετε τον αριθμό των εικονοστοιχείων που χρησιμοποιούνται. Σε αυτή την περίπτωση, θα είναι 150.

Η γραμμή #καθορίζει το DATA_PIN 5 είναι εκεί που τοποθετείτε την ψηφιακή ακίδα στην οποία συνδέσατε το καλώδιο δεδομένων.

Η γραμμή #ορίζει τη ΦΩΤΕΙΝΟΤΗΤΑ 255 είναι όπου τοποθετείτε τη φωτεινότητα από μια κλίμακα 0-255, με την 255 να είναι η πιο φωτεινή.

Βήμα 3: Το τμήμα εγκατάστασης του κώδικα

Το τμήμα εγκατάστασης του κώδικα
Το τμήμα εγκατάστασης του κώδικα

Στην ενότητα ρύθμισης, υπάρχει καθυστέρηση για 2 δευτερόλεπτα και η γραμμή

FastLED.addLeds (leds, NUM_LEDS).setCorrection (TypicalLEDStrip);

Το WS2812B έδειξε τον τύπο της λωρίδας LED που χρησιμοποιήσαμε και το DATA_PIN είναι η μεταβλητή που ορίσαμε σε προηγούμενο βήμα. GRB είναι η σειρά χρωμάτων. Αυτό μπορεί να διαφέρει ανάλογα με τη λωρίδα LED που χρησιμοποιείται. Δοκιμάστε τον κωδικό ως έχει και αν τα χρώματα δεν είναι τα ίδια με αυτά του βίντεο, δοκιμάστε να το αλλάξετε σε RGB ή BRG για παράδειγμα. Μπορείτε να αφήσετε το υπόλοιπο αυτής της γραμμής το ίδιο. Οι γραμμές

FastLED.setBrightness (max_bright); set_max_power_in_volts_and_milliamps (5, 8000)?

περιορίστε τη χρήση ισχύος της λωρίδας LED. Αυτό είναι ένα εκπληκτικό χαρακτηριστικό από τη βιβλιοθήκη FastLED. Ο αριθμός 5 είναι η τάση που χρησιμοποιήσαμε και ο αριθμός 8000 είναι το μέγιστο ρεύμα που μπορεί να χρησιμοποιήσει η λωρίδα LED σε mA. Συνιστάται να χρησιμοποιείτε μόνο το 80% της δυνατότητας του τροφοδοτικού για να παρατείνετε τη διάρκεια ζωής του. Αφού έχω τροφοδοτικό 10Α, 0,8*10 = 8Α, ή 8000mA.

Βήμα 4: Το τμήμα βρόχου | Ακά, το δροσερό μέρος του κώδικα

Το τμήμα βρόχου | Aka, το δροσερό μέρος του κώδικα
Το τμήμα βρόχου | Aka, το δροσερό μέρος του κώδικα
Το τμήμα βρόχου | Ακά, το δροσερό μέρος του κώδικα
Το τμήμα βρόχου | Ακά, το δροσερό μέρος του κώδικα

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

Βήμα 5: Καλωδίωση

Καλωδίωση
Καλωδίωση

Οι λωρίδες LED WS2812B έχουν 3 ακροδέκτες σε κάθε άκρο. 2 για ισχύ και 1 για το σήμα δεδομένων που προέρχεται από το Arduino μας. Απλώς συνδέστε 2 καλώδια στους ακροδέκτες τροφοδοσίας του Arduino και συνδέστε 2 καλώδια τροφοδοσίας στη λωρίδα LED. Θα πρέπει επίσης να προσθέσετε 2 καλώδια τροφοδοσίας που ονομάζονται σύρματα ψεκασμού ισχύος στο τέλος της ταινίας, επειδή η απώλεια τάσης μπορεί να οδηγήσει σε αμυδρά LED στο τέλος της λωρίδας, αν δεν το κάνετε αυτό. Ελέγξτε τις ετικέτες στη λωρίδα για να δείτε ποιο τερματικό είναι για τι. Η ανάμειξη της πολικότητας θα μπορούσε να οδηγήσει σε μια τηγανητή λωρίδα. Επίσης, συνδέστε το καλώδιο γείωσης του Arduino με το καλώδιο γείωσης στη λωρίδα LED για να δημιουργήσετε ένα κοινό έδαφος για καλύτερη μετάδοση δεδομένων. Ανέφερα ότι πρέπει να προσθέσετε καλώδια ψεκασμού ισχύος, αλλά ΔΕΝ μπορείτε να το κάνετε αυτό για το καλώδιο δεδομένων. Αυτό συμβαίνει επειδή κάθε LED αναμεταδίδει το σήμα δεδομένων στο επόμενο, οπότε βεβαιωθείτε ότι έχετε συνδέσει 1 καλώδιο δεδομένων στον καθορισμένο πείρο Arduino και τη λωρίδα LED. Η ταινία πρέπει να έχει ένα μικρό βέλος που να δείχνει την κατεύθυνση της διαδρομής δεδομένων. Βεβαιωθείτε ότι έχετε τοποθετήσει το καλώδιο σήματος δεδομένων στην αρχή και όχι στο τέλος. Το ανακάτεμα θα μπορούσε να οδηγήσει σε μια τηγανητή λωρίδα.

Βήμα 6: Τοποθέτηση της λωρίδας LED

Τοποθέτησα τη λωρίδα LED στο εσωτερικό ενός παραθύρου απλά πατώντας το. Ωστόσο, υπάρχουν πολλοί άλλοι τρόποι με τους οποίους μπορείτε να τοποθετήσετε τη λωρίδα LED. Θα μπορούσατε να χρησιμοποιήσετε ένα κανάλι αλουμινίου όπως το https://tinyurl.com/s2km4v3 για να τοποθετήσετε τις λωρίδες έξω στη γραμμή της οροφής σας. Εάν βάζετε τις λωρίδες LED έξω, συνιστώ να χρησιμοποιείτε τις λωρίδες ip65 εάν χρησιμοποιείτε κανάλι αλουμινίου επειδή είναι ημι-αδιάβροχες και είναι λεπτότερες από το 1p67, οι οποίες ενδέχεται να μην ταιριάζουν σε ορισμένα κανάλια. Εάν σκοπεύετε να το τοποθετήσετε έξω χωρίς κανάλι, χρησιμοποιήστε τις λωρίδες ip67, οι οποίες είναι πρακτικά αδιάβροχες. Για να μεταβείτε σε μια γωνία, όπως αυτές στις κορυφές της γραμμής της στέγης σας, θα πρέπει ιδανικά να κόψετε τη λωρίδα και να χρησιμοποιήσετε καλώδια για να περάσετε τη γωνία. Μπορεί να είστε σε θέση να απλώς λυγίσετε τη λωρίδα, αλλά να είστε προσεκτικοί με το πόσο τις λυγίζετε επειδή είναι εύκολο να σβήσετε από ένα LED.

Συνιστάται: