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

Κύβος LED 4x4x4: 11 βήματα (με εικόνες)
Κύβος LED 4x4x4: 11 βήματα (με εικόνες)

Βίντεο: Κύβος LED 4x4x4: 11 βήματα (με εικόνες)

Βίντεο: Κύβος LED 4x4x4: 11 βήματα (με εικόνες)
Βίντεο: LED cube 4x4x4 (Red) - Κύβος LED 4x4x4 (Κόκκινο) 2024, Ιούλιος
Anonim
Κύβος LED 4x4x4
Κύβος LED 4x4x4
Κύβος LED 4x4x4
Κύβος LED 4x4x4
Κύβος LED 4x4x4
Κύβος LED 4x4x4

Καταπληκτική τρισδιάστατη οθόνη LED. 64 LED αποτελούν αυτόν τον κύβο 4 επί 4 επί 4, που ελέγχεται από έναν μικροελεγκτή Atmel Atmega16. Κάθε LED μπορεί να αντιμετωπιστεί ξεχωριστά στο λογισμικό, επιτρέποντάς του να εμφανίζει εκπληκτικά τρισδιάστατα κινούμενα σχέδια! Ο κύβος LED 8x8x8 είναι τώρα διαθέσιμος, με δημοφιλή ζήτηση:

Βήμα 1: Αυτό που χρειάζεστε

Ο, τι χρειάζεσαι
Ο, τι χρειάζεσαι

Πρώτα απ 'όλα, χρειάζεστε πολύ χρόνο για να κολλήσετε μαζί 64 led;) Λίστα γνώσεων:

  • Βασικές δεξιότητες ηλεκτρονικής και συγκόλλησης
  • Ξέρετε πώς να προγραμματίσετε έναν μικροελεγκτή AVR - δεν θα το καλύψω σε αυτό το εκπαιδευτικό εγχειρίδιο.

Λίστα εξαρτημάτων:

  • Protoboard. Ο τύπος με κύκλους χαλκού.
  • Μικροελεγκτής Atmel AVR Atmega16
  • Προγραμματιστής για τον προγραμματισμό του Atmega16
  • 64 Leds
  • 2 led led. Χρησιμοποίησα κόκκινο και πράσινο. (προαιρετικός)
  • Τσιπ Max232 rs-232 ή ισοδύναμο.
  • 16 αντιστάσεις για led. (100-400ohms) θα επιστρέψει σε αυτό.
  • 2x αντίσταση 470 ohm. για led status
  • 1x αντίσταση 10k
  • 4x αντίσταση 2,2k
  • 4x τρανζίστορ NPN BC338 (ή άλλο τρανζίστορ ικανό να αλλάξει mA 250-ish)
  • Πυκνωτής 1x 10uF
  • Πυκνωτής 1x 1000uF
  • 6x κεραμικός πυκνωτής 0.1uF
  • Κεραμικός πυκνωτής 2x 22pF
  • 1x κρύσταλλο 14.7456 MHz
  • 2x απτικό κουμπί
  • προαιρετικός διακόπτης pwr
  • σύνδεσμος για ισχύ 12v
  • προαιρετικός σύνδεσμος για ισχύ 5v

Βήμα 2: Πολυπλεξία

Πολυπλεξία
Πολυπλεξία
Πολυπλεξία
Πολυπλεξία

Πώς να ελέγξετε 64 LED χωρίς να χρησιμοποιήσετε 64 μεμονωμένα καλώδια; Multiplexing!

Το να περάσετε ένα καλώδιο στην άνοδο κάθε led θα ήταν προφανώς ανέφικτο και θα φαινόταν πολύ κακό. Ένας τρόπος για να το ξεπεράσετε, είναι να χωρίσετε τον κύβο σε 4 στρώματα LED 16x16. Όλες οι λυχνίες LED ευθυγραμμισμένες σε κάθετη στήλη μοιράζονται μια κοινή άνοδο (+). Όλες οι λυχνίες LED σε ένα οριζόντιο στρώμα μοιράζονται μια κοινή κάθοδο (-). Τώρα αν θέλω να ανάψω το LED στην επάνω αριστερή γωνία στο πίσω μέρος (0, 0, 3), απλώς παρέχω GND (-) στο επάνω στρώμα και VCC (+) στη στήλη στην αριστερή γωνία. Εάν θέλω να ανάψω μόνο ένα led κάθε φορά, ή να ανάψω μόνο περισσότερα από ένα στρώματα ταυτόχρονα.. αυτό λειτουργεί καλά. Ωστόσο, αν θέλω επίσης να φωτίσω την κάτω δεξιά γωνία μπροστά (3, 3, 0), αντιμετωπίζω προβλήματα. Όταν παρέχω GND στο κάτω στρώμα και VCC στην μπροστινή αριστερή στήλη, ανάβω επίσης την επάνω δεξιά λυχνία εμπρός (3, 3, 3) και την κάτω αριστερή λυχνία LED στο πίσω μέρος (0, 0, 0) Το Αυτό το φαινόμενο φαντασμάτων είναι αδύνατο να λυθεί χωρίς την προσθήκη 64 μεμονωμένων καλωδίων. Ο τρόπος για να το δουλέψετε είναι να φωτίζετε μόνο ένα στρώμα κάθε φορά, αλλά το κάνετε τόσο γρήγορα ώστε το μάτι να μην αναγνωρίζει ότι ανάβει μόνο ένα στρώμα ανά πάσα στιγμή. Αυτό βασίζεται σε ένα φαινόμενο που ονομάζεται Επιμονή της όρασης. Κάθε επίπεδο είναι μια εικόνα 4x4 (16). Αν αναβοσβήνουμε 4 16 οδηγημένες εικόνες μία τη φορά, πολύ γρήγορα, έχουμε μια τρισδιάστατη εικόνα 4x4x4!

Βήμα 3: Παρασκευή του κύβου, πρότυπο

Κάνοντας τον κύβο, πρότυπο
Κάνοντας τον κύβο, πρότυπο
Κάνοντας τον κύβο, πρότυπο
Κάνοντας τον κύβο, πρότυπο
Κάνοντας τον κύβο, πρότυπο
Κάνοντας τον κύβο, πρότυπο

Τα συγκολλητικά πλέγματα των 4x4 LEDs θα φαίνονταν φοβερά! Για να αποκτήσουμε 4 τέλεια πλέγματα 4x4 LED, χρησιμοποιούμε ένα πρότυπο για να τα κρατήσουμε στη θέση τους. Wantedθελα να κάνω τον κύβο όσο το δυνατόν πιο εύκολο, γι 'αυτό επέλεξα να χρησιμοποιήσω τα LED τα πόδια του όσο το δυνατόν περισσότερο. Η απόσταση μεταξύ των γραμμών στο πλέγμα καθορίστηκε από το μήκος των ποδιών LED. Διαπίστωσα ότι 25 mm (περίπου μια ίντσα) ήταν η βέλτιστη απόσταση μεταξύ κάθε led (μεταξύ του κέντρου κάθε led δηλαδή!) Για να επιτρέπεται η συγκόλληση χωρίς προσθήκη ή κοπή σύρματος.

  • Βρείτε ένα κομμάτι ξύλου αρκετά μεγάλο για να φτιάξετε ένα πλέγμα 4x4 των 2, 5 εκατοστών.
  • Σχεδιάστε ένα πλέγμα γραμμών 4x4.
  • Κάνετε βαθουλώματα σε όλες τις διασταυρώσεις με μια κεντρική γροθιά.
  • Βρείτε ένα τρυπάνι που κάνει τις τρύπες αρκετά μικρές ώστε το led να παραμένει σταθερά στη θέση του και αρκετά μεγάλο ώστε το led να μπορεί εύκολα να τραβηχτεί έξω (χωρίς να λυγίσει τα καλώδια..).
  • Τρυπήστε τις 16 τρύπες.
  • Το πρότυπο ledcube ολοκληρώθηκε.

Βήμα 4: Φτιάχνοντας τον κύβο, συγκολλήστε τα στρώματα

Κάνοντας τον κύβο, συγκολλήστε τα στρώματα
Κάνοντας τον κύβο, συγκολλήστε τα στρώματα
Κάνοντας τον κύβο, συγκολλήστε τα στρώματα
Κάνοντας τον κύβο, συγκολλήστε τα στρώματα
Κάνοντας τον κύβο, συγκολλήστε τα στρώματα
Κάνοντας τον κύβο, συγκολλήστε τα στρώματα

Κάνουμε τον κύβο σε 4 στρώματα 4x4 led και μετά τα κολλάμε μαζί. Δημιουργήστε ένα στρώμα:

  • Τοποθετήστε τα LED κατά μήκος της πίσω πλευράς και κατά μήκος της μιας πλευράς και συγκολλήστε τα μαζί
  • Τοποθετήστε μια άλλη σειρά LED και συγκολλήστε τα μαζί. Κάντε μια σειρά κάθε φορά για να αφήσετε τη θέση για το κολλητήρι!
  • Επαναλάβετε το παραπάνω βήμα 2 ακόμη φορές.
  • προσθέστε εγκάρσια στήριξη στο μπροστινό μέρος όπου οι σειρές led δεν είναι συνδεδεμένες.
  • Επαναλάβετε 4 φορές.

Βήμα 5: Φτιάχνοντας τον κύβο, συνδέοντας τα στρώματα

Κάνοντας τον κύβο, συνδέοντας τα στρώματα
Κάνοντας τον κύβο, συνδέοντας τα στρώματα
Κάνοντας τον κύβο, συνδέοντας τα στρώματα
Κάνοντας τον κύβο, συνδέοντας τα στρώματα
Κάνοντας τον κύβο, συνδέοντας τα στρώματα
Κάνοντας τον κύβο, συνδέοντας τα στρώματα

Τώρα που έχουμε αυτά τα 4 στρώματα, το μόνο που έχουμε να κάνουμε είναι να τα κολλήσουμε μαζί.

Τοποθετήστε ξανά ένα στρώμα στο πρότυπο. Αυτό θα είναι το επάνω στρώμα, οπότε επιλέξτε το πιο όμορφο:) Βάλτε ένα άλλο στρώμα από πάνω και ευθυγραμμίστε μία από τις γωνίες ακριβώς 25mm (ή όποια απόσταση χρησιμοποιήσατε στο πλέγμα σας) πάνω από το πρώτο στρώμα. Αυτή είναι η απόσταση μεταξύ των καλωδίων καθόδου. Κρατήστε τη γωνία στη θέση της με ένα χέρι βοήθειας και κολλήστε τη γωνιακή άνοδο του πρώτου στρώματος στη γωνιακή άνοδο του δεύτερου στρώματος. Κάντε αυτό για όλες τις γωνίες. Ελέγξτε εάν τα επίπεδα είναι απόλυτα ευθυγραμμισμένα σε όλες τις διαστάσεις. Αν δεν λυγίσει λίγο για να προσαρμοστεί. Or ξανακολλήστε την απόσταση ύψους που είναι μακριά. Όταν ευθυγραμμιστούν τέλεια, κολλήστε τις υπόλοιπες 12 άνοδοι μαζί. Επαναλάβετε 3 φορές.

Βήμα 6: Επιλογή τιμών αντίστασης

Επιλογή τιμών αντίστασης
Επιλογή τιμών αντίστασης
Επιλογή τιμών αντίστασης
Επιλογή τιμών αντίστασης

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

1) Οι λυχνίες LED 2) Το AVR Το AVR έχει μέγιστη ονομαστική ένταση ρεύματος 200 mA. Αυτό μας δίνει 12mA για εργασία με κάθε LED. Επίσης, δεν θέλετε να υπερβείτε το μέγιστο ρεύμα στο οποίο βαθμολογούνται τα led σας. Χρησιμοποίησα αντιστάσεις 220 ohm στον κύβο μου. Αυτό μου έδωσε περίπου 12mA ανά led.

Βήμα 7: Ο ελεγκτής

Ο ελεγκτής
Ο ελεγκτής
Ο ελεγκτής
Ο ελεγκτής
Ο ελεγκτής
Ο ελεγκτής

Τα κυκλώματα που ελέγχουν τον κύβο led περιγράφονται στη συνημμένη σχηματική εικόνα.

Η διεπαφή RS-232 είναι προαιρετική. και μπορεί να παραλειφθεί. Αυτό είναι το IC2 και όλα τα εξαρτήματα που συνδέονται με αυτό. Τα μελλοντικά υλικολογισμικά θα επιτρέψουν την επικοινωνία με τον υπολογιστή. Εάν όλα ταιριάζουν, κολλήστε το κύκλωμα. Δεν θα δώσω περισσότερες οδηγίες σχετικά με αυτό, καθώς το κύκλωμα πιθανότατα θα φαίνεται πολύ διαφορετικό από κύβο σε κύβο, ανάλογα με το μέγεθος της πλακέτας κυκλώματος κ.λπ. βήμα.

Βήμα 8: Συρματώστε τον κύβο

Wire Up the Cube
Wire Up the Cube
Wire Up the Cube
Wire Up the Cube
Wire Up the Cube
Wire Up the Cube

Οι εικόνες το εξηγούν καλύτερα από τις λέξεις. Παρακαλώ δείτε τις εικόνες.

Βήμα 9: Μεταγλώττιση και προγραμματισμός

Τώρα έχετε έναν κύβο led. Για να το χρησιμοποιήσει, χρειάζεται κάποιο λογισμικό. Έχω κάνει ένα πρόγραμμα οδήγησης για την απόδοση ενός τρισδιάστατου χώρου δεδομένων στον κύβο και λειτουργίες για την εμφάνιση ορισμένων δροσερών οπτικών εφέ στον κύβο. Μπορείτε να χρησιμοποιήσετε τον κωδικό μου, να γράψετε τον δικό σας ή να βασιστείτε τον κωδικό μου και κάντε περισσότερα εφέ. Εάν κάνετε τα δικά σας εφέ, στείλτε μου τον κωδικό. Ανυπομονώ να δω τι φτιάχνετε! Για να μεταγλωττίσετε το πρόγραμμα. Απλώς ανοίξτε μια εντολή εντολής, εισαγάγετε τον κατάλογο με τον κωδικό πηγαίου κώδικα "make" στη γραμμή εντολών. Εάν θέλετε να χρησιμοποιήσετε ένα ATMega32 αντί για το ATMega16, απλώς αλλάξτε τη ρύθμιση mcu στο Makefile και επανασυγκολλήστε (πληκτρολογήστε make). Εάν χρησιμοποιείτε το m32 και δεν κάνετε αυτό το βήμα, ο κύβος δεν θα εκκινήσει σωστά (τα κόκκινα και πράσινα φώτα θα αναβοσβήνουν για πάντα). Θα πρέπει τώρα να έχετε ένα αρχείο με το όνομα main.hex στον κατάλογο προέλευσης. θα σας δείξει πώς να εισάγετε αυτόν τον κωδικό στον κύβο σας.

Βήμα 10: Προγραμματίστε τον μικροελεγκτή

Προγραμματίστε τον μικροελεγκτή
Προγραμματίστε τον μικροελεγκτή
Προγραμματίστε τον μικροελεγκτή
Προγραμματίστε τον μικροελεγκτή
Προγραμματίστε τον μικροελεγκτή
Προγραμματίστε τον μικροελεγκτή

Εάν αντιμετωπίζετε προβλήματα με την ταχύτητα ή/και κάποια LED που δεν ανάβουν. Διαβάστε προσεκτικά αυτό το βήμα. Για τον προγραμματισμό του μικροελεγκτή, χρησιμοποιώ το avrdude και τον προγραμματιστή USBTinyISP.

  • https://savannah.nongnu.org/projects/avrdude/
  • https://www.ladyada.net/make/usbtinyisp/
  • https://www.adafruit.com/index.php?main_page=index&cPath=16

Τα παραδείγματά μου θα είναι σε σύστημα Linux Ubuntu. Η διαδικασία θα πρέπει να είναι σχεδόν πανομοιότυπη στα Windows, αλλά δεν μπορώ να σας βοηθήσω σε αυτό. Εάν χρησιμοποιείτε άλλο προγραμματιστή, διαβάστε το εγχειρίδιο για αυτόν τον προγραμματιστή και το avrdude. Αρχικά, ας δούμε αν μπορούμε να επικοινωνήσουμε με το AVR. Συνδέστε τον προγραμματιστή με τον κύβο και τον υπολογιστή σας. Η εντολή είναι "avrdude -c usbtiny -p m16 ", όπου -c καθορίζει τον προγραμματιστή και -p το μοντέλο AVR. Μπορείτε να δείτε την έξοδο στις παρακάτω εικόνες. Τώρα, ανεβάστε το υλικολογισμικό: "avrdude -c usbtiny -p m16 -U flash: w: main.hex". Μέχρι τώρα, ο κύβος πρέπει να επανεκκινήσει και να αρχίσει να κάνει πράγματα. Θα λειτουργεί στα 1mhz (πολύ αργά) χρησιμοποιώντας τον εσωτερικό ταλαντωτή του. Και μερικά από τα led δεν θα λειτουργήσουν, επειδή ορισμένες θύρες GPIO χρησιμοποιούνται για JTAG από προεπιλογή. Για να ενεργοποιήσετε τον εξωτερικό ταλαντωτή και να απενεργοποιήσετε το JTAG, πρέπει να προγραμματίσουμε τα byte ασφάλειας: τρέξτε "avrdude -c usbtiny -p m16 -U lfuse: w: 0xef: m "και" avrdude -c usbtiny -p m16 -U hfuse: w: 0xc9: m ". Να είστε προσεκτικοί όταν κάνετε αυτό το βήμα! Εάν το κάνετε λάθος, μπορείτε να καταστρέψετε οριστικά τον μικροελεγκτή σας! Εάν χρησιμοποιείτε άλλο μικροελεγκτή από το ATMega16, φροντίστε να διαβάσετε προσεκτικά το φύλλο δεδομένων πριν αλλάξετε τα byte ασφάλειας! Αφού γράψετε τα σωστά byte ασφάλειας, ο κύβος πρέπει να επανεκκινήσει και να αρχίσει να λειτουργεί με κανονική ταχύτητα με όλα τα led να λειτουργούν. Απολαύστε τον νέο σας κύβο: ρε

Βήμα 11: Γίνετε μεγάλος - 8x8x8

Go Large - 8x8x8
Go Large - 8x8x8
Go Large - 8x8x8
Go Large - 8x8x8
Go Large - 8x8x8
Go Large - 8x8x8
Go Large - 8x8x8
Go Large - 8x8x8

Αφού έφτιαξα αυτόν τον αρκετά φανταχτερό κύβο 4x4x4, έφτιαξα επίσης έναν τεράστιο κύβο 8x8x8. Θα κάνω ένα οδηγό για αυτό όταν έχω χρόνο. Εν τω μεταξύ, δείτε φωτογραφίες:-)

Μπορείτε να βρείτε την έκδοση 8x8x8 εδώ: https://www.instructables.com/id/Led-Cube-8x8x8/ Βαθμολογήστε αυτό το διδακτικό αν σας αρέσει!:)

Συνιστάται: