Τα Χριστούγεννα είναι εδώ και πάλι, και αν είναι η αγαπημένη σας διακοπές του έτους ή σας φέρνει σε έναν κρύο ιδρώτα, οι διακοσμήσεις αρχίζουν να ανεβαίνουν. Φέτος, γιατί να μην ενσωματώσετε κάποια DIY τεχνολογία στις διακοσμήσεις σας για να τους ξεχωρίσετε;
Σε αυτό το έργο θα χτίσουμε ένα ανθεκτικό στις καιρικές συνθήκες κινητό 8 x 8 LED matrix από το μηδέν ... για κάτω από $ 20. Είναι σχεδιασμένο να ταιριάζει στο κέντρο ενός κλασσικού στεφάνι Χριστουγέννων, αν και θα μπορούσε να χρησιμοποιηθεί οπουδήποτε γύρω από το σπίτι. Και δεδομένου ότι είναι μπαταρία τροφοδοτείται, οπουδήποτε μακριά από το σπίτι πάρα πολύ!
Λίστα ανταλλακτικών
Για αυτό το έργο θα χρειαστείτε:
- Arduino.
- Χρησιμοποίησα το Nano για το μικρό του μέγεθος, αλλά θα μπορούσατε να χρησιμοποιήσετε σχεδόν οποιοδήποτε συμβατό Arduino μικροελεγκτή Arduino Οδηγός Αγοράς: Ποιο Συμβούλιο θα έπρεπε να πάρετε; Arduino Οδηγός αγοράς: Ποιο συμβούλιο πρέπει να πάρετε; Υπάρχουν τόσα πολλά διαφορετικά είδη σανίδων Arduino εκεί έξω, θα συγχωρεθήκατε για σύγχυση. Ποια θα πρέπει να αγοράσετε για το έργο σας; Ας βοηθήσουμε, με αυτόν τον οδηγό αγοράς Arduino! Διαβάστε περισσότερα .
- 64 x κόκκινα LED.
- 8 x 220 Ohm αντιστάσεις.
- Αισθητήρα κίνησης PIR.
- Πολλά σετ εκκίνησης Arduino Τι περιλαμβάνεται σε ένα κιτ εκκίνησης Arduino; [Το MakeUseOf εξηγεί] Τι περιλαμβάνεται σε ένα κιτ εκκίνησης Arduino; [MakeUseOf Εξηγεί] Έχω εισαγάγει προηγουμένως το υλικό ανοικτού κώδικα Arduino εδώ στο MakeUseOf, αλλά θα χρειαστείτε κάτι περισσότερο από το πραγματικό Arduino για να χτίσετε κάτι από αυτό και να ξεκινήσετε πραγματικά. Arduino "κιτ εκκίνησης" είναι ... Διαβάστε περισσότερα έρχονται με αυτά. Αγόρασα ένα multi-pack από το Amazon για $ 10.
- 1 τεμάχιο πρότυπο πίνακα.
- Αυτός που χρησιμοποιείται εδώ ήταν 9 x 7 cm, αν και μπορείτε να χρησιμοποιήσετε οποιοδήποτε μέγεθος θέλετε.
- 7-12v μπαταρία.
- Μια απλή μπαταρία χρησιμοποιείται εδώ για λόγους προϋπολογισμού, αλλά ένας φορητός τροφοδότης τράπεζας Οι καλύτεροι Pokemon Go Power Banks Οι καλύτεροι Pokemon Go Power Banks Pokemon Go κερδίζει το καλό από την μπαταρία ενός τηλεφώνου. Το να πιέζετε λίγο περισσότερο χυμό από το τηλέφωνό σας απαιτεί τράπεζα ενέργειας. Αλλά ποια είναι η καλύτερη μπαταρία εκεί έξω; Το στοιχείο "Διαβάστε περισσότερα" μπορεί να διαρκέσει ακόμη περισσότερο.
- Ποικιλία σύντομων τεμαχίων σύρματος.
- Κουτί Tupperware ή παρόμοιο περίβλημα.
- Βεβαιωθείτε ότι θα είναι αρκετά μεγάλο για να χωρέσει όλα τα συστατικά σας μέσα!
- Χριστουγεννιάτικο στεφάνι.
- Οποιοσδήποτε θα κάνει, βεβαιωθείτε ότι το κιβώτιο του περιβλήματος ταιριάζει μέσα του.
- Κόλληση και συγκόλληση.
Αν και δεν είναι απολύτως απαραίτητο, όπως θα μπορούσατε να κολλήσετε τα εξαρτήματα κατευθείαν στο Nano, βρήκα επίσης ένα μικρό breadboard πολύ χρήσιμο κατά τη διάρκεια των δοκιμών. Ένα ζεστό πιστολιού κόλλας βοηθά επίσης να τοποθετήσετε όλα τα μέρη μαζί.
Αυτό το έργο απαιτεί πολλή συγκόλληση, και ως αρχάριος μπορεί να φαίνεται τρομακτικό. Εγώ προσωπικά είμαι ακόμα πολύ αρχάριος στη συγκόλληση και βρήκα ότι δεν είναι τόσο δύσκολο όσο και χρονοβόρο όσο φαίνεται. Αν είστε επίσης νέοι στη συγκόλληση εδώ είναι μερικές καλές συμβουλές για να βοηθήσετε να μάθετε πώς να συγκολλήσετε με αυτές τις απλές συμβουλές και σχέδια Μάθετε πώς να κολλήσετε με αυτές τις απλές συμβουλές και έργα Είστε λίγο εκφοβισμένοι από τη σκέψη ενός ζεστού σιδήρου και λιωμένο μέταλλο? Εάν θέλετε να αρχίσετε να εργάζεστε με ηλεκτρονικά, θα πρέπει να μάθετε να κολλήσετε. Ας βοηθήσουμε. Διαβάστε περισσότερα .
Εάν δεν είστε πραγματικά καλοί στην ιδέα της συγκόλλησης, αυτό το έργο είναι επίσης δυνατό με LED ταινίες Project Weekend: Κατασκευάστε ένα Giant LED Pixel Display Weekend Project: Κατασκευάστε ένα Giant LED Pixel Display I love LED pixels: φωτεινό, εύκολο στον έλεγχο, φθηνό και τόσο ευέλικτο. Σήμερα, θα τα μετατρέψουμε σε μια μεγάλη οθόνη pixel που μπορεί να κρεμαστεί στον τοίχο. Διαβάστε περισσότερα ή μια έτοιμη μήτρα LED που μπορεί να έχετε στο κιτ εκκίνησης. Κάποιες προσαρμογές κώδικα θα είναι απαραίτητες εάν αποφασίσετε να μεταβείτε στη διαδρομή αυτή.
Ρύθμιση του Arduino
Θα ξεκινήσουμε με το διάγραμμα κυκλωμάτων για το Arduino και τα καλώδια που θα συνδέσουμε με τον αισθητήρα PIR και το LED matrix.
Μέσα στο Matrix
Τώρα για να κάνουμε το 8 x 8 LED matrix μας. Είναι μια καλή ιδέα να αρχίσετε να δημιουργείτε μία σειρά και μία στήλη του πίνακα, για να βεβαιωθείτε ότι είναι ακριβώς εκεί που το θέλετε στην πρότυπη σανίδα.
Στην παραπάνω φωτογραφία, όλες οι λυχνίες LED τοποθετούνται έτσι ώστε οι άνοδοι (το μακρύτερο, θετικό πόδι) να είναι προς την κορυφή του πρωτοκόλλου. Αυτό είναι σημαντικό, καθώς θα δημιουργούμε στήλες κοινών ανόδων με την ένωση τους και σειρές κοινών καθόδων (το μικρότερο, αρνητικό πόδι). Να πάρει αυτό το σωστό τώρα θα εξοικονομήσει πονοκεφάλους αργότερα!
Πρόκειται να δημιουργήσουμε μια κοινή κάθοδο πίνακα καθόδου, αυτό το διάγραμμα δείχνει πώς είναι όλα συνδεδεμένα.
Μπορεί να φαίνεται λίγο αποθαρρυντικό στην αρχή, αλλά είναι αρκετά απλή διαμόρφωση. Σε κάθε σειρά, όλες οι κάθοδοι συνδέονται από τα δεξιά προς τα αριστερά και στη συνέχεια συνδέονται με μία από τις καρφίτσες Arduino. Μετά από αυτό, κάνουμε το ίδιο για κάθε στήλη ανόδων. Με αυτόν τον τρόπο, ανάλογα με τη στήλη στην οποία εφαρμόζουμε τη δύναμη και τη σειρά που συνδέουμε με το έδαφος, μπορούμε να ενεργοποιήσουμε κάθε μεμονωμένο LED στη συστοιχία.
Ας ξεκινήσει η Συγκόλληση
Ξεκινήστε τοποθετώντας την πρώτη σειρά LED σας. Βεβαιωθείτε ότι όλες οι ανόδους είναι στραμμένες προς τα πάνω και αναποδογυρίστε το. Βρήκα ότι προσθέτοντας ένα άλλο LED σε κάθε γωνία και συνδέοντας ένα άλλο κομμάτι protoboard στην κορυφή χρησιμοποιώντας ένα ελαστικό κορδόνι βοήθησε να κρατηθούν τα πάντα στη θέση τους.
Τώρα ένα προς ένα λυγίστε το πόδι της καθόδου (κοντό) κάθε LED προς τα αριστερά, ώστε να αλληλεπικαλύπτονται το ένα με το άλλο. Είναι πιο εύκολο να ξεκινήσετε από την αριστερή πλευρά και να εργαστείτε σωστά. Εάν χρησιμοποιείτε ένα μεγαλύτερο κομμάτι protoboard, μπορείτε πρώτα να τα κολλήσετε στον πίνακα και να τα συνδέσετε μαζί με τα μαξιλάρια. Προσέξτε να μην συμμετάσχετε σε οποιαδήποτε από τις κάθοδοι σε άλλες γραμμές του πίνακα ή σε οποιαδήποτε από τις ανόδους!
Επαναλάβετε αυτή τη διαδικασία και για τις οκτώ σειρές και όταν τελειώσετε θα πρέπει να έχετε κάτι που μοιάζει με αυτό:
Άλλες άλματα!
Οι στήλες των ανόδων είναι λίγο πιο μυστηριώδεις. Στο παραπάνω διάγραμμα, η καμπύλη ανόδων κάθε φορά που διασχίζουν μια σειρά καθόδων. Αυτό συμβαίνει επειδή δεν μπορούν να αγγίξουν καθόλου τις σειρές. Πρέπει να λυγίσουμε τις ανόδους πάνω από τις σειρές της καθόδου και να τις συνδέσουμε μεταξύ μας. Μπορεί να διαπιστώσετε ότι χρησιμοποιώντας ένα στυλό για να λυγίσει τα πόδια βοηθά πολύ.
Κάνετε αυτό για κάθε σειρά ανόδων και προσαρτήστε έναν αντιστάτη σε κάθε κορυφή ανόδου. Πιθανότατα θα είναι πιο εύκολο να τοποθετήσετε την αντίσταση στην επόμενη τρύπα στο protoboard και να ενώσετε τα μαξιλάρια χρησιμοποιώντας συγκολλητικό υλικό. Θα πρέπει τώρα να έχετε κάτι τέτοιο:
Συγχαρητήρια! Η μήτρα LED έχει ολοκληρωθεί. Ελέγξτε προσεκτικά τη συγκόλλησή σας σε αυτό το στάδιο για να βεβαιωθείτε ότι δεν υπάρχουν διαλείμματα και ότι καμία από τις στήλες δεν αγγίζει τις σειρές. Μην ανησυχείτε αν δεν φαίνεται όμορφο, απλά πρέπει να λειτουργήσει! Μπορείτε να ελέγξετε κάθε LED ξεχωριστά τώρα συνδέοντας 5v σε οποιοδήποτε από τα άκρα των στηλών και γειώνοντας σε οποιοδήποτε από τα άκρα των γραμμών.
Υπό την προϋπόθεση ότι όλα είναι καλά, συνδέστε συρματόσχοινα σε κάθε στήλη και κάθε σειρά και συνδέστε τα με το Arduino σας όπως φαίνεται στο παραπάνω διάγραμμα.
Ας πάρουμε κωδικοποίηση
Ανοίξτε το IDE του Arduino και επιλέξτε το διοικητικό συμβούλιο και τη θύρα. Αν είστε νέος στο Arduino, ελέγξτε τον οδηγό αυτό. Ξεκινώντας με το Arduino: Οδηγός για αρχάριους Ξεκινώντας με το Arduino: Οδηγός για αρχάριους Το Arduino είναι μια πλατφόρμα πρωτοτύπου ηλεκτρονικών ανοικτών πηγών που βασίζεται σε ευέλικτο και εύχρηστο υλικό και λογισμικό. Πρόκειται για καλλιτέχνες, σχεδιαστές, χομπίστες και όσους ενδιαφέρονται να δημιουργήσουν διαδραστικά αντικείμενα ή περιβάλλοντα. Διαβάστε περισσότερα
Εισάγετε αυτόν τον κώδικα στον επεξεργαστή. Είναι πολύ πυκνός κώδικας αν δεν είστε εξοικειωμένοι με αυτό, αλλά είναι διαθέσιμος εδώ πλήρως σχολιασμένο για να βοηθήσει στην κατανόηση του τρόπου με τον οποίο λειτουργεί.
const int row[8] = { 2, 3, 4, 5, 6, 7, 8, 9 }; const int col[8] ={ 10, 11, 12, 14, 15, 16, 17, 18 }; int pirPin = 19; int pirState = LOW; int val = 0; bool pirTrigger = false; const int pirLockTime = 12000; int pirCountdown = pirLockTime; int pixels[8][8]; const int refreshSpeed = 500; int countDown = refreshSpeed; int currentCharIndex = 0; typedef bool CHAR_MAP_NAME[8][8]; const CHAR_MAP_NAME blank = { {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, }; const CHAR_MAP_NAME threedownthreein = { {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, }; const int noOfFrames = 5; const CHAR_MAP_NAME *charMap[noOfFrames] ={ &blank, &threedownthreein, &blank, &blank, &threedownthreein }; void setup(){ for (int i=0;i<8;i++){ pinMode(row[i], OUTPUT); pinMode(col[i], OUTPUT); //motion sensor pinMode(pirPin, INPUT); digitalWrite(col[i], LOW); } } void screenSetup(){ const CHAR_MAP_NAME *thisMap = charMap[currentCharIndex]; for (int x = 0; x< 8; x++) { for (int y = 0; y =noOfFrames){ currentCharIndex = 0; } } void refreshScreen(){ for (int currentRow = 0; currentRow< 8; currentRow++){ digitalWrite(row[currentRow], LOW); for (int currentCol = 0; currentCol< 8; currentCol++){ int thisPixel = pixels[currentRow][currentCol]; digitalWrite(col[currentCol], thisPixel); if (thisPixel == HIGH) { digitalWrite(col[currentCol], LOW); } } digitalWrite(row[currentRow], HIGH); } } void loop(){ val = digitalRead(pirPin); if (val == HIGH){ pirTrigger = true; } else if (val == LOW && pirCountdown 0) { refreshScreen(); countDown--; pirCountdown--; if(countDown<= 0) { countDown = refreshSpeed; screenSetup(); } } }
Τα σημαντικά μέρη που πρέπει να κατανοήσουμε είναι:
Η μεταβλητή refreshSpeed . Αυτή η μεταβλητή καθορίζει τον τρόπο ανανέωσης του χρόνου μεταξύ κάθε οθόνης. Ένας μεγαλύτερος αριθμός σημαίνει μεγαλύτερη αναμονή.
Η συνάρτηση CHAR_MAP_NAME . Εδώ βάζετε κάθε χάρτη χαρακτήρα (ή πλαίσιο εάν είναι ευκολότερο να το σκεφτείτε με αυτόν τον τρόπο) που θέλετε να εμφανίσετε.
Η μεταβλητή noOfFrames . Αυτό καθορίζει τον αριθμό των καρέ που εμφανίζονται σε ένα πλήρες παιχνίδι. Σημειώστε ότι μπορεί να διαφέρει από τον αριθμό των χαρτών χαρακτήρων. Για παράδειγμα, αν θέλετε να εμφανίσετε "A CAT" θα πρέπει να ορίσετε μόνο τέσσερα ξεχωριστά πλαίσια: κενό, A, C και T.
Τώρα, όταν ο ανιχνευτής κίνησης ανιχνεύσει την κίνηση, η οθόνη LED θα πρέπει να αναβοσβήνει το LED τρία κάτω και τρία μέσα από το επάνω αριστερό μέρος. Εάν δεν εμφανίζεται σωστά, ελέγξτε ξανά την καλωδίωση για να βεβαιωθείτε ότι όλα είναι στη σωστή θέση! Όταν προσθέτετε τη δική σας εικόνα ή μήνυμα, ενδέχεται να αποκοπεί νωρίς ή να παίξει για πολύ καιρό. Δοκιμάστε να αλλάξετε τη μεταβλητή pirLockTime μέχρι να αναπαραχθεί για το χρονικό διάστημα που θέλετε.
Η διαδικασία προσθήκης κάθε πλαισίου στην οθόνη LED μπορεί να είναι λίγο κουραστική, γι 'αυτό δημιουργήσαμε αυτό το υπολογιστικό φύλλο για να το κάνουμε λίγο πιο εύκολο να δημιουργήσουμε κείμενο και εικόνες για το μήτρα LED σας (κάντε ένα αντίγραφο του φύλλου Google για να το επεξεργαστείτε ).
Χρησιμοποιώντας το υπολογιστικό φύλλο, μπορείτε να αντιγράψετε τις δημιουργίες σας απευθείας στον κώδικα.
Κάνε το χάλκινο τα στοιχεία
Τώρα που έχουμε μια λειτουργική μήτρα LED, χρειαζόμαστε έναν τρόπο για να επιβιώσει το χειμώνα. Ενώ αυτή η μέθοδος μπορεί να μην αντέχει σε μια τροπική καταιγίδα ή να βρεθεί στην πισίνα, θα πρέπει να είναι αρκετή για να κρατήσει όλα τα ηλεκτρονικά ασφαλή από τα στοιχεία.
Χρησιμοποίησα ένα στρογγυλό κιβώτιο Tupperware με διάμετρο 15 εκ. Και βάθος 6 εκ., Καθώς ταιριάζει τέλεια τα εξαρτήματα μου. Κόψτε ένα παράθυρο στο καπάκι ελαφρώς μεγαλύτερο από τη μήτρα των LED και τοποθετήστε μια σαφή πλαστική μεμβράνη σε αυτό, βεβαιώνοντας ότι δεν αφήνετε χώρους για να εισχωρήσει υγρό. Το ανθεκτικό πλαστικό από κάποια συσκευασία θα λειτουργούσε καλύτερα, αλλά αυτό ήταν το μόνο που είχα. Θα μπορούσατε επίσης να επισυνάψετε κάποιες βάσεις για το protoboard, αν και οι δύο εργασίες θα μπορούσαν εύκολα να γίνουν με ισχυρή αδιάβροχη ταινία.
Στη συνέχεια, κάντε μια μικρή τρύπα κάτω από το παράθυρο, στη συνέχεια, προσεκτικά και σιγά-σιγά τη διευρύνετε μέχρι ο αισθητήρας PIR σας μπορεί μόνο να ταιριάζει. Θέλετε να ταιριάζει όσο πιο άνετα γίνεται.
Συνδέστε τον αισθητήρα PIR και συμπληρώστε τυχόν κενά που μπορείτε να δείτε με ταινία ή ζεστή κόλλα.
Καθαρίστε κάθε ταινία ή κόλλα που μπορεί να εμποδίσει το κλείσιμο του κουτιού και προσθέστε όλα τα εξαρτήματα στο κιβώτιο μαζί με την μπαταρία σας. Εδώ χρησιμοποιήθηκε ένα απλό πακέτο μπαταρίας AA, το οποίο συνδέθηκε απευθείας στην πρίζα VCC του Nano. Μερικά μικρά κομμάτια από φελλό προστέθηκαν στην εξωτερική πλευρά του περιβλήματος για να βοηθήσουν να κρέμονται τα κτίρια στο κέντρο του στεφάνου.
Και είμαστε έτοιμοι
Αφού σφραγιστεί το κουτί, κρεμάστε το με το στεφάνι σας για τα Χριστούγεννα και περιμένετε να αντιδράσουν οι επισκέπτες σας στην προσωπική σας υποδοχή υψηλής τεχνολογίας ύψους 20 $! Θα μπορούσατε ακόμη να πάτε ένα βήμα παραπέρα και να δημιουργήσετε φοβερό DIY διακοσμήσεις 3D-Printed Χριστουγεννιάτικα διακοσμητικά για Perfect Geeky Διακοπές 3D-Printed Χριστουγεννιάτικα διακοσμητικά για τέλειες διακοπές Geeky Γιατί να μην σώσει κάποια μετρητά αυτά τα Χριστούγεννα και 3D εκτύπωση κάποια εορταστικά στολίδια για το σπίτι σας; Διαβάστε περισσότερα για αλλού γύρω από το σπίτι!
Σε αυτό το έργο έχουμε κατασκευάσει ένα αυτόνομο σύστημα μήτρα LED από το μηδέν, που είναι κίνηση ενεργοποιημένη και μπορεί να επιβιώσει έξω έξω σε όλα, αλλά το πιο έντονο καιρό. Αυτή η κατασκευή θα είναι χρήσιμη πολύ καιρό μετά την περίοδο των διακοπών έχει τελειώσει σε άλλα έργα, και η ίδια τεχνική θα μπορούσε να χρησιμοποιηθεί για τη δημιουργία φθηνών weatherproof καταλόγους για άλλα έργα πάρα πολύ.
Έχετε χτίσει κάτι για να δώσετε στα Χριστούγεννα σας ένα DIY twist; Σχεδιάζετε κάθε χρόνο τα Χριστουγεννιάτικα δώρα με DIY; Ενημερώστε μας στα σχόλια παρακάτω!