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

LED Matrix Game of Life 32 X 32: 8 Βήματα
LED Matrix Game of Life 32 X 32: 8 Βήματα

Βίντεο: LED Matrix Game of Life 32 X 32: 8 Βήματα

Βίντεο: LED Matrix Game of Life 32 X 32: 8 Βήματα
Βίντεο: Стоит БРАТЬ ВСЕМ?? И чем хорош радиоприемник ATS25X1 подробный обзор 2024, Νοέμβριος
Anonim
LED Matrix Game of Life 32 X 32
LED Matrix Game of Life 32 X 32

Εμπνεύστηκα από το Jptrsn's16 x16 Game of Life, αλλά κατέληξα τέσσερις φορές μεγαλύτερο. Βρήκα κάποια MAX7219 Dot Matrix Module 4-in-1 Display For Arduino boards στο Bangood.com για 3,50 when όταν έφτασαν, αποδείχθηκε ότι ήταν αρκετά δύσκολο να τα χωρίσω και να τα χρησιμοποιήσω σε πλέγμα 16x16 όπως είχα προγραμματίσει, έτσι αποφάσισα να κάνω ένα πλέγμα 32x32. Τότε τα πράγματα έγιναν δύσκολα, καθώς δεν μπορείτε απλά να αυξήσετε τον κώδικα.

Βήμα 1: Μέρη

Πήρα τα μέρη μου από το BangGood, αλλά μπορείτε να τα προμηθευτείτε οπουδήποτε. 1. Ένα Arduino Nano (~ £ 2) 2. 4 1x4 Led Matrix (~ £ 3.50 x 4) ή αναζητήστε πολλαπλές συσκευασίες που μερικές φορές είναι φθηνότερες 3. Κάποιο σύρμα 4. Μια υποδοχή μικροϋπολογιστών USB (<£ 1) 5. Ένα USB τροφοδοτικό (<£ 5) 6. Κορνίζα κουτιού 6 "x6" /15cmx15cm (~ £ 4) από τοπικό κατάστημα χειροτεχνίας

Βήμα 2: Εργαλεία

1. Πυροβόλο θερμής κόλλας

2. Συγκολλητικό σίδερο

3. Απογυμνωτές καλωδίων

4. Κοφτερό μαχαίρι

Βήμα 3: Δημιουργία Breadboard

Breadboard Build
Breadboard Build

Ένα πράγμα που έμαθα σε αυτό το σημείο είναι ότι ένα nano (και πιθανώς άλλα Arduinos) δεν μπορεί να παρέχει αρκετή ισχύ για να τρέξει και τους 4 πίνακες χωρίς να καεί η παροχή ρεύματος! προειδοποιηθείτε

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

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

Στη συνέχεια, συνδέστε το DataIn στο pin 12, φορτώστε (ή το CS) στο pin 11 και το Clock (ή το CLK) στο pin 10 και για την άλλη αλυσίδα στο 5, 4 & 3. Εναλλακτικά, μπορείτε να επιλέξετε όποιες ψηφιακές ακίδες θέλετε να θυμάστε να αλλάξετε τον κωδικό για να αντικατοπτρίζει την επιλογή σας. Στη συνέχεια, προσθέστε την πρίζα USB στο breadboard. Στη συνέχεια, συνδέστε τους πείρους v+ και γείωσης στις ράγες της σανίδας. Στη συνέχεια, πρέπει να συνδέσετε τα καλώδια τροφοδοσίας από τις 2 αλυσίδες στο +ve και τη γείωση και να συνδέσετε τη γείωση Arduino με τη γείωση. Μόλις ολοκληρώσουμε τον προγραμματισμό του πίνακα, μπορείτε να συνδέσετε το Arduino vin με το v+ και να μην συνδέσετε ξανά το USB Aurdino.

Βήμα 4: Κωδικός

Στην αρχή, σκέφτηκα ότι το μόνο που έπρεπε να κάνω ήταν να πάρω τον υπάρχοντα κώδικα και να τον ανεβάσω για 32x32, αλλά είναι λίγο πιο δύσκολο από αυτό. 1. Χρειάζεστε δύο LedControl, καθώς το καθένα μπορεί να οδηγήσει μόνο 8 MAX7219s LedControl lc [2] = {LedControl (12, 10, 11, 8), LedControl (5, 3, 4, 8)} · 2. Δεν υπάρχει αρκετή μνήμη σε ένα Nano για να αποθηκεύσετε 2 πλήρεις συστοιχίες 32x32 byte για να διατηρήσετε την κατάσταση του πίνακα. (Τέλος, όλες οι φορές που έχω γράψει τον κωδικό Game of Life σε έναν πίνακα στις συνεντεύξεις αποδίδουν.) Έτσι, ορίζουμε το πίνακες πίνακα ως 32x4 και αποθηκεύστε την κατάσταση κάθε κελιού ως bit στα byte σε όλο τον πίνακα.

Βήμα 5: Το βάζουμε όλα μαζί

Πρώτα δοκιμάστε τον κώδικα και η διάταξη των σανίδων είναι η αναμενόμενη χρησιμοποιώντας τη μέθοδο "testPattern" για να σχεδιάσετε έναν διαγώνιο σταυρό στους πίνακες. Εάν αυτό δεν φαίνεται σωστό, τότε κάτι δεν πάει καλά με τη σειρά των σανίδων και/ή των καρφιτσών που έχετε αρχικοποιήσει. Στη συνέχεια, ελέγξτε τα πράγματα με τη μέθοδο του ανεμοπλάνου που δημιουργεί ένα ανεμόπτερο που κινείται στην οθόνη. Και πάλι αν δεν λειτουργεί τότε ελέγξτε τη σειρά των ακίδων κλπ. Τέλος, ορίστε την κύρια μέθοδο να είναι "τυχαία", ορίστε το NUMITR στον αριθμό των φορών που πρέπει να επαναλαμβάνεται πριν από την επαναφορά.

Βήμα 6: Πλαισιώστε το

Πλαίσιο επάνω
Πλαίσιο επάνω

Τώρα για να βάλετε τα πάντα σε ένα πλαίσιο. Πρώτον, κολλήστε θερμά τις μήτρες μαζί σε πλαίσιο 32x32. Θυμηθείτε να βεβαιωθείτε ότι το άκρο εισόδου είναι στην ίδια πλευρά για όλους τους (ή τροποποιήστε τον κώδικα αναζήτησης στο "gridToCell" για να επιτρέψετε την ανατροπή του 2ου πίνακα). Προσθέστε την πρίζα και έναν διακόπτη στη γραμμή 5v και κολλήστε τα όλα μαζί.

Βήμα 7: Θέματα πλαισίου

Αποδεικνύεται ότι χρειάζεστε μεγαλύτερο πλαίσιο από το 6x6 που έχω. Θα πρέπει λοιπόν να επιστρέψω για να το τελειώσω όταν έχω την ευκαιρία να φτάσω στο κατάστημα.

Βήμα 8:

Συνιστάται: