Πίνακας περιεχομένων:
- Βήμα 1: Τα κότσια
- Βήμα 2: Συναρμολόγηση του PCB
- Βήμα 3: Timeρα για προγραμματισμό
- Βήμα 4: Σχετικά με το ίδιο το πρόγραμμα
- Βήμα 5: Προσαρμογή της δημιουργίας σας
Βίντεο: Επαγγελματική κάρτα/Κονσόλα παιχνιδιών: ATtiny85 και οθόνη OLED: 5 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Γεια σε όλους
Σήμερα θα σας δείξω πώς μπορείτε να φτιάξετε τη δική σας επαγγελματική κάρτα/κονσόλα παιχνιδιών/ό, τι μπορείτε να φανταστείτε που διαθέτει οπίσθια οθόνη I2C OLED και μικροεπεξεργαστή ATtiny85. Σε αυτό το Instructable θα σας πω πώς λειτουργεί πραγματικά ένα PCB που σχεδίασα, πώς μπορείτε να το φτιάξετε και τι μπορείτε να κάνετε με αυτήν τη λειτουργικότητα. Εάν έχετε ήδη μια οθόνη I2C συνδεδεμένη με ένα ATtiny85, αυτό το Instructable μπορεί να είναι ακόμα χρήσιμο εάν προσπαθείτε να εμφανίσετε εικόνες ή θέλετε να δημιουργήσετε μενού, παιχνίδι και πολλά άλλα.
Μάλλον αναρωτιέστε τι είναι στην πραγματικότητα αυτό το πράγμα. Είναι απλά μια απλή πλακέτα τυπωμένου κυκλώματος με ενσωματωμένη μπαταρία, οθόνη, κουμπιά, διακόπτη on/off και μονάδα επεξεργασίας. Σκεφτείτε το σαν ένα μικροσκοπικό Gameboy, που μπορείτε εύκολα να προγραμματίσετε για να κάνετε μια ποικιλία πραγμάτων. Προς τα εμπρός!
Βήμα 1: Τα κότσια
Εάν δεν το έχετε κάνει ήδη, σας συνιστώ ανεπιφύλακτα να κάνετε λογαριασμό στο circuits.io. Αυτό θα σας επιτρέψει να προσαρμόσετε το σχέδιό μου ώστε να ταιριάζει στις ανάγκες σας.
Σε αυτό το βήμα θα εξηγήσω πώς μπορείτε πραγματικά να πάρετε τα χέρια σας σε έναν από αυτούς τους πίνακες τυπωμένων κυκλωμάτων (PCB). Έχω φτιάξει το PCB μου στο circuits.io, ένα εξαιρετικό διαδικτυακό εργαλείο που μπορείτε να χρησιμοποιήσετε για να δημιουργήσετε σχηματικά σχήματα και PCB. Μπορείτε να δείτε το σχέδιο εδώ:
Εάν ενδιαφέρεστε να αποκτήσετε το PCB, μπορείτε να παραγγείλετε όσα θέλετε από το OSH Park χρησιμοποιώντας αυτόν τον σύνδεσμο:
Χρειάζεται λίγος χρόνος για να πάρει τις σανίδες (1-3 εβδομάδες), αλλά πιστέψτε με. Αξίζει τον κόπο! Θα χρειαστείτε τα ακόλουθα μέρη για να δημιουργήσετε τη δική σας κάρτα πολλαπλών λειτουργιών:
- ATtiny85 σε συσκευασία SOIC-8. Αυτός είναι ο εγκέφαλος του έργου μας που ελέγχει τα πάντα.
- Οθόνη OLED I2C 128x64 pixel:
- 2 αντιστάσεις 22k ohm. Αυτές είναι αντιστάσεις έλξης για τα κουμπιά.
- Surface-Mount CR2032 Θήκη:
- Μπαταρία CR2032 Coin Cell. Αυτή η μικρή μπαταρία μπορεί να τροφοδοτήσει το κύκλωμα για αρκετό καιρό.
- Διακόπτης διαφάνειας 3 ακίδων. Αυτός είναι ο διακόπτης λειτουργίας!
- Γυναικείες κεφαλίδες. Μπορείτε να τα χρησιμοποιήσετε για να προγραμματίσετε το ATtiny85 όσο είναι στο κύκλωμα!
- Κουμπιά 6mm:
- Μια πλακέτα τυπωμένου κυκλώματος (μπορείτε να την παραγγείλετε χρησιμοποιώντας τον παραπάνω σύνδεσμο
Εργαλεία:
- Συγκολλητικό σίδερο (με λεπτή άκρη)
- Κόλλα μετάλλων
- Κοπτήρες μολύβδου
Για τον προγραμματισμό του ATtiny85:
- 6 Καλώδια από άνδρες έως άνδρες
- Ένας πυκνωτής 10 micro-farad
- Arduino Uno ή κάποιος άλλος μικροελεγκτής με βάση το ATmega
Βήμα 2: Συναρμολόγηση του PCB
Αυτό είναι πραγματικά αρκετά εύκολο. Το μόνο που χρειάζεται να κάνετε είναι να κολλήσετε όλα τα εξαρτήματα στις αντίστοιχες θέσεις τους, όπως υποδεικνύεται στον πίνακα. Μερικές από αυτές τις οθόνες OLED έρχονται σε διαφορετικά μεγέθη, οπότε αν η δική σας είναι πολύ μεγάλη για τον πίνακα, μπορείτε να την κρεμάσετε στην κορυφή όπως στην παραπάνω εικόνα και να λυγίσετε πάνω από τις κεφαλίδες στην άλλη πλευρά και να τις κολλήσετε στις οπές όπου έπρεπε να φύγουν. Δείτε τη δεύτερη εικόνα εάν έχετε μπερδευτεί.
Μερικές χρήσιμες συμβουλές:
- Η μικροσκοπική κουκκίδα στο ATtiny πρέπει να είναι προσανατολισμένη έτσι ώστε να είναι κοντά στον διακόπτη, διαφορετικά θα έχετε τις καρφίτσες σε λάθος σειρά.
- Ο προσανατολισμός της θήκης μπαταρίας έχει σημασία. Το άκρο της θήκης με το χαραγμένο συν πρέπει να βρίσκεται στο κάτω μαξιλάρι (στραμμένο προς αντίσταση).
- Ο προσανατολισμός των διακοπτών, των κουμπιών, των κεφαλίδων και των αντιστάσεων δεν έχει σημασία
Εάν έχετε οποιεσδήποτε ερωτήσεις, στείλτε μου email στο info [at] coniferapps.com
Βήμα 3: Timeρα για προγραμματισμό
Πήρα το συνδυασμό ATtiny/οθόνης μου χρησιμοποιώντας το ακόλουθο Instructable: https://www.instructables.com/id/ATTiny85-connects-to-I2C-OLED-display-Great-Things/. Στην πραγματικότητα, χρησιμοποιώ ακόμη και τη βιβλιοθήκη που τροποποίησε το AndyB2 στα δικά μου σκίτσα.
Ο τρόπος που θα προγραμματίσουμε το ATtiny είναι μέσω ενός Arduino Uno. Το παρακάτω Instructable σάς δείχνει πώς να το κάνετε αυτό: https://www.instructables.com/id/Program-an-ATtiny-with-Arduino/. Εάν δεν το έχετε ήδη παρατηρήσει, όλες οι απαιτούμενες ακίδες είναι βοηθητικά σπασμένες στο PCB με τους αριθμούς ακίδων που αναγράφονται στο πίσω μέρος.
Αν θέλετε να ξεκινήσετε με ένα βασικό παράδειγμα, ανεβάστε το σκίτσο που συνδέεται παραπάνω στην κάρτα σας. Βεβαιωθείτε ότι ο διακόπτης τροφοδοσίας έχει μετακινηθεί προς τα δεξιά προτού το κάνετε. Δεν θέλετε να έχετε την μπαταρία και το Uno και τα δύο ταυτόχρονα! Σε αυτόν τον φάκελο υπάρχει μια δέσμη αρχείων. Θα μιλήσω περισσότερο για αυτό στο επόμενο βήμα, αλλά τα περισσότερα από τα αρχεία κεφαλίδων εκεί είναι δεκαεξαδικές αναπαραστάσεις μονοχρωματικών εικόνων bitmap. Τα αρχεία.bmp είναι αυτές οι εικόνες που μόλις ανέφερα - όπως μπορείτε να δείτε, είναι ασπρόμαυρες και ακριβώς 128x64 pixel. Αυτά δεν ανεβαίνουν στον μικροελεγκτή, αλλά σκέφτηκα να τα συμπεριλάβω για αναφορά.
Βήμα 4: Σχετικά με το ίδιο το πρόγραμμα
Το σκίτσο που είχατε ανεβάσει στο προηγούμενο βήμα είναι ένα πολύ βασικό παράδειγμα για το πώς θα μπορούσατε να εφαρμόσετε ένα μενού. Καθώς κάνετε κλικ σε κάθε ένα από τα αριστερά και δεξιά κουμπιά, αλλάζει έναν μετρητή στο πρόγραμμα. Στη συνέχεια καλείται μια συνάρτηση που έχει το ATtiny να ελέγξει την κατάσταση αυτού του μετρητή και, βάσει του αριθμού του μετρητή, το ATtiny αντλεί μια εικόνα της επιλογής μενού που έχει επιλεγεί στην οθόνη. Κάθε ένα από τα διαφορετικά επιλεγμένα κελιά μενού είναι η δική του εικόνα. Εάν πατήσετε το επάνω κουμπί, το ATtiny ελέγχει ξανά την κατάσταση του μετρητή για να καθορίσει ποια οθόνη λεπτομερειών θα εμφανιστεί. Ενώ εμφανίζονται αυτές οι οθόνες λεπτομερειών, το ATtiny ελέγχει συνεχώς για να διαπιστώσει εάν πατηθεί κάποιο κουμπί. Μόλις εντοπίσει ένα πάτημα κουμπιού, η λειτουργία που σχεδιάζει τα μενού καλείται ξανά και η τρέχουσα κατάσταση του μενού σχεδιάζεται στην οθόνη, επιστρέφοντας μας στο μενού. Ακούγεται κάπως τρομακτικό αν είστε νέοι στον προγραμματισμό, αλλά σας υπόσχομαι μόλις κοιτάξετε τον κώδικα θα έχει περισσότερο νόημα.
Κάθε μια από τις οθόνες λεπτομερειών είναι επίσης η δική της εικόνα.
Αν δεν το έχετε προσέξει, η επιλογή έκπληξη δεν κάνει τίποτα. Θα το καταφέρουμε στο επόμενο βήμα:).
Βήμα 5: Προσαρμογή της δημιουργίας σας
Τώρα που είδατε τι έχω κάνει, ήρθε η ώρα να προσαρμόσετε την κάρτα με τις δικές σας πληροφορίες. Αυτή η βιβλιοθήκη που συμπεριέλαβα έχει μια λειτουργία να σχεδιάζει κείμενο στην οθόνη, αλλά σας συνιστώ ανεπιφύλακτα να πάτε με μια αυστηρά λύση με βάση την εικόνα, καθώς τείνει να φαίνεται ΠΟΛΥ καλύτερα. Αρχικά επρόκειτο να κάνω την προσθήκη φωτογραφιών στο πρόγραμμα μέρος αυτού του οδηγού, αλλά είναι αρκετά μακρύ για να δικαιολογήσει το δικό του διδακτικό. Μπορείτε να το δείτε εδώ:
Τώρα που ξέρετε πώς να προσθέτετε φωτογραφίες, υπάρχουν πολλά πράγματα που μπορείτε να κάνετε να κάνει η κάρτα. Μπορείτε να χρησιμοποιήσετε τα μενού μου και την οθόνη βοήθειας και απλώς να προσθέσετε τα δικά σας στοιχεία επικοινωνίας. Θα μπορούσατε ακόμη και να κάνετε ένα μικρό παιχνίδι για την επιλογή "έκπληξη". Θα ήταν αρκετά απλό να μετακινήσετε ένα πολύ μικροσκοπικό sprite 10x10 γύρω από την οθόνη χρησιμοποιώντας τα κουμπιά και να ελέγξετε αν συγκρούεται με άλλο Sprite. Θα μπορούσατε να φτιάξετε έναν κλώνο πτηνών με την ίδια ιδέα! Εάν κάνετε κάτι, παρακαλώ δημοσιεύστε μια φωτογραφία/βίντεο/αρχείο του στα σχόλια!
Ένα ακόμη μικρό σημείο που ξέχασα να αναφέρω. Όσον αφορά την αποθήκευση, το ATtiny85 δεν έχει πολλά από αυτά. Για προγράμματα, είναι περίπου 8kb. Το τρέχον σκίτσο μου με 5 εικόνες και βιβλιοθήκη οθόνης OLED καταλαμβάνει περίπου 7 από αυτά τα 8kb. Οποιοδήποτε παιχνίδι κάνετε θα πρέπει να χωρέσει μέσα σε αυτό το σχετικά μικρό περιθώριο, οπότε θα είναι μια διασκεδαστική πρόκληση:).
Ευχαριστώ που με ακούσατε και αν έχετε ερωτήσεις μη διστάσετε να μου στείλετε μήνυμα ηλεκτρονικού ταχυδρομείου στη διεύθυνση info [at] coniferapps.com (αντικαταστήστε το [at] με @). Παρακαλώ ψηφίστε με στον διαγωνισμό Autodesk Circuits! Ας ελπίσουμε ότι σύντομα θα έχετε τη δική σας επαγγελματική κάρτα/παιχνίδι για επίδειξη!
Συνιστάται:
Φτιάξτε τη δική σας φορητή ρετρό κονσόλα παιχνιδιών! που είναι επίσης ένα Tablet Win10!: 6 βήματα (με εικόνες)
Φτιάξτε τη δική σας φορητή ρετρό κονσόλα παιχνιδιών! …… που είναι επίσης ένα Tablet Win10 !: Σε αυτό το έργο θα σας δείξω πώς να δημιουργήσετε μια φορητή ρετρό κονσόλα παιχνιδιών που μπορεί επίσης να χρησιμοποιηθεί ως tablet Windows 10. Θα αποτελείται από ένα 7 " HDMI LCD με οθόνη αφής, ένα LattePanda SBC, ένα USB Type C PD power PCB και μερικά ακόμη συμπληρωματικά
Επαγγελματική κάρτα οθόνης αφής: 8 βήματα (με εικόνες)
Επαγγελματική κάρτα οθόνης αφής: Είμαι Μηχανολόγος Μηχανικός κατά βαθμό, αλλά έχω επίσης αναπτύξει δεξιότητες στην Ηλεκτρολογία και τον προγραμματισμό από χρόνια έργων που περιλαμβάνουν κυκλώματα και μικροελεγκτές. Δεδομένου ότι οι εργοδότες θα περιμένουν ότι έχω ικανότητες σε Μηχανολόγο Μηχανικό
Επαγγελματική κάρτα PCB με NFC: 18 βήματα (με εικόνες)
PCB Business Card With NFC: Φτάνοντας στο τέλος των σπουδών μου, έπρεπε πρόσφατα να αναζητήσω εξάμηνη πρακτική άσκηση στον τομέα της ηλεκτρονικής μηχανικής. Για να κάνω εντύπωση και να μεγιστοποιήσω τις πιθανότητες να στρατολογηθώ στην παρέα των ονείρων μου, είχα την ιδέα να κάνω τη δική μου
Επαγγελματική κάρτα Dot Matrix: 8 βήματα (με εικόνες)
Επαγγελματική κάρτα Dot Matrix: Εάν η επαγγελματική κάρτα φακού μου δεν είναι αρκετά προχωρημένη για εσάς, τότε τι θα λέγατε για μία με πλήρη γραφική οθόνη που μπορεί να προσαρμοστεί για μια σειρά κυλιόμενων μηνυμάτων; Αυτό θα μπορούσε να κατασκευαστεί σε ποσότητα με κόστος περίπου 5 δολαρίων και
Επαγγελματική κάρτα φακού: 6 βήματα (με εικόνες)
Επαγγελματική κάρτα φακού: Αν έχετε διαβάσει τα άλλα εγχειρίδια επαγγελματικής κάρτας μου, θα ξέρετε για ποιο πράγμα πρόκειται - φτιάξτε μια επαγγελματική κάρτα που είναι χρήσιμη ή που οι άνθρωποι πραγματικά δεν θέλουν να πετάξουν και έχετε ένα επιτυχημένο κομμάτι διαφήμιση. Αυτή είναι μια παραλλαγή