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

Digispark & WS2812 Rainbow Wheel in a Box: 4 βήματα (με εικόνες)
Digispark & WS2812 Rainbow Wheel in a Box: 4 βήματα (με εικόνες)

Βίντεο: Digispark & WS2812 Rainbow Wheel in a Box: 4 βήματα (με εικόνες)

Βίντεο: Digispark & WS2812 Rainbow Wheel in a Box: 4 βήματα (με εικόνες)
Βίντεο: Rainbow wheel, wooden box (8x WS2812, DigiSpark, NeoPixel) 2024, Νοέμβριος
Anonim
Image
Image
Digispark & WS2812 Rainbow Wheel in a Box
Digispark & WS2812 Rainbow Wheel in a Box
Digispark & WS2812 Rainbow Wheel in a Box
Digispark & WS2812 Rainbow Wheel in a Box

Αυτό το μικροσκοπικό έργο έχει γίνει γύρω από ένα όμορφα σκαλισμένο ξύλινο κουτί 10x6x5cm που βρήκα σε ένα κατάστημα.

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

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

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

Προμήθειες

Λογαριασμός υλικών:

  • ένας πίνακας Attony85 Digispark (κλώνος), με τον εκκινητή Micronucleus
  • μία μπάρα 8x WS2812
  • ένα LDR, που χρησιμοποιείται για τη ρύθμιση της φωτεινότητας της λάμπας ανάλογα με το περιβάλλον
  • μία αντίσταση έλξης 10KΩ για το LDR
  • ένα καλώδιο micro USB για τον προγραμματισμό του Digispark και την τροφοδοσία της λάμπας μόλις τελειώσει
  • ένα κοίλο ξύλινο κουτί
  • πηγή ισχύος 5V⎓ (ικανή να παρέχει τουλάχιστον 500mA)

Δεξιότητες και εργαλεία:

  • PlatformIO (τρέχει σε Visual Studio Code) ως IDE - κάθε Arduino IDE θα κάνει τη δουλειά, όμως
  • ένα συγκολλητικό σίδερο, κάποιο σύρμα συγκόλλησης και βασικές δεξιότητες συγκόλλησης
  • κάποια καλωδίωση, ψαλίδι
  • λίγη κόλλα, τσιμπιδάκια
  • λίγο αδιαφανές χρώμα (για να καλύψει το Digispark LED και να προστατεύσει το LDR από την επίδραση του φωτός της λάμπας)

Βήμα 1: Digispark και PlatformIO

Το Digispark (και κάθε κλώνος που περιλαμβάνει τον ίδιο μικροελεγκτή 8-bit) είναι ένας πίνακας ξεμπλοκαρίσματος χτισμένος γύρω από ένα AVR Attiny85, ικανός για απλή επικοινωνία USB χάρη σε ένα πρόγραμμα εκκίνησης Micronucleus. Βρείτε περισσότερες πληροφορίες στο wiki:

Το PlatformIO είναι το οικοσύστημα που χρησιμοποιούσα για τον προγραμματισμό του Digispark. Για να εργαστείτε με αυτό, πρέπει να εγκαταστήσετε το Visual Studio Code

Βήμα 2: Σχηματική και καλωδίωση

Σχηματική και καλωδίωση
Σχηματική και καλωδίωση
Σχηματική και καλωδίωση
Σχηματική και καλωδίωση
Σχηματική και καλωδίωση
Σχηματική και καλωδίωση

Συγκόλληση

  1. συνδέστε τρία καλώδια στη γραμμή WS2812 (γείωση, είσοδος ισχύος και είσοδος δεδομένων)
  2. καλώδιο γείωσης και Vcc έως 5V και GND καρφίτσα του Digispark
  3. συγκολλήστε το υπόλοιπο καλώδιο στην καρφίτσα P0 της Digispark
  4. συγκολλήστε μια αντίσταση 10KΩ στις ακίδες GND και P2 της πλακέτας
  5. χρησιμοποιήστε δύο καλώδια για να συνδέσετε το LDR σε ακίδες 5V και P2 (χρησιμοποίησα ελάχιστα ορατά καλώδια με σμάλτο για αισθητικούς λόγους)

Βήμα 3: Υλικολογισμικό

Βρείτε τον κώδικα για αυτό το έργο στο GitHub μου:

Χαίρομαι που γνωρίζω:

  • Το #include πρέπει να χρησιμοποιείται κατά τη συνεργασία με το PlatformIO
  • οι παράμετροι, όπως η αντιστοίχιση καρφιτσών, ο αριθμός των LED WS2812, η ταχύτητα του τροχού του ουράνιου τόξου και τα σκοτεινά/φωτεινά κατώφλια για LED και LDR βρίσκονται στην αρχή του κώδικα
  • Το Adafruit Neopixel είναι η βιβλιοθήκη που χρησιμοποιείται για τον έλεγχο των λυχνιών LED WS2812
  • Η βιβλιοθήκη RunningMedian χρησιμοποιείται για να κάνει τις αναγνώσεις LDR πιο σταθερές. λόγω των ορίων που έχουν οριστεί, χαρτογράφηση ορίων φωτεινότητας LED, αυτό είναι ιδιαίτερα ωραίο σε συνθήκες χαμηλής φωτεινότητας, όπου μια μικρή διακύμανση μπορεί να οδηγήσει σε ένα ενοχλητικό τρεμόπαιγμα
  • Δεν θα βρείτε καμία προσπάθεια κλειδώματος του Attiny85, οπότε το έργο θα παραμείνει επεξεργάσιμο

Μερικές συμβουλές (εμφανίζονται επίσης στο αρχείο README.md στο GitHub):

  • Για να ανεβάσετε τον κωδικό, βεβαιωθείτε ότι έχετε ένα καλώδιο USB με κάθε ακίδιο ενσύρματο: τα φθηνά καλώδια φόρτισης συχνά έχουν μόλις +5V και καλώδιο γείωσης
  • Η μεταφόρτωση από το PlatformIO στο DigiSpark χρειάζεται να συνδέσετε το DigiSpark μετά τη μεταγλώττιση, παρόλο που η κονσόλα δεν προειδοποιεί "τώρα ήρθε η ώρα να συνδέσετε το DigiSpark", όπως κάνει το Arduino IDE.
  • Γρήγορη επίλυση προβλημάτων κατά τη μεταφόρτωση στο DigiSpark από το PlatformIO στο MacOS: PIO issue 111
  • Οι φθηνοί φορτιστές USB ενδέχεται να παρέχουν βρώμικη/θορυβώδη έξοδο, η οποία θα μπορούσε να κάνει τα LED να αναβοσβήνουν περίεργα ειδικά σε χαμηλή φωτεινότητα: βεβαιωθείτε ότι έχετε καθαρή πηγή 5VDC ή φιλτράρετε την προσθήκη πυκνωτή (ή πιο κατάλληλο κύκλωμα)

Βήμα 4: Περίβλημα και φινίρισμα

Θήκη & Τελικό άγγιγμα
Θήκη & Τελικό άγγιγμα
Θήκη & Τελικό άγγιγμα
Θήκη & Τελικό άγγιγμα
Θήκη & Τελικό άγγιγμα
Θήκη & Τελικό άγγιγμα
  • Χαράξτε μια τρύπα στο κουτί της επιλογής σας για τη φιλοξενία του έργου, για να συνδέσετε το καλώδιο USB σας. Λάβετε υπόψη ότι όσο μεγαλύτερη είναι η τρύπα γύρω από τη θύρα micro USB, τόσο μεγαλύτερη είναι η διαρροή φωτός από τη γραμμή LED, εκτός εάν δεν παρέχετε αδιαφανή σφράγιση.
  • Χαράξτε μια τρύπα για το LDR. βεβαιωθείτε ότι δεν το βλέπετε προς την περιοχή που θα φωτιστεί από τα LED, διαφορετικά η αυτόματη ρύθμιση θα πέσει σε βρόχο
  • Χαράξτε την εσωτερική επιφάνεια για να δημιουργήσετε χώρο για τη γραμμή LED, καθώς δεν πρέπει να βλέπετε απευθείας τα LED ενώ κοιτάτε τη λάμπα σας
  • Σφραγίστε με ένα αδιαφανές μέσο το κάτω μέρος του LDR, για να αποφύγετε τυχόν παρεμβολές στην ανίχνευση της φωτεινότητας του περιβάλλοντος που προκαλείται από τη γραμμή WS2812
  • Χρησιμοποιήστε μια σταγόνα αδιαφανή βαφή για να καλύψετε το led led Digispark, αποφεύγοντας έτσι να λάμπει μέσα στο κουτί
  • Κολλήστε τον πίνακα Digispark, τη μπάρα LED, το LDR και κάθε καλώδιο για να αποφύγετε το εσωτερικό του κοίλου κουτιού σας να φαίνεται ακατάστατο
  • Προβλέψτε ένα καλώδιο USB με διακόπτη, για να ενεργοποιήσετε και να απενεργοποιήσετε εύκολα τη λάμπα

Συνιστάται: