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

Ρολόι Space Invaders (με προϋπολογισμό!): 6 βήματα (με εικόνες)
Ρολόι Space Invaders (με προϋπολογισμό!): 6 βήματα (με εικόνες)

Βίντεο: Ρολόι Space Invaders (με προϋπολογισμό!): 6 βήματα (με εικόνες)

Βίντεο: Ρολόι Space Invaders (με προϋπολογισμό!): 6 βήματα (με εικόνες)
Βίντεο: Part 02 - Moby Dick Audiobook by Herman Melville (Chs 010-025) 2024, Ιούλιος
Anonim
Image
Image
Συγκεντρώστε ανταλλακτικά
Συγκεντρώστε ανταλλακτικά

Πρόσφατα είδα μια υπέροχη κατασκευή από το GeckoDiode και ήθελα αμέσως να το φτιάξω μόνος μου. Το Instructable is Space Invaders Desktop Clock και σας συνιστώ να το ρίξετε μια ματιά αφού το διαβάσετε.

Το έργο κατασκευάστηκε σχεδόν αποκλειστικά από μέρη που προέρχονται από το Adafruit με περίβλημα με 3D εκτύπωση και κόψιμο με λέιζερ. Προσθέτοντας τα πάντα στο κόστος κατασκευής γίνεται πολύ δαπανηρό! (περίπου £ 100 ή περισσότερο). Το πρόβλημα είναι ότι εάν δεν είστε κάτοχος τρισδιάστατου εκτυπωτή, πρέπει να πληρώσετε για να εκτυπώσετε το μοντέλο σας ή να αγοράσετε ένα άσχημο περίβλημα από το ebay, το οποίο συχνά είναι λίγο πολύ μικρό, πολύ στενό, μικρό ή αντίθετο.

Οι περισσότερες από τις κατασκευές μου πρέπει να γίνονται με χόμπι προϋπολογισμό και τα περιβλήματα καταλήγουν πάντα να είναι το πιο ακριβό μέρος. Έτσι αποφάσισα να φτιάξω το ίδιο ρολόι αλλά με έναν αξιοπρεπή προϋπολογισμό.

Αν σας αρέσει να κοιτάτε παράξενα ρολόγια, δείτε το ρολόι βολτόμετρου Steampunk, το οποίο χρησιμοποιεί τα ίδια υλικά κατασκευής για το περίβλημα:-)

Βήμα 1: Συγκεντρώστε μέρη

Για να φτιάξετε αυτό το έργο θα χρειαστείτε τα παρακάτω. Λάβετε υπόψη τα υλικά για το περίβλημα, θα έχετε ΠΟΛΛΑ αριστερά που μπορείτε να χρησιμοποιήσετε σε άλλα έργα (γεγονός που καθιστά το κόστος των μελλοντικών κατασκευών ακόμη φθηνότερο). Έχω ανεβάσει αρχεία PDF που χρειάζεστε εάν θέλετε να ελέγξετε την τιμή κλπ στο ebay.

Εργαλεία (υποθέτω ότι θα τα έχετε ήδη)

  • Συγκολλητικό σίδερο
  • Κόλλα μετάλλων
  • Αντλία συγκόλλησης (εάν κάνετε λάθος και χρειαστεί να αφαιρέσετε τη συγκόλληση)
  • Πυροβόλο θερμής κόλλας
  • Ξυλάκια ζεστής κόλλας
  • Μαχαίρι χειροτεχνίας (γνωστό και ως μαχαίρι stanley)
  • Χάρα / ταινία μέτρησης / δαγκάνα Vernier
  • Ασύρματο τρυπάνι + τρυπάνια (1 mm έως 13 mm)
  • Περιστροφικό πολυεργαλείο με δίσκο κοπής (γνωστός και ως Dremel)
  • Υγρό καθαρισμού όπως η ισοπροπυλική αλκοόλη (το φτηνό μετά το ξύρισμα λειτουργεί επίσης)
  • Μάσκα ασφαλείας (χρησιμοποιείται κατά τη βαφή με σπρέι)

Ηλεκτρονικά (Κόστος ηλεκτρονικών = 13,05 £)

Μερικά από αυτά τα είχα δωρεάν. Τα παλιά ηλεκτρονικά παιχνίδια έχουν αυτά τα ωραία ηχεία Mylar αν τα χωρίσετε. Ενώ βρίσκεστε εκεί, πιθανότατα μπορείτε να πάρετε ένα βαρέλι DC και ένα κουμπί.

  • Καλώδια Dupont / Jumper - 0,99
  • DS1307 Ενότητα ρολογιού πραγματικού χρόνου - 0,99 £ (θα συνιστούσα να πάρετε το DS3231 αντ 'αυτού, όπου διατίθεται)
  • Καλώδιο Arduino nano + usb - 2,23 £
  • Ηχείο 8 Ohm Mylar - 0,99
  • Στιγμιαίο κουμπί SPST - 1,49 £
  • Υποδοχή βαρελιού DC 5,5 mm - 1,26 £
  • 5v, 0.5A DC τροφοδοτικό - 2.83 £
  • MAX7219 Οθόνη κουκκίδων - 3,76 £

Περίβλημα (Κόστος υλικών περιβλήματος = 17,19 £)

  • Τετραγωνικός σωλήνας αποστράγγισης 60 mm - 5,99 £ (θα έχετε πολλά από αυτά για περισσότερα έργα)
  • Μαύρο σπρέι - 4,85 £
  • Μαύρο PVC (αφρώδες υλικό) - 2,99 £
  • Σούπερ κόλλα - 0,99
  • Τερματικά καλύμματα 60mm - 2,37 £

Συνολικό κόστος = 30,24 £:-) …….. σήμερα σήμερα είναι το ισοδύναμο των 38 USD για κάθε διεθνή αναγνώστη.

Μου αρέσει να εργάζομαι με τον τετράγωνο σωλήνα PVC. Είναι εύκολο να τρυπηθούν, να κοπούν, να βάψουν και εγώ χρησιμοποίησα ένα για το ρολόι Steampunk μου.

Βήμα 2: Προετοιμάστε το σωλήνα αποστράγγισης

Προετοιμάστε το σωλήνα αποστράγγισης
Προετοιμάστε το σωλήνα αποστράγγισης

Σημειώστε πού θέλετε να βάλετε τα πράγματα

Αυτό ήταν τόσο εύκολο. Δεν χρησιμοποίησα κάτι φανταχτερό. Πρώτα έκοψα το μήκος των 2,5 μέτρων σε ένα λογικό μέγεθος για τον πάγκο μου στο σπίτι (περίπου 30 εκατοστά) με ένα πριόνι χάκας. Αργότερα το έκοψα με ένα dremel για να γίνουν οι άκρες ωραίες και ίσες. Στη συνέχεια, στήριξα τα εξαρτήματα στην επιφάνεια του σωλήνα και χρησιμοποίησα μια μόνιμη αγορά για να σημειώσω πού θέλω να τρυπήσω και να κόψω. Παρακολούθησα το εξωτερικό της μήτρας LED και χρησιμοποίησα ένα περιστροφικό πολυεργαλείο για να κόψω μια τετράγωνη τρύπα για να ταιριάξει. Χρησιμοποίησα μια ψηφιακή δαγκάνα για να μετρήσω τη διάμετρο του κουμπιού και το βαρέλι DC για να κόψω τις σωστές οπές μεγέθους στο πίσω και πάνω μέρος.

Κόψτε μια στεφάνη

Έχω πολλά χαρτόνια από αφρώδες PVC, τα οποία έχουν σχεδιαστεί από προηγούμενα έργα. Είναι ιδανικά για την τοποθέτηση κυκλωμάτων σε περιβλήματα, χρησιμοποιώντας το για να αναμειγνύετε εποξειδικά μαζί του και για να φτιάχνετε άλλα κομμάτια. Πάρτε ένα κομμάτι μεγέθους Α4 ή Α5 και κόψτε ένα τετράγωνο surround ή πλαίσιο 5 mm για να πλαισιώσετε τη μήτρα LED. Αυτό θα κρύψει τυχόν ακανόνιστες άκρες που κάνατε όταν κόβετε την τετράγωνη τρύπα για τη μήτρα. Για αυτό σχεδίασα ένα μικρό πρότυπο στο Inkscape και το εκτύπωσα (επισυνάπτεται το αρχείο SVG). Το έβαλα στη συνέχεια με ταινία κάλυψης στον αφρό και το έκοψα προσεκτικά με ένα μαχαίρι. Είναι δύσκολο να κάνετε σωστά, συνιστώ να κόψετε πρώτα το εσωτερικό και μετά το εξωτερικό.

Ζωγραφίστε τα πάντα

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

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

Βήμα 3: Προγραμματίστε το Arduino

Προγραμματίστε το Arduino
Προγραμματίστε το Arduino

Μερικές πληροφορίες σχετικά με τον κώδικα

Πίστωση στο GeckoDiode καθώς πήρα τον κωδικό του και τον τροποποίησα για να συνεργαστεί με το τσιπ MAX7219. Η έκδοση Adafruit χρησιμοποιεί δίαυλο I2C και η MAX χρησιμοποιεί το δίαυλο SPI. Για αυτό χρησιμοποίησα τη βιβλιοθήκη MaxMatrix, την οποία κατέβασα και εγκατέστησα στο Arduino IDE. Αν θέλετε να μάθετε περισσότερα για το MaxMatrix και τον τρόπο λειτουργίας της μήτρας LED, υπάρχει ένα πολύ σύντομο σεμινάριο στο HowToMechatronics.com. Η μήτρα LED αποτελείται μόνο από ένα χρώμα LED και όχι από μια πολύχρωμη οθόνη.

Μια απογοήτευση που είχα ήταν ότι ΔΕΝ υπάρχουν σαφείς ορισμοί για το ποιες είναι οι λειτουργίες της βιβλιοθήκης και ποια επιχειρήματα πρέπει να περάσουν σε καθένα. Ευτυχώς ήμουν σε θέση να ανακαλύψω τι έκανε με δοκιμή και λάθος και τελικά δεν ήταν πολύ δύσκολο να το κάνω να λειτουργήσει σωστά. Το πρώτο πράγμα που πρέπει να καταλάβετε είναι ότι πρέπει να ορίσετε πόσες ενότητες 8x8 υπάρχουν στον πίνακα σας. Στον κωδικό μου αυτό αποθηκεύεται σε έναν ακέραιο αριθμό που ονομάζεται "modules" όπως αυτό:

"int modules = 4;"

Αυτός είναι ο ΑΡΙΘΜΟΣ των μονάδων 8x8 που έχετε συνδέσει μαζί στην οθόνη σας. Όχι ο αριθμός των LED ή ποια καρφίτσα χρησιμοποιείτε τα δεδομένα αποστολής. Το επόμενο πράγμα που πρέπει να θυμάστε είναι ότι εάν το "sprite" σας ή οτιδήποτε καλύπτει και τους τέσσερις πίνακες, τότε ο πίνακας byte πρέπει να οριστεί ως εξής:

"byte text_start_bmp = {32, 8,…*κάποια δεδομένα byte*…};"

Οι αριθμοί υποδεικνύουν τον αριθμό των γραμμών και στηλών στη μήτρα. Σε αυτή την περίπτωση, το byte με το όνομα "text_start_bmp" εμφανίζεται σε 32 στήλες και 8 σειρές. Οι αριθμοί εμφανίζονται μόνο σε έναν πίνακα 8x8, οπότε ο αριθμός λεπτού 10 μοιάζει με αυτό:

"byte minute_ten_bmp = {8, 8,…*κάποια δεδομένα byte*…};"

Οι εισβολείς καλύπτουν δύο πίνακες, οπότε το byte θα δοθεί 16, 8 στα δεδομένα του byte.

Το άλλο πράγμα που με τράβηξε ήταν η τοποθέτηση των δεδομένων sprite. Μπορείτε να ζητήσετε από το Arduino να εμφανίσει το sprite σε διαφορετική θέση X/Y στη μήτρα από την προεπιλεγμένη αρχική θέση. Ο κώδικας μοιάζει με αυτό για το λεπτό μηδέν:

"matrix.writeSprite (8, 0, minute_zero_bmp);"

Ένας αριθμός είναι η προσαρμογή Χ και ένας άλλος είναι το Υ. Δεν μπορώ να θυμηθώ ποιος είναι ποιος τώρα, αλλά αν θέλετε να σπρώξετε το sprite πάνω ή κάτω κατά 1 γραμμή ή στήλη, αυξάνετε τον αριθμό θετικά ή μείον. Αρκετά απλό για μήτρα 8x8 αλλά όταν το sprite σας καλύπτει περισσότερους από έναν πίνακες πρέπει να ορίσετε την αρχική θέση ανάλογα. Το sprite "POP" φαίνεται παρακάτω:

"matrix.writeSprite (16, 0, invader_pop_bmp);"

Παρατηρήστε τώρα πώς η αρχική θέση είναι 16 όχι 8; Εδώ ο κώδικας υποδεικνύει ότι το sprite εμφανίζεται από αριστερά προς τα δεξιά από τη σειρά θέσης/στήλη 16. Θεωρεί ότι δύο οθόνες 8x8 είναι μια ενιαία οθόνη 16x8, παρόλο που υπάρχουν 4! Ως εκ τούτου, είναι σημαντικό να σκεφτούμε πόσες οθόνες θα εμφανιστεί το Sprite και να μεγεθύνετε ανάλογα τον πίνακα byte κάθε Sprite. Διαφορετικά θα έχετε μερικά πολύ ενδιαφέροντα sprites!

DS1307 RTC

Αν και το DS1307 λειτουργεί καλά με τη βιβλιοθήκη Adafruit RTClib.h, δεν μπορείτε να ορίσετε χειροκίνητα την ώρα που είναι απλώς ένας πόνος. Πήγα με αυτό επειδή σήμαινε λιγότερο κώδικα για αλλαγή. Το DS1307 ορίζει την ώρα χρησιμοποιώντας την ώρα και την ημερομηνία που ο κωδικός έχει συνταχθεί από την ώρα των υπολογιστών σας. Αντ 'αυτού μάθετε πώς να χρησιμοποιείτε τη βιβλιοθήκη DS3231 και ρυθμίστε τη μία φορά για ένα ή δύο λεπτά μπροστά στο μέλλον. Έχει επίσης λιγότερη «παρασυρόμενη», οπότε διατηρεί τον χρόνο καλύτερα με την πάροδο του χρόνου. Και οι δύο μονάδες χρησιμοποιούν το δίαυλο I2C και πιστεύω ότι το DS3231 μπορεί να χρησιμοποιηθεί με το RTClib.h εάν φροντίζετε να συνεχίσετε να το χρησιμοποιείτε.

Ανεβάστε τον κωδικό

Μόλις είστε ικανοποιημένοι με τον κωδικό, ανεβάστε τον στο Arduino. Επισυνάπτω το σκίτσο Arduino για να το λάβετε υπόψη.

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

Συναρμολόγηση Ηλεκτρονικών
Συναρμολόγηση Ηλεκτρονικών

Κατά τη μεταφόρτωση του κώδικα θα συνιστούσα να συναρμολογούνται πρώτα τα ηλεκτρονικά με καλώδια dupont/jumper σε ένα breadboard, οπότε όταν ανεβάζετε τον κώδικα γνωρίζετε ότι όλα λειτουργούν όπως προορίζεται. Αυτό σας επιτρέπει να σιδερώνετε τυχόν προβλήματα με την εμφάνιση των σπρίττων κλπ πριν ξεκινήσετε να κολλάτε και να κολλάτε. Στον κωδικό μου μπορείτε να δείτε ότι χρησιμοποιώ ψηφιακές ακίδες 4, 5, 6, 7, 9, αλλά μπορείτε να τις αλλάξετε εάν είναι απαραίτητο. Mayσως χρειαστεί να κολλήσετε καλώδια στο κουμπί, την υποδοχή DC και το ηχείο, αλλά η πλειοψηφία θα πρέπει να είναι εύκολα συνδετήρες στυλ push push.

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

Έχω κάνει το κουμπί να λειτουργεί όταν ο πείρος "mainButton" τραβιέται χαμηλά. Διαπίστωσα ότι το Arduino αναγνώριζε ότι πατήθηκε το ψευδές κουμπί όταν εγκαθίστανται πλωτά ηλεκτρονικά. Χρησιμοποιώντας μια αντίσταση αναδίπλωσης 10Κ στο κουμπί και ρυθμίζοντας τον πείρο σε "INPUT_PULLUP" μου έλυσε αυτό το πρόβλημα.

Επισυνάπτεται το σχηματικό σε PDF και PNG, ώστε να γνωρίζετε πού να συνδέσετε τις καρφίτσες.

Βήμα 5: Τοποθετήστε τα Ηλεκτρονικά και Κοντινό πλάνο

Τοποθετήστε τα Ηλεκτρονικά και Κοντινό πλάνο
Τοποθετήστε τα Ηλεκτρονικά και Κοντινό πλάνο
Τοποθετήστε τα Ηλεκτρονικά και Κοντινό πλάνο
Τοποθετήστε τα Ηλεκτρονικά και Κοντινό πλάνο

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

Βήμα 6: Απολαύστε

Απολαμβάνω
Απολαμβάνω
Απολαμβάνω
Απολαμβάνω

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

Συνιστάται: