Διαφήμιση
Αν έχετε μοιραστεί με μερικούς αρχαίους σχεδιαστές Arduino, αλλά ψάχνετε για κάτι λίγο μόνιμο και σε ένα άλλο επίπεδο φοβερό, τότε ο ταπεινός κύβος 4 x 4 x 4 LED είναι μια φυσική επιλογή. Η κατασκευή είναι πολύ πιο εύκολη από ό, τι νομίζετε και χρησιμοποιώντας μια πολυπλεξία μπορούμε να ελέγξουμε όλες τις λυχνίες LED απευθείας από ένα μόνο board Arduino Uno. Είναι μεγάλη πρακτική συγκόλλησης και το συνολικό κόστος των εξαρτημάτων δεν πρέπει να υπερβαίνει τα 40 δολάρια.
Σήμερα θα δουλέψω λεπτομερώς την κατασκευαστική πλευρά των πραγμάτων και θα έχω κάποιο λογισμικό που θα τρέξει πάνω σε αυτό που και τα δύο φαίνονται εντυπωσιακά και σας διδάσκει τα βασικά.
Θα χρειαστείτε
- Ενα Arduino. Ο κωδικός που παρέχεται παίρνει ένα Arduino Uno, αλλά μπορεί να προσαρμοστεί και σε ένα μεγαλύτερο μοντέλο.
- 64 LED - η ακριβής επιλογή εξαρτάται από εσάς, αλλά χρησιμοποίησα αυτά τα υπέροχα 3mm μπλε LED (3.2v 30ma) @ £ 2.64 για 50.
- 16 αντιστάσεις της κατάλληλης τιμής για τα LED σας. Για τα παραπάνω LED, 99 πένες αγόρασαν 100 από αυτά. Χρήση ledcalc.com - εισάγετε 5v για την τάση τροφοδοσίας, την τάση των LED (στην περίπτωσή μου 3.2) και το ρεύμα σε milliamps (3.2). Η επιθυμητή αντίσταση θα εμφανιστεί στο κουτί με την ετικέτα "Πλησιέστερη υψηλότερη ονομαστική αντίσταση", τότε απλά αναζητήστε την τιμή αυτή στο eBay.
- Μερικοί καλώδιο σκάφους για την ενίσχυση της βασικής δομής και για τη διακόσμηση - χρησιμοποίησα 0,8 mm πάχος.
- ΕΝΑ πρωτότυπο πίνακα από κάποιο είδος που μπορείτε να κολλήσετε όλα τα κομμάτια σας. Χρησιμοποίησα ένα που δεν είχε πλήρη κομμάτια μαζί του, καθώς δεν έχω κόπτη κομμάτι, αλλά χρησιμοποιήστε ό, τι σας ταιριάζει. Μια ασπίδα πρωτοτύπου Arduino είναι λίγο πολύ μικρή, αν δεν πιέσετε τα LED σας μαζί.
- Τυχαίο συστατικό σύρμα - κάποια σκέλη δικτύου καλωδίων και μερικά από τα καλώδια πρωτοτύπων από ένα κιτ θα λειτουργούν καλά.
- Κλιπ με κροκοδείλια ή "βοηθώντας τα χέρια" είναι χρήσιμα για τη διατήρηση των bits στη θέση τους.
- Κόλληση σιδήρου και συγκόλληση.
- Κάποιο ξύλο θραυσμάτων.
- Ένα τρυπάνι, με το ίδιο μέγεθος όπως τα LED σας.
Σημείωση: τα 3D σχέδια σε αυτό το σεμινάριο έγιναν σε λίγα λεπτά χρησιμοποιώντας TinkerCAD. Παρακολούθησα μια υπάρχουσα κατασκευή που αναλύεται λεπτομερώς από το χρήστη forte1994, την οποία ίσως θέλετε να διαβάσετε πριν επιχειρήσετε αυτό.
Βεβαιωθείτε ότι έχετε διαβάσει όλες αυτές τις οδηγίες πρώτα πριν επιχειρήσετε αυτό για τον εαυτό σας.
Η αρχή αυτού του σχεδιασμού
Πριν ξεκινήσετε την κατασκευή, είναι σημαντικό να έχετε μια πλήρη εικόνα του τρόπου με τον οποίο αυτό το πράγμα θα λειτουργήσει, ώστε να μπορείτε να αυτοσχεδιάζετε και να εντοπίζετε λάθη καθώς προχωράτε. Ορισμένοι κύβοι LED χρησιμοποιούν μία μόνο πηγή εξόδου για κάθε μία LED - ωστόσο σε έναν κύβο 4x4x4, που θα χρειαζόταν 64 ακίδες - κάτι που σίγουρα δεν έχουμε σε ένα Arduino Uno. Μια λύση θα ήταν η χρήση απομακρυσμένα μητρώα Προγραμματισμός Arduino - Αναπαραγωγή με καταχωρητές αλλαγής ταχυτήτων (ακόμη και περισσότερες ενδεικτικές λυχνίες LED)Σήμερα θα προσπαθήσω να σας διδάξω λίγο για τους Shift Registers. Αυτά είναι ένα αρκετά σημαντικό μέρος του προγραμματισμού Arduino, βασικά επειδή επεκτείνουν τον αριθμό των εξόδων που μπορείτε να χρησιμοποιήσετε, σε αντάλλαγμα για ... Διαβάστε περισσότερα , αλλά αυτό είναι άσκοπα περίπλοκο.
Για να ελέγξουμε όλα αυτά τα LED σε μόλις 20 ακίδες, θα χρησιμοποιήσουμε μια τεχνική που ονομάζεται πολυπλεξία. Διαγράφοντας τον κύβο κάτω σε 4 ξεχωριστά στρώματα, χρειαζόμαστε μόνο ακίδες ελέγχου για 16 LED - έτσι ώστε να ανάβει α ειδικά LED, πρέπει να ενεργοποιήσουμε τόσο το στρώμα όσο και τον πείρο ελέγχου, δίνοντάς μας μια συνολική απαίτηση 16 + 4 καρφίτσες. Κάθε στρώμα έχει μια κοινή κάθοδο - το αρνητικό μέρος του κυκλώματος - έτσι ώστε όλα τα αρνητικά σκέλη να ενωθούν μεταξύ τους και να συνδεθούν σε έναν μοναδικό πείρο για αυτό το στρώμα.
Στην άνοδο (θετικός) κάθε LED θα συνδεθεί στην αντίστοιχη λυχνία LED στη στρώση πάνω και κάτω από αυτήν. Στην ουσία, έχουμε 16 στήλες των θετικών ποδιών και 4 στρώματα των αρνητικών. Ακολουθούν κάποιες 3D προβολές των συνδέσεων που θα σας βοηθήσουν να καταλάβετε:


Κατασκευή
Δεδομένου ότι δεν θα χρησιμοποιήσουμε μια πλήρη μεταλλική δομή για τη συγκόλληση, θέλουμε όλα τα πόδια των LED να αλληλεπικαλύπτονται κατά περίπου ένα τέταρτο και να δίνουν ακαμψία στη δομή. Αναδιπλώστε την κάθοδο των LED σας - την πλευρά με την επίπεδη εγκοπή στο κεφάλι και το κοντύτερο σκέλος, όπως φαίνεται στο διάγραμμα. (Δεν έχει νόημα αν το λυγίζεις αριστερά ή δεξιά, εφ 'όσον είσαι συνεπής και δεν αγγίζει ποτέ την άνοδο)

Το πρώτο κρίσιμο μέρος αυτού του έργου είναι η κατασκευή ξύλινης συσκευής. Αυτό θα κρατήσει ένα στρώμα LED, ενώ θα κολλήσετε τα πόδια μαζί, έτσι πρέπει να είναι ακριβή και δεν είναι πολύ χαλαρά. Χρησιμοποιώντας το τρυπάνι ίδιου μεγέθους με τις λυχνίες LED, μετρήστε και στη συνέχεια τρυπήστε μια μήτρα 4 × 4 της αυτός που απέχει εξίσου τρύπες. Λάβετε υπόψη ότι θέλετε περίπου το ένα τέταρτο του σκέλους να επικαλύπτεται με το γείτονά του και να χρησιμοποιήσετε έναν πραγματικό κυβερνήτη. Ελέγξτε κάθε τρύπα για να βεβαιωθείτε ότι μια λυχνία LED μπορεί να ταιριάξει άνετα, αλλά όχι τόσο σφιχτά ώστε να μην μπορείτε να την βγάλετε ξανά ή θα έχετε προβλήματα όταν προσπαθείτε να αφαιρέσετε ένα πλήρως κολλημένο στρώμα.

Συνδέστε τις καθόδους των 4 σειρών LED. Προσέξτε να μην καψετε τις λυχνίες LED - θέλετε ένα καλό ζεστό σίδερο και να είστε μέσα και έξω. Εδώ ολοκληρώθηκαν οι τέσσερις πρώτες σειρές μου.

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

Ας ελπίσουμε ότι θα ανάψουν όλα. Αν όχι, βεβαιωθείτε ότι δεν έχετε χάσει μόνο μια κόλλα συγκόλλησης κάπου, και αν χρειάζεται αντικαταστήστε το LED.
Καταργήστε αυτό το στρώμα από το εργαλείο και επαναλάβετε τη διαδικασία 3 ακόμη φορές.
Μην ανησυχείτε εάν η συγκόλλησή σας δεν είναι τέλεια - όσο δεν πρόκειται να σπάσει και η σύνδεση είναι σταθερή, δεν θα επηρεάσει το τελικό προϊόν. Παραδέχομαι, η συγκόλλησή μου ήταν αρκετά απελπιστική, η τσέπη μου ήταν μακριά, και όλα έμοιαζαν με τον πύργο της Πίζας. Ακόμα, είμαι περήφανος για τον τελικό κύβο, και όταν τα LED είναι αναμμένα, δεν πρόκειται να κοιτάξετε τους αρμούς συγκόλλησης ούτως ή άλλως!
Σύνδεση επιπέδων
Μόλις έχετε ολοκληρώσει 4 επίπεδα, θα θελήσετε να ενώσετε όλα τα κάθετα πόδια μαζί. Το βρήκα αυτό το πιο δύσκολο κομμάτι της κατασκευής και για να βοηθήσω στη διαδικασία έκοψα ένα παλιό φύλλο από την κάρτα.

Αυτό κράτησε τα στρώματα στο κατάλληλο ύψος, αλλά πολλά από τα πόδια δεν θα ευθυγραμμίζονταν τέλεια - γι 'αυτό, χρησιμοποίησα μερικά κλιπ κροκοδείλου για να τα κρατήσω στη θέση τους.

1ο Silly λάθος για να αποφύγετε
Μόνο μετά την ολοκλήρωση ενός πλήρους στρώματος συνειδητοποίησα ότι ο αψίδα της κάρτας μου ήταν κολλημένος στη θέση του, οπότε έπρεπε να το κόψω! Μην κάνετε το ίδιο λάθος που έκανα - κάνατε τον ανερχόμενο περισσότερο στο πλάι και ενώνετε τα κομμάτια της κάρτας έξω από τον κύβο, οπότε όταν ολοκληρώσετε το στρώμα, μπορείτε να αποικοδομήσετε τον κατακόρυφο και να τραβήξετε το κάρτα.

2ο Silly λάθος για να αποφύγετε
Μην κολλήσετε το κάθετο πόδι στο πλαίσιο καθόδου, προφανώς. Τα κάθετα πόδια πρέπει να συνδέονται μόνο με άλλα κάθετα πόδια και τίποτα άλλο.
Και πάλι, δοκιμάστε μετά από κάθε στρώμα έχει επισυναφθεί. Δοκιμάστε όλα τα στρώματα, στην πραγματικότητα, μόνο αγγίζοντας το θετικό οδηγεί στην κορυφή του ανώτατου στρώματος, εξασφαλίζοντας έτσι ότι έχετε καλή επαφή που περνάει από όλα τα στρώματα.
Όταν όλα τα 4 στρώματα ήταν συγκολλημένα μαζί, έβαλα για να καθαρίσω λίγο - έφυγα από ένα μόνο πόδι που επεκτάθηκε από κάθε στρώμα σε ένα είδος βόλτας με πέτρα - αυτό θα πέσει κάτω στο αργότερα. Άλλα ξένα σκελετά από μεταλλικό σκελετό και τα πόδια κόπηκαν. Προφανώς, μην κόβετε κανένα από τα κάθετα πόδια - πρέπει να τα βάλουμε στην πρότυπη πλακέτα μας.

Τοποθέτηση στο διοικητικό συμβούλιο
Θυμηθείτε όταν είπα ότι ο καθορισμός κάθε στρώματος από μόνο του ήταν το πιο δύσκολο κομμάτι; Είπα ψέματα. Προσπαθώντας να χωρέσει 16 πόδια LED σε μικροσκοπικές οπές σε ένα πρωτότυπο πίνακα είναι στην πραγματικότητα πιο δύσκολο. Ο ευκολότερος τρόπος που βρήκα ήταν να σπρώξω 4 φορές τη φορά, να τους ασφαλίσω από κάτω με κλιπ κροκοδείλου και στη συνέχεια να προχωρήσω στην επόμενη σειρά των 4. Χρησιμοποιήστε μια μαρκαδόρο για να επισημάνετε την απόσταση από την αρχή, εάν σας βοηθήσει.

Σε εκ των υστέρων, θα ήθελα πρώτα να τοποθετήσω τους αντιστάτες στο πρωτοπόδιο. Όπως είναι, εγώ soldered όλα τα πόδια του κύβου στο διοικητικό συμβούλιο πρώτα, στη συνέχεια, προσπάθησε να συμπιέσει απαλά αντιστάσεις μεταξύ τους. Μάθετε από το λάθος μου και τοποθετήστε πρώτα τους αντιστάτες σας.
Προσπάθησα να τα χωρίσω εξίσου με ένα βήμα, επομένως θα μπορούσα να χρησιμοποιήσω μια ολόκληρη πλευρά του κύβου για όλες τις τελικές συνδέσεις με το Arduino. Εδώ είναι το διάγραμμα κυκλωμάτων που πήγα με:

Για τα τέσσερα αρνητικά στρώματα, έριξα ένα μόνο σύρμα κάτω από κάθε στρώμα, έπειτα τα έβγαλα απλά προς τα πλάγια, όπως αυτό:

Τέλος, πρόσθεσα μερικά καλώδια που θα μπορούσα να τοποθετήσω στη σχετική καρφίτσα Arduino. Χρησιμοποιήστε το μεγαλύτερο είδος που έχετε. Σημείωση Σημείωσα την παραγγελία σε μέρη λόγω κακής σχεδίασης. Κάθε σειρά LED είχε όμως κωδικό χρώματος.

Αυτό είναι. Τετελεσμένος!

Προγραμματισμός του κύβου σας
Ξέρω ότι δεν μπορείτε να περιμένετε για να πάρει αυτό το πράγμα πυροδότησε επάνω, έτσι συνδέστε τα 4 αρνητικά στρώματα σε Αναλογικές I / O θύρες A2 (κάτω στρώμα) διά μέσου A5 (ανώτερο στρώμα)(αυτά μπορούν επίσης να λειτουργούν ως ψηφιακά I / O). Στη συνέχεια, συνδέστε τις 16 ακίδες ελέγχου LED, αρχίζοντας από +1 στην άκρα δεξιά προς το ψηφιακών εισόδων / εξόδων θύρα 0, με +15 και +16 πηγαίνοντας σε αναλογική Α0 και Α1. (Μη χρησιμοποιείτε AREF και GND)

Κατεβάστε το τα πρότυπα επίδειξης και τον κώδικα από εκπαιδευμένο χρήστη forte1994. Παρέχει επίσης ένα χρήσιμο ηλεκτρονικό εργαλείο για το σχεδιασμό των μοντέλων byte για να προσαρμόσετε τη δική σας ακολουθία. Ακολουθεί ένα βίντεο αυτού του κώδικα σε δράση στον κύβο μου (Προσαρμοσμένη ταχύτητα 5, αντί για προεπιλογή 20).
Αυτός δεν είναι ο μόνος τρόπος για να προγραμματίσετε τον κύβο σας, φυσικά, γι 'αυτό επιτρέψτε μου να περάσω μερικά λεπτά διδάσκοντάς σας τα βασικά στοιχεία του να φτιάξετε τα δικά σας σχέδια προγραμματιστικά, αντί να αναπαράγετε προκαθορισμένα μοτίβα όπως το κάνει το παραπάνω demo.
Υπάρχουν μερικά πράγματα που πρέπει να γνωρίζετε κατά την προσπάθεια προγραμματισμού του κύβου σας:
- Για να αντιμετωπίσετε μία μόνο λυχνία LED, χρησιμοποιείτε ένα πλήκτρο a επίπεδο (στρώμα) αριθμός 0-3, και έναν αριθμό PIN 0-15. Γυρίστε το επίπεδο στην έξοδο ΧΑΜΗΛΗ (δεδομένου ότι πρόκειται για το αρνητικό πόδι) και τον αριθμό ακίδας LED HIGH (το θετικό πόδι) για να ενεργοποιήσετε τη λυχνία LED.
- Πριν ενεργοποιήσετε μια μόνο λυχνία LED, βεβαιωθείτε ότι όλα τα άλλα επίπεδα είναι απενεργοποιημένα - αυτό σημαίνει ότι τα έχετε ρυθμίσει σε υψηλή ένταση. Εάν δεν το κάνετε αυτό, θα προκύψει μια στήλη LED που ανάβει και όχι μία μόνο ενδεικτική λυχνία LED.
Με αυτό κατά νου, έχω κάνει δύο πολύ απλές προγραμματικές ακολουθίες για να εξετάσετε - κατεβάστε τον κώδικα από εδώ. Η πρώτη απλά φωτίζει κάθε LED μία προς μία, σε σειρά. Χρησιμοποιούμε δύο για βρόχους για αυτό, αναποδογυρίζοντας κάθε στρώμα και κάθε πείρο ελέγχου.
Ο δεύτερος είναι ένας τυχαίος βρόχος (θα χρειαστεί να σχολιάσετε το πρώτο και να ενεργοποιήσετε αυτό στον κεντρικό βρόχο για να το δοκιμάσετε). Απλώς επιλέγει ένα τυχαίο στρώμα και τυχαίο πινάκιο ελέγχου, αναβοσβήνοντας τα και ανάβοντας.
Περίληψη
Μην είστε ενθουσιασμένοι με αυτό το build - είμαι σοβαρά έλλειψη δεξιοτήτων συγκόλλησης, και το κατάφερα καλά (Νομίζω?). Ο συνολικός χρόνος κατασκευής ήταν μια ώρα περίπου μία ημέρα για μια εβδομάδα. Την επόμενη φορά θα προσπαθήσω να σας διδάξω έναν πιο φιλόδοξο προγραμματισμό για τον κύβο, οπότε ελπίζω ότι θα συμμετάσχετε μαζί μου στην οικοδόμηση του κύβου σας αυτήν την εβδομάδα και φόρτωση νέου κώδικα την επόμενη εβδομάδα - και εάν κάνετε τις δικές σας φοβερές εφαρμογές ή ακολουθίες, μεταφορτώστε τις στο Pastebin και ενημερώστε μας στο σχόλια!
Ο James έχει πτυχίο στην Τεχνητή Νοημοσύνη και είναι πιστοποιημένος με CompTIA A + και Network +. Είναι ο κύριος προγραμματιστής της MakeUseOf, και ξοδεύει τον ελεύθερο χρόνο του παίζοντας VR paintball και boardgames. Κατασκευάζει υπολογιστές από τότε που ήταν παιδί.