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

WS2812-B LED με πίνακα ATMEGA328 UNO V3.0 R3: 11 βήματα
WS2812-B LED με πίνακα ATMEGA328 UNO V3.0 R3: 11 βήματα

Βίντεο: WS2812-B LED με πίνακα ATMEGA328 UNO V3.0 R3: 11 βήματα

Βίντεο: WS2812-B LED με πίνακα ATMEGA328 UNO V3.0 R3: 11 βήματα
Βίντεο: Видео о сборке беспроводного DMX-передатчика 2024, Ιούλιος
Anonim
WS2812-B LED Με πίνακα ATMEGA328 UNO V3.0 R3
WS2812-B LED Με πίνακα ATMEGA328 UNO V3.0 R3

Περιγραφή

Αυτό το έργο συνδυάζει το ICStation WS2812-B Programmable Colorful LED Board με το ATMEGA328 UNO V3.0 R3 Board Compatible Arduino UNO R3 για να δημιουργήσει ένα οπτικό αποτέλεσμα. Επιπλέον, αν έχετε ένα πάρτι θεμάτων "Disco", θα σας αρέσει. Επιτρέψτε μου να σας δείξω πώς να φτιάξετε ένα από αυτά τα πράγματα.

Βήμα 1: Απαιτούμενα μέρη:

Απαιτούμενα μέρη
Απαιτούμενα μέρη

· Arduino UNO (ή συμβατή πλακέτα) · 4 x WS2812-B Προγραμματιζόμενος πολύχρωμος πίνακας LED

· Αντίσταση 330 ohm

· Ηλεκτρολυτικός πυκνωτής 4700 uF 16V

· Breadboard

· Καλώδια από Jumper έως Male Jumper

· Breadboard Jumper καλώδια

· Υποδοχή DC 2,1mm με ακροδέκτες βίδας

· Τροφοδοτικό 5V 4A Plugpack

Σημείωση: η τροφοδοσία αυτού του έργου με μπαταρίες είναι δυνατή, αλλά δεν συνιστάται, και γίνεται με δική σας ευθύνη.

Θα χρειαστείτε επίσης ένα Disco Ball Cake το οποίο θα πρέπει να φτιάξετε (ή να αγοράσετε). Η γυναίκα μου το έφτιαξε αυτό. Και όπως θα δείτε σύντομα, η τούρτα στο εσωτερικό ήταν ροζ, επειδή ήταν μια τούρτα φράουλας.

Βιβλιοθήκες Arduino και IDEYΜπορείτε να πάρετε το Arduino IDE από εδώ: https://www.arduino.cc/en/Main/Software Χρησιμοποίησα την έκδοση 1.6.4, η οποία είναι μάλλον ξεπερασμένη… αλλά παρόλα αυτά λειτουργεί καλά.

Μπορείτε να λάβετε πληροφορίες σχετικά με τον τρόπο χρήσης της βιβλιοθήκης FastLED εδώ: https://fastled.io/ Και μπορείτε να τις κατεβάσετε από εδώ: Βιβλιοθήκη FastLED Χρησιμοποίησα την έκδοση 3.0.3, η οποία είναι επίσης πιθανώς παλιά.

Βήμα 2: ΚΩΔΙΚΟΣ ARDUINO:

Βήμα 3: ΠΕΡΙΓΡΑΦΗ ΚΩΔΙΚΟΥ ARDUINO:

· Βιβλιοθήκη FastLED: Πρέπει να βεβαιωθείτε ότι έχετε κατεβάσει και εγκαταστήσει τη βιβλιοθήκη FastLED στο Arduino IDE σας. Η βιβλιοθήκη περιλαμβάνεται σε αυτό το σκίτσο, διαφορετικά οι λειτουργίες FastLED δεν θα λειτουργήσουν.

· Η μεταβλητή "NUM_LEDS": λέει στο Arduino πόσες λυχνίες LED χρησιμοποιούνται. Σε αυτή την περίπτωση, έχουμε 4 δακτυλίους LED, με κάθε δακτύλιο LED να περιέχει 16 LED, και συνεπώς συνολικά 64 LED. Εάν ορίσετε έναν μικρότερο αριθμό, για παράδειγμα 16, τότε το σκίτσο θα φωτίζει μόνο τις λυχνίες LED στον πρώτο δακτύλιο LED.

· Η μεταβλητή "DATA_PIN": λέει στο Arduino ποια ψηφιακή καρφίτσα να χρησιμοποιήσει για τη μετάδοση δεδομένων στο δακτύλιο LED. Σε αυτήν την περίπτωση, χρησιμοποιώ το Digital Pin 9.

· Άλλες μεταβλητές: Έχω μερικές άλλες μεταβλητές που χρησιμοποιούνται για τυχαιοποίηση LED και έλεγχο χρωμάτων. Η απόχρωση είναι το χρώμα της λυχνίας LED. Αυξάνοντας τη μεταβλητή απόχρωσης, μπορείτε να κάνετε τα LED να κάνουν ποδήλατο σε μοτίβο που μοιάζει με ουράνιο τόξο. Η μεταβλητή "απόχρωση" είναι ένα "byte", που σημαίνει ότι θα ανεβεί μόνο στη μέγιστη τιμή των 255, προτού μεταβεί ξανά στο μηδέν.

Κωδικός αρχικοποίησης: Εάν έχετε διαφορετικό δακτύλιο LED από αυτόν σε αυτό το σεμινάριο, ίσως χρειαστεί να τροποποιήσετε τον κωδικό προετοιμασίας. Αυτός ο δακτύλιος LED έχει ένα chipset WS2812-B (σύμφωνα με τον ιστότοπο του ICStation) και έτσι αυτή η γραμμή:

· FastLED.addLeds (led, NUM_LEDS). Θα πει στη βιβλιοθήκη FastLED ποιο chipset χρησιμοποιείται (NEOPIXEL), το pin που χρησιμοποιείται για τη μετάδοση δεδομένων (DATA_PIN), τον πίνακα LED που πρέπει να ελέγχεται (leds) και τον αριθμό των LED που θα ελέγχονται (NUM_LEDS). · Στο " βρόχος () ": τμήμα του κώδικα: η μεταβλητή" απόχρωση "αυξάνεται για να δημιουργήσει εφέ ουράνιου τόξου και επιλέγεται τυχαίο LED χρησιμοποιώντας τη συνάρτηση random8 () του FastLED.

· Η συνάρτηση random8 (x): θα επιλέξει τυχαία έναν αριθμό από 0 έως x.

· Η συνάρτηση randomSeed (): υπάρχει για να βοηθήσει στην "τυχαία τυχαιοποίηση" του αριθμού. Αυτό βοηθάται διαβάζοντας την τυχαιότητα ενός πλωτού analogPin (A0). Δεν χρειάζεται να είναι analogPin 0, μπορεί να είναι οποιοδήποτε αναλογικό πείρο που δεν χρησιμοποιείται.

· Leds [rnd].setHSV (απόχρωση, 255, 255): Αυτή η γραμμή ορίζει το τυχαίο LED να έχει απόχρωση ίση με τη μεταβλητή "απόχρωση", κορεσμό ίσο με 255 και φωτεινότητα ίση με 255. Ο κορεσμός ίσος με το μηδέν θα κάνει το LED λάμπει λευκό. Η φωτεινότητα μηδέν ουσιαστικά σβήνει τη λυχνία LED.

· FastLED.show (): Δεν θα γίνουν φυσικές αλλαγές στην οθόνη του δακτυλίου LED έως ότου αποσταλεί ένα μήνυμα από το Arduino στην ψηφιακή ακίδα εισόδου του δακτυλίου LED. Αυτό το μήνυμα μεταδίδεται όταν καλείτε το FastLED.show (); λειτουργία. Αυτό λέει στους δακτυλίους LED να ενημερώσουν την οθόνη τους με τις πληροφορίες που περιέχονται στον πίνακα led (leds). Έτσι, εάν ρυθμίσετε όλες τις λυχνίες LED να ανάβουν, η πλακέτα δεν θα ανάψει τα LED μέχρι το FastLED.show (); η λειτουργία καλείται. Αυτό είναι σημαντικό να γνωρίζετε - ειδικά όταν προσπαθείτε να σχεδιάσετε τις δικές σας ακολουθίες LED.

· Η γραμμή καθυστέρησης (50): θα ρυθμίσει το χρονικό διάστημα μεταξύ των αναλαμπών στα 50 χιλιοστά του δευτερολέπτου. Μπορείτε να αλλάξετε την καθυστέρηση για να αυξήσετε ή να μειώσετε τον αριθμό των αναλαμπών ανά δευτερόλεπτο.

· Η λειτουργία leds .fadeToBlackBy (180): ουσιαστικά ξεθωριάζει τα LEDS κατά 180 μονάδες. Μπορείτε να αυξήσετε ή να μειώσετε αυτόν τον αριθμό για να επιτύχετε την επιθυμητή ταχύτητα ξεθωριάσματος. Προειδοποιήστε, ωστόσο, ότι εάν ξεχάσετε να καλέσετε αυτήν τη λειτουργία ή εάν δεν ξεθωριάσετε επαρκώς τα LED, τότε μπορεί να καταλήξετε να ανάβουν ΟΛΑ τα LED, τα οποία ενδέχεται να καταστρέψουν την πλακέτα Arduino σας - δηλαδή ανάλογα με τον αριθμό των δακτυλίων LED που και πώς επιλέξατε να τους τροφοδοτήσετε.

Βήμα 4: Το κέικ

Το κεικ
Το κεικ

· Διαφάνεια 1 - Πλάκα βάσης: Είναι σημαντικό να δημιουργήσετε την πλάκα βάσης με όλα τα ηλεκτρονικά εξοπλισμένα και σε κατάσταση λειτουργίας ΠΡΙΝ βάλετε το κέικ πάνω του. Η προσπάθεια τοποθέτησης καλωδίων/καλωδίων LED και κυκλωμάτων κάτω από την πλάκα βάσης, ενώ υπάρχει μια τούρτα στην κορυφή είναι μια συνταγή καταστροφής. Ετοιμάστε λοιπόν πρώτα το πιάτο βάσης και, στη συνέχεια, μεταβείτε στο κομμάτι της παρασκευής του κέικ αργότερα.

· Διαφάνεια 2 - akeήσιμο κέικ: Θα χρειαστείτε μερικές φόρμες για κέικ ημισφαιρίου για να φτιάξετε τις δύο πλευρές της μπάλας. Πρέπει να φτιάξετε ένα σχετικά πυκνό κέικ για να αντέξει το συνολικό βάρος του κέικ, γλάσο και ζαχαρωτό και να διατηρήσει το σχήμα του. Μόλις κρυώσουν και παγώσουν, μπορείτε να τα τοποθετήσετε το ένα πάνω στο άλλο για να σχηματίσουν μια σφαίρα. Συντηρούνται μεταξύ τους από ένα στρώμα γλάσου μεταξύ τους.

· Slide 3 - Fondant Icing: Το γλάσο φοντάν πρέπει να τυλιχτεί σε ειδικό αντικολλητικό στρώμα. Διαπιστώσαμε ότι η προσθήκη λίγο αλεύρι βοήθησε να μειωθεί η κολλητικότητα. Υπάρχουν ειδικοί κύλινδροι που διασφαλίζουν ότι το πάχος του ζαχαρωτού είναι σταθερό σε όλη την έκταση. Στη συνέχεια, πρέπει να τα κόψετε σε τετράγωνα κομμάτια (περίπου 1 εκατοστά τετράγωνα λειτούργησαν καλά για εμάς). Στη συνέχεια, τα τετράγωνα βάφονται ασημί με ένα ειδικό/βρώσιμο ασημένιο γάνωμα φοντάν. Σως χρειαστεί να χρησιμοποιήσετε μερικές στρώσεις και αφήνοντάς το να στεγνώσει μεταξύ των στρώσεων.

· Διαφάνεια 4 - Παγωμένο κέικ στη βάση: Το κέικ μπορεί είτε να παγωθεί είτε έξω από το πιάτο βάσης… μάλλον καλύτερα να το κάνετε από το πιάτο βάσης. Αλλά αν αποφασίσετε να το κάνετε στην πλάκα βάσης, θα πρέπει να προστατέψετε τα LED από το αδέσποτο γλάσο που μπορεί να πέσει από το κέικ (στην πορεία). Μόλις το κέικ έχει παγώσει πλήρως (με γλάσο/γλάσο), θα χρειαστεί να τοποθετήσετε το κέικ στην κεντρική θέση στον πίνακα. Μπορεί να υπάρχει πιθανότητα το κέικ να γλιστρήσει από τη βάση … οπότε κάντε ό, τι πρέπει να κάνετε για να παραμείνει στη θέση του.

· Διαφάνειες 5-7 - Τοποθετήστε τετράγωνα Fondant: Ενώ το γλάσο είναι ακόμα μαλακό, τότε θα χρειαστεί να τοποθετήσετε γρήγορα, μεθοδικά και ακούραστα τα τετράγωνα φοντάν σε οριζόντιο γραμμικό μοτίβο γύρω από το κέικ. Προχωρήστε προς τον βόρειο και νότιο πόλο του κέικ κάνοντας μία σειρά κάθε φορά. Μπορείτε να κόψετε έναν κύκλο ζαχαροπλαστικής για τον βόρειο πόλο της τούρτας. Στη διαφάνεια 7, θα δείτε μια τρύπα στην κορυφή του κέικ. Αυτό έγινε για να κρυώσει ένα πλαστικό δοχείο στο εσωτερικό του, το οποίο θα χρησιμοποιηθεί αργότερα για να κρατήσει τα διακοσμητικά στη θέση τους στην κορυφή του κέικ. Κάντε το πριν τοποθετήσετε τον κύκλο του φοντάν στην κορυφή του κέικ.

· Διαφάνεια 8 - Προσθήκη Γκλίτερ: Αφού τοποθετήσετε όλα τα τετράγωνα ζαχαροπλαστικής πάνω στην τούρτα, είναι πολύ πιθανό ότι κάποιο από το ασημένιο γλάσο μπορεί να έχει σκουπιστεί από μερικά από τα τετράγωνα. Εδώ το ξαναβάζετε με μερικά ακόμη στρώματα ασημένιο γλάσο, και στο τελευταίο παλτό, πριν στεγνώσει, μπορείτε να πασπαλίσετε βρώσιμα glitter γύρω από το κέικ για να του δώσετε επιπλέον λάμψη.

· Διαφάνεια 9 - Το τελικό προϊόν: Το τελευταίο βήμα είναι να προσθέσετε μερικά βεγγαλικά σύρματος και κάποια άλλα διακοσμητικά στην κορυφή του κέικ. Σπρώξτε τα καλώδια μέσα από το καπάκι του φοντάν στο βόρειο πόλο στο εσωτερικό του δοχείου. Αυτό θα κρατήσει τα καλώδια στη θέση τους χωρίς να καταστρέψει όλη τη σκληρή δουλειά σας.

· Chipset WS2812-B: Αυτός ο δακτύλιος LED χρησιμοποιεί το chipset WS2812-B και έχει 4 ακίδες (GND, 5V, Din, Dout)

· Ισχύς: Για να τροφοδοτήσετε αυτήν τη μονάδα, πρέπει να παρέχετε ρεύμα 5V και έως 1Α

· Σήματα: Για τον έλεγχο του δακτυλίου LED, πρέπει να του στείλετε σήματα μέσω της ακίδας ψηφιακής εισόδου (Din).

Μπορείτε να συνδέσετε έναν άλλο δακτύλιο LED σε αυτόν χρησιμοποιώντας τον ακροδέκτη ψηφιακής εξόδου (Dout)

Βήμα 5: Οδηγός χρήσης ισχύος

Οδηγός χρήσης ισχύος
Οδηγός χρήσης ισχύος

· Γενικός κανόνας: Κάθε μεμονωμένη λυχνία LED στο δαχτυλίδι μπορεί να μεταδώσει κόκκινο, πράσινο και μπλε φως. Οι συνδυασμοί αυτών των χρωμάτων μπορούν να αποτελέσουν οποιοδήποτε άλλο χρώμα. Το λευκό φως αποτελείται και από τα τρία αυτά χρώματα ταυτόχρονα. Κάθε μεμονωμένο χρώμα θα αντλεί ρεύμα περίπου 20mA όταν εμφανίζεται αυτό το χρώμα στη μέγιστη φωτεινότητα. Όταν λάμπει λευκό στη μέγιστη φωτεινότητα, το μονό LED θα τραβήξει περίπου 60mA.

· Πολλαπλασιαστής ισχύος: Εάν κάθε LED μπορεί να αντλήσει έως και 60mA και υπάρχουν 16 LED σε ένα μόνο δακτύλιο LED, τότε 16x60mA = 960mA ανά δακτύλιο LED. Για να είστε ασφαλείς και για να διευκολύνετε τα μαθηματικά, πρέπει να βεβαιωθείτε ότι παρέχετε αρκετό ρεύμα για να φιλοξενήσει 1Α ανά δακτύλιο LED. Έτσι, 4 δακτύλιοι LED θα χρειαστούν τροφοδοτικό 5V 4A εάν θέλετε να αποκτήσετε πλήρη λειτουργικότητα από τις μονάδες.

Βήμα 6: Διάγραμμα Fritzing

Διάγραμμα Fritzing
Διάγραμμα Fritzing
Διάγραμμα Fritzing
Διάγραμμα Fritzing

Σύνδεση ενός δακτυλίου LED στο Arduino

· 3 καλώδια: Χρειάζεστε μόνο 3 καλώδια για να συνδεθείτε στο δακτύλιο LED. Αν σκοπεύετε να ανάψετε μόνο δύο LED ανά πάσα στιγμή, θα πρέπει να είναι εντάξει.

· Ηλεκτρολυτικός πυκνωτής: Συνδέοντας έναν μεγάλο ηλεκτρολυτικό πυκνωτή 4700 uF 16V μεταξύ των θετικών και αρνητικών ακροδεκτών των αγωγών τροφοδοσίας, με το αρνητικό σκέλος του πυκνωτή προσαρτημένο στον αρνητικό ακροδέκτη της τροφοδοσίας, θα προστατεύετε τους δακτυλίους LED σας από κάθε αρχική επίθεση ρεύματος.

Προστατευτική αντίσταση: Είναι επίσης σκόπιμο να τοποθετήσετε μια αντίσταση 300-400 ohm μεταξύ του ψηφιακού pin 9 του Arduino (D9) και του ψηφιακού πείρου εισόδου (Din) του δακτυλίου LED. Αυτό προστατεύει το πρώτο LED από πιθανές αιχμές τάσης

Κατάλληλα καλώδια: Εάν σχεδιάζετε να συνδέσετε μερικούς από αυτούς τους δακτυλίους LED (δείτε παρακάτω), τότε πιθανότατα θα θέλετε να κρατήσετε τα καλώδια όσο το δυνατόν πιο κοντά και να χρησιμοποιήσετε ένα αξιοπρεπές καλώδιο μεταφοράς που μπορεί να χειριστεί το ρεύμα που τραβιέται μέσω αυτών.

Βήμα 7: Σύνδεση ΔΥΟ Δαχτυλιδιών LED στο Arduino

Σύνδεση ΔΥΟ Δαχτυλιδιών LED στο Arduino
Σύνδεση ΔΥΟ Δαχτυλιδιών LED στο Arduino

Τρία επιπλέον καλώδια: Χρειάζεστε μόνο 3 επιπλέον καλώδια για να συνδέσετε έναν επιπλέον δακτύλιο LED. Ένα καλώδιο πρέπει να συνδέσει την ψηφιακή έξοδο (Dout) του πρώτου δακτυλίου LED στην ψηφιακή είσοδο (Din) του 2ου δακτυλίου LED.

Μείνετε ασφαλείς: Για άλλη μια φορά, ένας ασφαλέστερος τρόπος για να το κάνετε αυτό είναι να χρησιμοποιήσετε μια εξωτερική τροφοδοσία ρεύματος, έναν μεγάλο ηλεκτρολυτικό πυκνωτή στους ακροδέκτες και μια αντίσταση 300-400 ohm μεταξύ του Arduino και της ψηφιακής ακίδας εισόδου του πρώτου δακτυλίου LED.

Βήμα 8: Σύνδεση τεσσάρων δακτυλίων LED στο Arduino

Σύνδεση τεσσάρων δακτυλίων LED στο Arduino
Σύνδεση τεσσάρων δακτυλίων LED στο Arduino

Εξήντα τέσσερα LED: Χρειάζεστε 3 επιπλέον καλώδια για κάθε επιπλέον δακτύλιο LED. 4 δακτύλιοι LED παρέχουν συνολικά 64 LED.

Παρακολουθήστε το AMPS: Σε πλήρη φωτεινότητα, αυτή η ρύθμιση θα μπορούσε δυνητικά να τραβήξει έως και 4 αμπέρ (ή περίπου 1 amp ανά δακτύλιο LED)

Εξωτερική τροφοδοσία απαραίτητη: Είναι απαραίτητο να χρησιμοποιήσετε εξωτερικό τροφοδοτικό για να τροφοδοτήσετε αυτά τα LED όταν υπάρχουν τόσα πολλά. Εάν δεν χρησιμοποιείτε εξωτερική τροφοδοσία και ανάβετε κατά λάθος ΟΛΕΣ τις λυχνίες LED, τότε είναι πιθανό να καταστρέψετε τον μικροελεγκτή από υπερβολική παροχή ρεύματος.

Βήμα 9: Πίνακες σύνδεσης

Πίνακες σύνδεσης
Πίνακες σύνδεσης

Πώς να συνδέσετε ένα δαχτυλίδι LED στο Arduino

Βήμα 10: Πώς να συνδέσετε ΔΥΟ Δαχτυλίδια LED στο Arduino

Πώς να συνδέσετε ΔΥΟ Δαχτυλίδια LED στο Arduino
Πώς να συνδέσετε ΔΥΟ Δαχτυλίδια LED στο Arduino

Βήμα 11: Συμπέρασμα

συμπέρασμα
συμπέρασμα
συμπέρασμα
συμπέρασμα
συμπέρασμα
συμπέρασμα

Σε αυτό το σεμινάριο σας δείξαμε πώς να διακοσμήσετε ένα κέικ Disco Ball και επίσης πώς να χρησιμοποιήσετε τα δαχτυλίδια LED RGB από το ICStation.

Ο σύνδεσμος των τεσσάρων προϊόντων στο ICStation:

www.icstation.com/icstation-atmega328-board…

www.icstation.com/icstation-ws2812-programm…

www.icstation.com/1pcs-dupont-wire-10cm-254…

www.icstation.com/bread-board-jump-line-jum…

Ευχαριστούμε για τους φίλους μας τον Scott και την οικογένειά του που έκαναν μια τέτοια φοβερή παρουσίαση για τον Led.

Η αρχική πηγή του περιεχομένου προήλθε από τον φίλο μας Scott:

arduinobasics.blogspot.com.au/2016/06/ardui…

Αν σας αρέσει αυτό το απόσπασμα, παρακαλώ μοιραστείτε το με τους κολλητούς σας.

Εάν πιστεύετε ότι μπορείτε να κάνετε μια καλύτερη κριτική, σχολιάστε.

Εάν έχετε περισσότερες ιδέες για προϊόντα IC, επικοινωνήστε μαζί μας μέσω email: [email protected]

Συνιστάται: