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

RGB LED Cube Με εφαρμογή Bluetooth + Animation Δημιουργός: 14 βήματα (με εικόνες)
RGB LED Cube Με εφαρμογή Bluetooth + Animation Δημιουργός: 14 βήματα (με εικόνες)

Βίντεο: RGB LED Cube Με εφαρμογή Bluetooth + Animation Δημιουργός: 14 βήματα (με εικόνες)

Βίντεο: RGB LED Cube Με εφαρμογή Bluetooth + Animation Δημιουργός: 14 βήματα (με εικόνες)
Βίντεο: Arduino Compatible Led Cube RGB 8x8x8 Palta Style 2024, Ιούλιος
Anonim
Κύβος LED RGB Με εφαρμογή Bluetooth + AnimationCreator
Κύβος LED RGB Με εφαρμογή Bluetooth + AnimationCreator

Αυτό είναι ένα διδακτικό πώς να φτιάξετε έναν κύβο 6x6x6 RGB LED (Κοινές άνοδος) που ελέγχεται από μια εφαρμογή Bluetooth χρησιμοποιώντας ένα Arduino Nano. Ολόκληρη η κατασκευή είναι εύκολα προσαρμόσιμη σε έναν κύβο 4x4x4 ή 8x8x8. Αυτό το έργο είναι εμπνευσμένο από το GreatScott. Αποφάσισα να πάω για μια πιο εξελιγμένη κατασκευή χρησιμοποιώντας μεγαλύτερα led (8mm), με λιγότερη απόσταση + προσθήκη επικοινωνίας Bluetooth που κάνει την προσθήκη νέων λειτουργιών πολύ πιο εύκολη και προσθέτει επίσης τη δυνατότητα δημιουργίας μιας εφαρμογής για τον έλεγχο του κύβου. Αυτό μου επιτρέπει επίσης π.χ. κωδικοποιήστε ένα Παιχνίδι Φιδιού (3η βιτρίνα βίντεο στο τέλος). Επιπλέον, πρόσθεσα μια λειτουργία Audio Visualizer που επιτρέπει στον κύβο να απεικονίσει μια είσοδο AUX π.χ. Μουσική χρησιμοποιώντας ένα MSGEQ7 (βιτρίνα βίντεο στο τέλος). Επιπλέον, έγραψα μια εφαρμογή AnimationCreator στην Java με ένα εύκολο στη χρήση περιβάλλον εργασίας χρήστη για τη δημιουργία και την προσαρμογή κινούμενων εικόνων, έτσι ώστε ο καθένας να μπορεί να δημιουργήσει προσαρμοσμένες κινήσεις πολύ γρήγορα. Έτσι, η εφαρμογή Sketch + Bluetooth παρέχει ένα πλαίσιο για οποιαδήποτε διαμόρφωση LED Cube και με το Creator Animation δεν χρειάζεται να ανησυχείτε για την εφαρμογή προσαρμοσμένων κινούμενων εικόνων.

Σύνδεσμοι για την εφαρμογή Arduino Sketch και Bluetooth:

RGBCube_Arduino Sketch (Github)+Animation Creator.jar

Εφαρμογή Cubo Bluetooth (Github)

Λίστα μερών για τον κύβο:

  • LED 216x RGB (Κοινή άνοδος) (8mm) (AliExpress / Ebay)-> 6x6x6 = 216
  • Καλώδιο κορδέλας (1m 40Pin πρέπει να είναι αρκετό) (AliExpress / Ebay / Amazon)
  • Κεφαλίδες για γυναίκες και άνδρες (τουλάχιστον 4x40pin το καθένα) (AliExpress / Ebay / Amazon)
  • Κασσιτερωμένος χαλκός / ασημένιο σύρμα 0,8mm (eter 25Meter) (AliExpress / Ebay / Amazon)
  • Συρρικνωμένος σωλήνας (AliExpress / Ebay / Amazon)

Λίστα μερών για τους πίνακες ελέγχου:

  • 7 x οδηγός LED TLC5940 (Ebay / AliExpress)
  • 6 x MOSFET IR-9540 P-Channel (Amazon / Ebay / AliExpress)
  • Πυκνωτές 8 x 10 uF (Amazon / Ebay / AliExpress)
  • 3 x 1000 πυκνωτές uF (Amazon / Ebay / AliExpress)
  • 14x 2.2kOhm Resistors (Amazon / Ebay / AliExpress)
  • 1 x 1kOhm Resistor (Amazon / Ebay / AliExpress)
  • 7 x 28pin υποδοχές IC (Amazon / Ebay / AliExpress)
  • 1 x Arduino Nano (Amazon / Ebay / AliExpress)
  • 1 x 1N4001 Δίοδος (Οποιαδήποτε κοινή δίοδος) (Amazon / Ebay / AliExpress)
  • 8 x 0.1uF Πυκνωτές (Ebay)
  • 1 x DC Jack PCB Mount (Amazon / Ebay / AliExpress)
  • 1 x μονάδα Bluetooth HC-05 (Amazon / Ebay / AliExpress)

Βήμα 1: Θεωρία

Θεωρία
Θεωρία

Εάν δεν σας ενδιαφέρει η θεωρία σχετικά με την πολυπλεξία, μεταβείτε στο Βήμα 2 για την έναρξη της πραγματικής κατασκευής

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

Ο εγκέφαλος του κύβου είναι ένας Arduino Nano. Παρέχει αρκετό I/O για αλληλεπίδραση με τα χρησιμοποιούμενα προγράμματα οδήγησης LED, καθώς και τη σύνδεση Bluetooth με μια μονάδα HC-05 και άλλο υλικό ελέγχου. Αν έχετε δει άλλες κατασκευές LED Cube, θα γνωρίζετε ότι οι περισσότεροι άνθρωποι χρησιμοποιούν απλούς καταχωρητές Shift για να αποθηκεύουν τιμές φωτεινότητας των χρωμάτων των επιμέρους LED. Αυτή η κατασκευή δεν χρησιμοποιεί καταχωρητές Shift, αλλά αντίθετα ονομάζονται προγράμματα οδήγησης LED "TLC5940". Όπως θα δούμε αργότερα, αυτό μας εξοικονομεί πολύ χρόνο, καθώς και τόνους πρόσθετου υλικού (π.χ. αντιστάσεις).

Η βασική λειτουργικότητα του ελέγχου του κύβου χρησιμοποιεί την πολυπλεξία. Σε αυτή την περίπτωση πολλαπλώνουμε τα 6 στρώματα του κύβου, δηλαδή όλες οι άνοδοι (+) όλων των LED σε ένα επίπεδο είναι συνδεδεμένες, ενώ οι μεμονωμένες καθόδους όλων των LED στην ίδια στήλη συνδέονται προς το κάτω μέρος. Αυτό σημαίνει ότι εάν θέλετε να ανάψετε τη λυχνία LED στη θέση x = 1, y = 2, z = 3, χρώμα: πράσινο, πρέπει να δώσετε 5V στην άνοδο του επιπέδου 3 και να συνδέσετε το GND στην καθολική στήλη που αντιστοιχεί σε Πράσινο Pin του x = 1, y = 2. Έτσι, στην πραγματικότητα σε ένα χρονικό σημείο, μόνο ένα στρώμα του Κύβου είναι πραγματικά ενεργοποιημένο, αλλά όπως θα δείτε αργότερα στον Κώδικα απενεργοποιούμε και ενεργοποιούμε τα επιμέρους στρώματα τόσο γρήγορα, που το μάτι μας νομίζει ότι ολόκληρος ο κύβος είναι ενεργοποιημένος Το

Για να ελέγξουμε πράγματα όπως φωτεινότητα, κινούμενα σχέδια και ούτω καθεξής χρησιμοποιούμε μια μονάδα Bluetooth HC-05 συνδεδεμένη στο Arduino Nano. Είναι πολύ απλό να χρησιμοποιήσετε τη μονάδα με ένα Arduino αφού χρειάζεστε μόνο σύνδεση 4 Pin και μπορείτε απλά να διασυνδέσετε τη μονάδα μέσω της προεπιλεγμένης σειριακής επικοινωνίας του Arduino. Προς το τέλος αυτού του οδηγού θα δείτε πόσο εύκολο είναι να γράψετε τη δική σας εφαρμογή Bluetooth για τον έλεγχο του κύβου.

ΣΗΜΕΙΩΣΗ

Στο σχήμα μου της πλακέτας κυκλώματος Arduino μπορείτε επίσης να δείτε ένα μικρό σχήμα για τη διασύνδεση μιας διαδικασίας τσιπ MSGEQ7 Είσοδος ήχου, αυτό δεν είναι απολύτως απαραίτητο για τον πραγματικό κύβο και είναι απλώς μια πρόσθετη λειτουργικότητα που πρόσθεσα, επομένως μπορείτε απλά να αγνοήσετε το Σχηματικό σήμα με "MSGEQ7"

Βήμα 2: Υλικό: LED Cube Build

Υλικό: LED Cube Build
Υλικό: LED Cube Build
Υλικό: LED Cube Build
Υλικό: LED Cube Build
Υλικό: LED Cube Build
Υλικό: LED Cube Build

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

Λίστα μερών για την κατασκευή του κύβου:

  • LED 216x RGB (κοινή άνοδος) (AliExpress / Ebay)-> 6x6x6 = 216
  • Καλώδιο κορδέλας (1m 40Pin πρέπει να είναι αρκετό) (AliExpress / Ebay / Amazon)
  • Κεφαλίδες για γυναίκες και άνδρες (τουλάχιστον 4x40pin) (AliExpress / Ebay / Amazon)
  • Κασσιτερωμένος χαλκός / ασημένιο σύρμα 0,8mm (eter 25Meter) (AliExpress / Ebay / Amazon)
  • Συρρικνωμένος σωλήνας (AliExpress / Ebay / Amazon)

Το πρώτο πράγμα που πρέπει να κάνω, και τώρα είναι κουραστικό αλλά απαραίτητο, πρέπει να δοκιμάσουμε τα LED. Για να το κάνουμε αυτό, συνδέουμε απλώς ένα τροφοδοτικό, π.χ. μπλοκ μπαταρίας 9V με κλιπ σε ένα breaboard. Όπως μπορείτε να δείτε στην εικόνα 3, το μεγαλύτερο Pin των LED είναι το Anode (+), ώστε να συνδέσετε αυτόν τον πείρο στο +9V της μπαταρίας. Τώρα, πριν συνδέσετε το GND με τα μεμονωμένα χρώματα, οι καθόδους (Κόκκινο, Πράσινο, Μπλε) προσθέστε μια αντίσταση 220Ohm σε κάθε κάθοδο για να περιορίσετε το ρεύμα. Τώρα διασκεδάστε δοκιμάζοντας όλα τα χρώματα και των 216 LED.

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

Βήμα 3: Σειρές LED

Σειρές LED
Σειρές LED
Σειρές LED
Σειρές LED
Σειρές LED
Σειρές LED

Πριν μπορέσουμε να κολλήσουμε τα LED στις αντίστοιχες σειρές τους, πρέπει να λυγίσουμε και να κόψουμε τα καλώδια.

Όπως μπορείτε να δείτε στην πρώτη εικόνα, απλά άνοιξα μια τρύπα 8 mm (για LED 8 mm) σε ένα κομμάτι ξύλο και τρύπησα 3 πολύ μικρά τρυπάνια στα αριστερά της οπής LED και ένα άλλο στα δεξιά της οπής. Αυτά τα τρυπάνια είναι δείκτες για σωστή κάμψη των αγωγών και πρέπει να έχουν απόσταση περίπου 1cm από τη μέση της οπής για το LED.

Αυτή η τεχνική είναι εμπνευσμένη από τον Steve Manley, μπορείτε να βρείτε ένα βίντεο που το κάνει σε μικρή παραλλαγή στο YouTube.

Πριν κόψετε και λυγίσετε τους αγωγούς γύρω από τα τρυπάνια, όπως φαίνεται στις εικόνες 2 και 3, βεβαιωθείτε ότι ο προσανατολισμός των αγωγών αντιστοιχεί στην εικόνα 1 (Μπλε στην κορυφή προς τα αριστερά, έπειτα πράσινο, έπειτα με άνοδο + προς τα δεξιά και πάλι κόκκινο αριστερά). Ο κύκλος που λυγίσατε στα καλώδια θα πρέπει να έχει αρκετά μεγάλη διάμετρο για να ταιριάζει στο κονσερβοποιημένο χάλκινο σύρμα (0,8mm). Αυτό το βήμα καθιστά εξαιρετικά εύκολο να κολλήσετε όμορφα τα LED στη θέση τους.

Τώρα που όλα τα LED είναι προετοιμασμένα, θέλουμε να τα συναρμολογήσουμε σε σειρές των 6 όπου είναι συνδεδεμένα τα Anodes (+):

  1. Φτιάξτε μια μικρή σέγα όπως φαίνεται στην εικόνα 6, ανοίξτε 6 τρύπες (διάμετρος 0,8mm) με απόσταση 2,5cm στην επόμενη τρύπα. Αυτό μας επιτρέπει να τοποθετήσουμε 6 LED ταυτόχρονα στο jig
  2. Για να συνδέσουμε τις ανόδους χρειαζόμαστε ένα ευθύγραμμο τεμάχιο χάλκινου σύρματος μήκους cm 16cm (με κάποιο επιπλέον περιθώριο). Για να έχετε το καλώδιο όμορφο και ίσιο, μπορείτε να τοποθετήσετε το ένα άκρο του σύρματος σε ένα ηλεκτρικό τρυπάνι, να στερεώσετε περίπου 2 μέτρα σύρματα κάθε φορά σε ένα τραπέζι, στη συνέχεια κρατώντας το τρυπάνι έτσι ώστε το σύρμα να είναι τεντωμένο και σφιχτό και να τροφοδοτείται στο τρυπάνι για λίγα δευτερόλεπτα με το ίσιωμα του καλωδίου πολύ γρήγορα. Στη συνέχεια, μπορείτε να κόψετε το σύρμα ακριβώς εκεί που στερεώσατε το κομμάτι. Μπορείτε επίσης να χρησιμοποιήσετε δύο πένσες και να σφίξετε μικρότερα κομμάτια σύρματος κάθε φορά, αλλά αυτό είναι πολύ πιο κουραστικό
  3. Μόλις έχετε καλώδια μήκους 16 εκατοστών, τα κατευθύνετε μέσα από τις οπές της ανόδου (+) των LED στο πείρο και κολλήστε τις ακίδες της ανόδου στο σύρμα (εικόνα 7)

Για ολόκληρο τον κύβο θα χρειαστούμε 6x6 = 36 από αυτές τις σειρές LED

Βήμα 4: Συναρμολόγηση στρώσεων

Συνέλευση στρώσεων
Συνέλευση στρώσεων
Συνέλευση στρώσεων
Συνέλευση στρώσεων
Συνέλευση στρώσεων
Συνέλευση στρώσεων

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

Προσοχή ότι αυτό το βήμα απαιτεί πολύ χρόνο και υπομονή για να το κάνετε σωστά, συνολικά θα πρέπει να κολλήσετε περίπου 1000 αρμούς συγκόλλησης για την κατασκευή, οπότε πάρτε το χρόνο σας!

Για να χτίσετε έναν τοίχο LED:

  1. Για το παζλ: Χρειαζόμαστε ένα κομμάτι ξύλο με 6 σκαλιστές γραμμές για να χωρέσουν 6 σειρές η μία πάνω στην άλλη για να χτίσουμε έναν τοίχο. Μπορείτε να δείτε το ίδιο το παζλ στην εικόνα 2 (αποστάσεις μεταξύ σειρών: 2,5 εκατοστά)
  2. Τοποθετείτε τις 6 σειρές LED στα σκαλίσματα, με το σύρμα Anode στραμμένο προς τα κάτω στη σκαλιστή γραμμή, έτσι ώστε οι 3 Κατόδοι (R, G, B) να κοιτούν προς τα πάνω
  3. Για να συνδέσουμε τους καθόδους τοποθετημένους το ένα πάνω στο άλλο (βλέπε εικόνα 2) χρειαζόμαστε λίγο ακόμη σύρμα (έτσι και πάλι 6 Στήλες x 3 Κάθοδοι x 6 Τοίχοι = 108 κονσερβοποιημένα κομμάτια σύρματος όπως περιγράφεται στο τελευταίο βήμα (2.) (ίδιο μήκος επίσης))
  4. Σύρετε τα κομμάτια σύρματος από το κάτω μέρος μιας στήλης μέσω των οπών των καθόδων στην επάνω σειρά και κολλήστε το σύρμα στη θέση του σε κάθε LED

Το κάνετε αυτό 6 φορές για να πάρετε 6 τοίχους LED.

Τώρα μπορούμε πραγματικά να συγκεντρώσουμε τους τοίχους στον ίδιο τον κύβο. Αλλά για να κρατήσουμε τον κύβο, πρέπει να φτιάξουμε ένα είδος επιπέδου εδάφους. Για αυτό απλώς χρησιμοποίησα λίγο λεπτό κόντρα πλακέ και άνοιξα μικρές τρύπες 0,8 χιλιοστών σε αυτό, για να ταιριάξω στα καλώδια που κρέμονται από τις χαμηλότερες σειρές LED (και για τους 6 τοίχους LED). Οι μετρήσεις για τις οπές ενός μόνο LED τεκμηριώνονται στο Βήμα 3 και οι αποστάσεις μεταξύ κάθε LED είναι 2,5cm.

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

Συνεχίστε να κάνετε το ίδιο πράγμα με τους υπόλοιπους τοίχους LED, αλλά θυμηθείτε ότι οι άνοδοι των τοίχων έχουν πάντα την ίδια κατεύθυνση. (στην εικόνα 3 όλες οι Άνοδοι των Τειχών βλέπουν αριστερά)

Μόλις ολόκληρος ο κύβος είναι στη θέση του, πρέπει να συγκολλήσουμε τις άνοδοι κάθε στρώματος μαζί. Για να το κάνουμε αυτό, παίρνουμε ένα άλλο κομμάτι ίσου σύρματος cm 16 εκατοστών και το τοποθετούμε πάνω από το πρώτο στρώμα, έτσι ώστε το σύρμα να αγγίζει όλα τα καλώδια της Ανόδου των 6 τοίχων σε ένα στρώμα. Προσέξτε το νέο καλώδιο να μην αγγίζει κανέναν από τους καθόδους. Συγκολλήστε το σύρμα στη θέση του και επαναλάβετε το ίδιο πράγμα για τις 5 υπόλοιπες στρώσεις.

Βήμα 5: Καλωδίωση κύβων

Πίνακας οδηγού LED
Πίνακας οδηγού LED
Πίνακας οδηγού LED
Πίνακας οδηγού LED
Πίνακας οδηγού LED
Πίνακας οδηγού LED

Ανταλλακτικά για την πλακέτα οδήγησης LED:

  • 7 x TLC5940
  • 6/7 x 10 uF Πυκνωτές
  • 2 x 1000 πυκνωτές uF
  • Αντιστάσεις 7x 2,2kOhm
  • Υποδοχές IC 7 x 28pin
  • 7 x 0.1uF Πυκνωτές
  • Καλωδιοταινία

Προχωρώντας στα κυκλώματα ελέγχου, ας ρίξουμε μια πρώτη ματιά στην πλακέτα οδηγού LED. Όπως αναφέρθηκε προηγουμένως χρειαζόμαστε 7 TLC5940 συνδεδεμένα στο Arduino Nano. Όλα τα τσιπ TLC5940 είναι αλυσοδεμένα, πράγμα που σημαίνει ότι όλες οι ακίδες ελέγχου των προγραμμάτων οδήγησης είναι διασυνδεδεμένες (π.χ. BLANK pin του πρώτου TLC συνδέεται με το BLANK του δεύτερου, τρίτου, τέταρτου,… TLC) και είναι όλα συνδεδεμένα με το Arduinowith τα ίδια καλώδια, εκτός από το Serial In, το οποίο συνδέεται πρώτα από ένα Arduino Digital Pin στο πρώτο TLC, στη συνέχεια, το Serial Out pin αυτού του πρώτου TLC συνδέεται με τον πείρο SIN του δεύτερου TLC και ούτω καθεξής (βλέπε εικόνα 4)…

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

(ΑΝ ΘΕΛΕΤΕ ΝΑ ΑΓΚΑΛΩΣΕΤΕ ΤΟ ΔΙΑΣΤΗΜΑ ΣΤΟ ΒΗΜΑ 8)

Επισυνάπτω επίσης ένα στιγμιότυπο οθόνης του σχηματικού στο frizz που περιλαμβάνει ετικέτες καρφιτσών και επίσης αρχεία GIMP.xcf με επίπεδα για κάθε σύνδεση Pin Control που διαχωρίζεται.

Ξεκινήστε με συγκόλληση όλων των υποδοχών IC στη θέση τους, στη συνέχεια προσθέτοντας τους πυκνωτές 100nF σε κάθε TLC, ακολουθούμενη από τις αντιστάσεις 2,2kOhm στο IREFand GND και την κεφαλίδα 7 ακίδων στην επάνω δεξιά γωνία. Μετά από αυτό, μπορείτε απλά να ακολουθήσετε το αρχείο.xcf ξεκινώντας με το "επίπεδο SIN" στο αρχείο Gimp που δείχνει τον τρόπο σύνδεσης των σειριακών ακίδων IN/OUT των προγραμμάτων οδήγησης χρησιμοποιώντας καλώδια κορδέλας και, στη συνέχεια, ενεργοποίηση του επιπέδου CLK στο GIMP κ.ο.κ. Βεβαιωθείτε ότι έχετε καλές συνδέσεις των καρφιτσών + και - στην κεφαλίδα καρφιτσών επάνω δεξιά τα τοποθετείς.

Μόλις τελειώσει αυτός ο πίνακας, μπορείτε να προχωρήσετε στον πίνακα Arduino στο επόμενο βήμα.

Βήμα 7: Πίνακας ελέγχου Arduino + Bluetooth

Πλακέτα ελέγχου Arduino + Bluetooth
Πλακέτα ελέγχου Arduino + Bluetooth

Μέρη για τον πίνακα ελέγχου:

  • 6 x MOSFET με κανάλι P IRF 9540
  • Πυκνωτές 1 x 10 uF
  • 1 x 1000 πυκνωτές uF
  • 7 x 2.2kOhm Αντίσταση
  • Αντίσταση 1 x 1kOhm
  • 2 x 14 Κεφαλίδα θηλυκού πείρου
  • 1 x Arduino Nano
  • 1 x 1N4001 Δίοδος
  • 1 x 0.1uF Πυκνωτές
  • 1 x Στήριγμα PCB DC Jack
  • 1 x μονάδα Bluetooth HC-05
  • 1 x υποδοχή ήχου 3,5 mm

Ο πίνακας ελέγχου Arduino χειρίζεται επίσης την πολυπλεξία, καθώς παρέχει το αντίστοιχο της κεφαλίδας καρφιτσών της πλακέτας οδηγού LED.

Συγκόλληση σε σανίδα:

  1. Τοποθετήστε δύο θηλυκές κεφαλίδες Pin για να λειτουργήσουν ως υποδοχή για το Arduino στη μέση του πίνακα.
  2. Τοποθετήστε τα 6 MOSFET στη σειρά το ένα δίπλα στο άλλο στη δεξιά πλευρά του Arduino (η πλευρά με τους αναλογικούς πείρους) και προσθέστε μια αντίσταση 2,2kOhm μεταξύ του πρώτου και του τελευταίου πείρου ο καθένας.
  3. Τώρα τοποθετήστε την κεφαλίδα των 6 ακίδων μπροστά από τα MOSFET (στη μέση της σειράς) και συνδέστε τις 6 καρφίτσες DRAIN των FET (μεσαία καρφίτσα) στην κεφαλίδα και τις καρφίτσες GATE (αριστερή καρφίτσα) των FET με τις αντίστοιχες αναλογικές καρφίτσες Arduino Το
  4. Στη συνέχεια, κολλήστε την κεφαλίδα 7pin για τη σύνδεση LEDDriver στην άλλη πλευρά του Arduino, αφήστε λίγο χώρο για καλώδια και συγκολλήστε όλες τις συνδέσεις από το Arduino στην κεφαλίδα καρφιτσών.
  5. Προσθέστε μερικούς πυκνωτές (1-2 1000uF, 1 10uF, 100nF δίπλα στο Arduino) για πιθανές αποχετεύσεις ρεύματος.
  6. Συγκολλήστε μια κεφαλίδα 4 ακίδων δίπλα στην πίσω πλευρά του Arduino για τη μονάδα HC-05 και πραγματοποιήστε τις 4 συνδέσεις με VCC, RX, TX, GND και μην ξεχάσετε να κάνετε διαχωριστή τάσης από την ακίδα RX του HC-05 και το TX Pin του Arduino (δείτε εδώ)
  7. Τοποθετήστε το DC Jack σε οποιαδήποτε άκρη της πλακέτας με έναν διακόπτη δίπλα και συνδέστε το δεξιό πείρο του διακόπτη στο + Pin του DC Jack
  8. Τέλος πραγματοποιήστε όλες τις απαραίτητες συνδέσεις τροφοδοσίας από το GND Pin του DC Jack και τη δεξιά ακίδα του διακόπτη (VCC) στο Arduino, MOSFET, Capacitors και HC-05 όπως φαίνεται στο σχήμα. Θυμηθείτε να προσθέσετε τη Δίοδο που παρέχει μόνο την Τροφοδοσία από τον πείρο VCC του διακόπτη για να ρέει στον ακροδέκτη Arduinos 5V, και όχι αλλιώς. (Αυτό προστατεύει το Arduino όταν το προγραμματίζετε μέσω σύνδεσης USB)

Για τη σύνδεση τροφοδοσίας χρησιμοποίησα ένα τροφοδοτικό DC με έναν απλό διακόπτη, αν θέλετε, μπορείτε επίσης να χρησιμοποιήσετε έναν σύνδεσμο USB. Αναθέσατε την υποδοχή τροφοδοσίας σε μια άλλη μικρή πλακέτα κυκλώματος για να ταιριάζει όμορφα στην ξύλινη θήκη μου, αλλά μπορείτε απλά να το τοποθετήσετε απευθείας στον πίνακα Arduino. Όπως αναφέρθηκε στο πρώτο βήμα, υπάρχει επίσης ένα κύκλωμα σύνδεσης MSGEQ7 στο σχηματικό, αλλά απλά αγνοήστε το εάν δεν χρησιμοποιείτε ένα MSGEQ7. (Για περισσότερες πληροφορίες σχετικά με τη λειτουργικότητα του MSGEQ7 κάντε κλικ εδώ)

Μην ξεχάσετε να φτιάξετε ένα άλλο καλώδιο κορδέλας 7Pin με κεφαλίδες αρσενικής ακίδας σε κάθε άκρο για τη σύνδεση της πλακέτας Arduino με την πλακέτα προγράμματος οδήγησης

Βήμα 8: Προαιρετικό: Χαράξτε τις πλακέτες κυκλωμάτων

Προαιρετικά: Χαράξτε τις πλακέτες κυκλωμάτων
Προαιρετικά: Χαράξτε τις πλακέτες κυκλωμάτων
Προαιρετικά: Χαράξτε τις πλακέτες κυκλωμάτων
Προαιρετικά: Χαράξτε τις πλακέτες κυκλωμάτων
Προαιρετικά: Χαράξτε τις πλακέτες κυκλωμάτων
Προαιρετικά: Χαράξτε τις πλακέτες κυκλωμάτων

Έτσι, αν δεν σας αρέσει η συγκόλληση πολλών καλωδίων, μπορείτε επίσης να χαράξετε τα απαραίτητα PCB αν το προτιμάτε.

Στο My Cube, ο πίνακας Arduino και η πλακέτα σύνδεσης Power/Audio είναι και οι δύο χαραγμένες σανίδες χρησιμοποιώντας τα συνημμένα σχηματικά αρχεία/EAGLE. Την πρώτη φορά που έκανα ένα λάθος στο σχηματικό, έτσι έπρεπε να ξανακάνω την πλακέτα οδηγού LED όπως έκανα στο τελευταίο βήμα. Δεν υπάρχουν τεράστια πλεονεκτήματα για να χαράξετε τον πίνακα αντί να χρησιμοποιείτε το perboard, οπότε μη διστάσετε είτε να χαράξετε τον πίνακα είτε να τον κολλήσετε σε διάτρητη σανίδα.

Στο συνημμένο.zip μπορείτε να βρείτε τόσο ένα αρχείο BOARD όσο και ένα αρχείο SCHEMATIC.

Παρατηρήστε ότι τα ίχνη του ανώτερου στρώματος (κόκκινο) υποτίθεται ότι είναι συρμάτινες γέφυρες (αφού δεν μπορώ να χαράξω σανίδες δύο όψεων στο σπίτι). Τα μη δρομολογημένα ίχνη παρουσιάζουν τις συνδέσεις που πρέπει να γίνουν μέσω καλωδίων για τις θηλυκές κεφαλίδες Pin.

Το σχήμα περιλαμβάνει τη δυνατότητα MSGEQ7, την οποία μπορείτε απλά να παραλείψετε διαγράφοντας το τμήμα του σχηματικού χαρακτηριστικού "(MSGEQ7)" στο στιγμιότυπο οθόνης του.pdf σχηματικού.

Βήμα 9: Σύνδεση του κύβου

Σύνδεση του κύβου
Σύνδεση του κύβου
Σύνδεση του κύβου
Σύνδεση του κύβου
Σύνδεση του κύβου
Σύνδεση του κύβου

Για να συνδέσετε όλα τα μέρη του Cube, ξεκινήστε συνδέοντας το καλώδιο 7pin στην πλακέτα Arduino και στο Board Driver (βεβαιωθείτε ότι ο προσανατολισμός είναι σωστός!). Στη συνέχεια, συνδέστε τη μονάδα HC05 στην κεφαλίδα 4 ακίδων και συνδέστε την πλακέτα τροφοδοσίας εάν διαχωριστεί.

Για να συνδέσετε τις κεφαλίδες 7x16 Pin του Cube, φροντίστε να ξεκινήσετε με το πρώτο TLC (αυτό του οποίου ο πείρος SIN συνδέεται απευθείας με το Arduino). Βρείτε το σωστό καλώδιο 16 ακίδων από τον κύβο και συνδέστε το με την κεφαλίδα καρφιτσών της πρώτης TLC (βεβαιωθείτε ότι το καλώδιο για το Cathode Nr.0 συνδέεται με το πρώτο pin TLC OUT0!). Συνεχίστε και συνδέστε τα άλλα καλώδια 16 ακίδων στις αντίστοιχες κεφαλίδες TLC με τη σωστή σειρά.

Τελευταίο αλλά εξίσου σημαντικό, συνδέστε το καλώδιο 6Pin για τις ανόδους από τον κύβο στην κεφαλίδα 6Pin στον πίνακα ελέγχου δίπλα στα MOSFET.

Για να τελειώσω τον κύβο πρόσθεσα τοίχους στη θήκη με λίγο κόντρα πλακέ με μαύρο χρώμα και τους κόλλησα.

Τώρα τελειώσαμε με όλο το υλικό που απαιτείται για ολόκληρη την κατασκευή!

Βήμα 10: Λογισμικό: Κύκλος πολυπλεξίας

Λογισμικό: Κύκλος πολυπλεξίας
Λογισμικό: Κύκλος πολυπλεξίας

Τώρα θεωρητικά, το Arduino εκτελεί σταθερά τον ακόλουθο κύκλο:

  1. Εάν το LayerDuration έχει περάσει, φορτώστε τις τιμές για το επόμενο επίπεδο στις TLC, απενεργοποιήστε το τρέχον στρώμα, ενεργοποιήστε το επόμενο στρώμα, επαναφέρετε το LayerDuration, δεσμεύστε τις νέες τιμές στις TLC
  2. Εάν το FrameDuration έχει περάσει, φορτώστε το νέο Frame της τρέχουσας κινούμενης εικόνας αποθηκεύοντας τις τιμές για όλα τα LED και τα χρώματα στο buffer ValueLed , επαναφέρετε το FrameDuration
  3. Εάν είναι διαθέσιμα δεδομένα Bluetooth, αντιδράστε σε αυτά (Αλλαγή κινούμενων εικόνων, Φωτεινότητα,…) (περισσότερες πληροφορίες αργότερα)

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

Όσο πιο γρήγορα ενεργοποιήσετε/απενεργοποιήσετε τα Layers, τόσο περισσότερα "Frames" θα έχετε. για έναν κύβο LED 6x6x6 RGB όπως αυτό, κατάλαβα ότι μια διάρκεια στρώματος 1700 microSec. είναι αρκετά καλό για να συνεχίζει να τρεμοπαίζει στο ελάχιστο και πρέπει να παραμείνει σε αυτήν την τιμή. Το FrameDuration ελέγχει περισσότερο την ταχύτητα της κινούμενης εικόνας, ώστε να μπορεί να αλλάξει για διαφορετικά κινούμενα σχέδια.

Στο επόμενο βήμα θα δούμε πώς μπορούμε πραγματικά να γράψουμε τα δικά μας κινούμενα σχέδια.

Βήμα 11: Προσαρμοσμένες κινούμενες εικόνες

Προσαρμοσμένες κινούμενες εικόνες
Προσαρμοσμένες κινούμενες εικόνες
Προσαρμοσμένες κινούμενες εικόνες
Προσαρμοσμένες κινούμενες εικόνες

Για να υλοποιήσουμε μια κινούμενη εικόνα, πρέπει να ορίσουμε το buffer ValueLed στις τιμές που θέλουμε για το επόμενο Frame κάθε φορά που έχει περάσει το FrameDuration. Το κάνουμε αυτό καλώντας τη λειτουργία μακροεντολής "SETLED (x, y, z, COLOR, Brightness)"

x, y, z είναι οι συντεταγμένες της λυχνίας LED που θέλουμε να ορίσουμε και το ΧΡΩΜΑ (ΚΟΚΚΙΝΟ, ΠΡΑΣΙΝΟ ή ΜΠΛΕ) είναι το χρώμα που θέλουμε να ορίσουμε και η Φωτεινότητα είναι η πραγματική τιμή για το συγκεκριμένο χρώμα που έχουμε ορίσει.

Για παράδειγμα, για να εφαρμόσετε μια κινούμενη εικόνα που απλώς εμφανίζει κόκκινο, πράσινο και μπλε χρώμα τυχαία σε ολόκληρο τον κύβο, μπορείτε απλά να το κάνετε αυτό:

void randomLedsFull () {

για (uint8_t j = 0; j <CUBE_SIZE; j ++) {για (uint8_t x = 0; x <CUBE_SIZE; x ++) {for (uint8_t y = 0; y <CUBE_SIZE; y ++) {uint8_t rand = random8 (3); SETLED (x, y, j, rand, maxBright); }}}}

Αυτή η μέθοδος καλείται κάθε φορά που έχει περάσει το FrameDuration και επιλέγεται από την εντολή switch-case στον βρόχο (). Εάν γράφετε νέα κινούμενα σχέδια, μπορείτε να τα προσθέσετε απλά προσθέτοντάς τα στη θήκη μεταγωγής.

Βήμα 12: Πρόσθετο: AnimationCreator

Επιπλέον: AnimationCreator
Επιπλέον: AnimationCreator

Έγραψα επιπλέον ένα AnimationCreator χρησιμοποιώντας JavaFX και Java3D.

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

Μπορείτε να δημιουργήσετε, να επεξεργαστείτε, να μετονομάσετε και να διαμορφώσετε ξανά κινούμενα σχέδια για κύβους LED 4x4x4, 6x6x6 ή 8x8x8

Για να δημιουργήσετε μια νέα κινούμενη εικόνα, απλώς πατήστε Αρχείο> Νέο, στην ενότητα "Κύβος" μπορείτε να επιλέξετε το μέγεθος κύβου, για να ορίσετε το χρώμα μιας λυχνίας LED επιλέξτε το χρώμα που θέλετε με τον επιλογέα χρωμάτων στα αριστερά και στη συνέχεια κάντε αριστερό κλικ στις λυχνίες LED που θέλετε αυτό το χρώμα για αυτό το πλαίσιο. Για να προσθέσετε ένα άλλο πλαίσιο, πατήστε "Επόμενο" ή "+". Τα υπόλοιπα στοιχεία ελέγχου UI είναι αρκετά αυτονόητα, τα πλαίσια ελέγχου δίπλα στα Cubes Layers είναι για να ελέγξουν ποια επίπεδα θα πρέπει να επηρεαστούν από τη μετατόπιση και το "Keep Frame". Δοκιμάστε το και θα καταλάβετε τα πάντα σε χρόνο μηδέν.

Επιπλέον, για να προσομοιώσετε την κινούμενη εικόνα, μπορείτε να κάνετε κλικ στο κουμπί "Προβολή 3D", το οποίο ανοίγει ένα άλλο παράθυρο με Java3D Model of the Cube. Μπορείτε να περιστρέψετε την κάμερα ενώ κρατάτε πατημένο το αριστερό κουμπί του ποντικιού (Πατήστε R για να επαναφέρετε την κάμερα). Για αναπαραγωγή/παύση της κινούμενης εικόνας πατήστε το πλήκτρο P, για να επαναφέρετε την επίσκεψη κινούμενων εικόνων Q. Το TextField κάτω από το κουμπί "Προβολή 3D" υποδηλώνει την τρέχουσα FrameTime, έτσι η ταχύτητα της κινούμενης εικόνας σας.

Όταν τελειώσετε με την κινούμενη εικόνα δώστε της ένα όνομα και πατήστε Αρχείο> Αποθήκευση ως… και αποθηκεύστε την κινούμενη εικόνα στον ίδιο φάκελο με το Cubo_Control.ino Sketch.

Για να συμπεριλάβετε νέα κινούμενα σχέδια στο Σκίτσο ανοίξτε το Cubo_Control.ino και προσθέστε τον ακόλουθο κώδικα πάνω από το Σκίτσο:

#include "RGBit.h" // Αντικατάσταση

Πραγματοποιήστε κύλιση προς τα κάτω στο BTEvent () και προσθέστε τη δήλωση πεζών-κεφαλαίων στο διακόπτη των κινούμενων εικόνων

διακόπτης (curAnim) {

… Περίπτωση 10: animation = & ani_cubesmove [0] [0]; FRAME_TIME = ANI_CUBESMOVE_FRAMTIME; maxCount = ANI_CUBESMOVE_FRAMES; Διακοπή; περίπτωση 11: // Η ΝΕΑ ΣΑΣ ΖΩΝΤΑΝΗ κίνηση = & ani_rgbit [0] [0]; FRAME_TIME = RGBIT_FRAMETIME; maxCount = ANI_RGBIT_FRAMES; Διακοπή; }

Βήμα 13: Εφαρμογή Bluetooth

Εφαρμογή Bluetooth
Εφαρμογή Bluetooth

Για να ελέγξετε πραγματικά τον κύβο, χάρη στη μονάδα HC-05, είναι πολύ απλό να δημιουργήσετε μια εφαρμογή Bluetooth για να συνδέσετε το τηλέφωνό σας με τον κύβο.

Σύνδεσμος προς την εφαρμογή: Github

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

  • Ξεκινήστε την εφαρμογή, σας ζητά να ενεργοποιήσετε το Bluetooth
  • Κάντε κλικ στην επιλογή "Αναζήτηση" και εμφανίζεται μια λίστα με τις διαθέσιμες συνδέσεις Bluetooth. Προσδιορίστε τη μονάδα HC-05 από το Cube και κάντε κλικ σε αυτήν.
  • Εάν υπάρχει σφάλμα κατά την προσπάθεια σύνδεσης στο Cube, δοκιμάστε να αντιστοιχίσετε χειροκίνητα τη μονάδα HC-05 στις ρυθμίσεις Bluetooth
  • Μόλις συνδεθεί, η εφαρμογή μεταβαίνει στην οθόνη ελέγχου και η σύνδεση Bluetooth έχει δημιουργηθεί

Έλεγχοι

  • Ταχύτητα & Φωτεινότητα: Αλλάξτε τις τιμές ρυθμιστικού για να επιταχύνετε/επιβραδύνετε την Κίνηση ή να αλλάζετε τη φωτεινότητα
  • Κινούμενα σχέδια: Κάντε κλικ σε ένα κουμπί για να αλλάξετε την κινούμενη εικόνα, από προεπιλογή τα κινούμενα σχέδια κάνουν κύκλους (ξεκινώντας από πάνω αριστερά το κουμπί αντιστοιχεί στο currAnim)
  • Κύλιση κειμένου: Κάντε κλικ στο κουμπί "Κείμενο" που εμφανίζει ένα παράθυρο διαλόγου για την εισαγωγή κειμένου που θα μετακινηθεί στον κύβο
  • Εντολή: Μπορείτε να εισαγάγετε εντολές χειροκίνητα με το Command TextField (ανατρέξτε στη μέθοδο BTEvent () του Cubo_Control.ino για σύνταξη)
  • Snake: classic Snake Game (κόκκινο: μήλο, πράσινο: snake Head, μπλε: sneak Tail) (Χειριστήρια: 4 κουμπιά κατεύθυνσης, Πάνω και Κάτω ενεργοποιείται γυρίζοντας το τηλέφωνο προς τα εμπρός (Πάνω) ή προς τα πίσω (Κάτω))
  • Audio Visualizer: Το MSGEQ7 χρησιμοποιείται για την απεικόνιση 6 ζωνών ήχου από το AUX Jack (Κουμπί για κινούμενα σχέδια 7)

Βήμα 14: Βιτρίνα

Συνιστάται: