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

Επαγγελματική κάρτα/Κονσόλα παιχνιδιών: ATtiny85 και οθόνη OLED: 5 βήματα (με εικόνες)
Επαγγελματική κάρτα/Κονσόλα παιχνιδιών: ATtiny85 και οθόνη OLED: 5 βήματα (με εικόνες)

Βίντεο: Επαγγελματική κάρτα/Κονσόλα παιχνιδιών: ATtiny85 και οθόνη OLED: 5 βήματα (με εικόνες)

Βίντεο: Επαγγελματική κάρτα/Κονσόλα παιχνιδιών: ATtiny85 και οθόνη OLED: 5 βήματα (με εικόνες)
Βίντεο: Ας μιλήσουμε για τα μικρόφωνα!(Μέρος Τεταρτο και τελευταίο) Ammoon F4 TomTop και τελικά συμπεράσματα 2024, Νοέμβριος
Anonim
Image
Image
Τα κότσια
Τα κότσια

Γεια σε όλους

Σήμερα θα σας δείξω πώς μπορείτε να φτιάξετε τη δική σας επαγγελματική κάρτα/κονσόλα παιχνιδιών/ό, τι μπορείτε να φανταστείτε που διαθέτει οπίσθια οθόνη 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

Συναρμολόγηση του PCB
Συναρμολόγηση του PCB
Συναρμολόγηση του PCB
Συναρμολόγηση του 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! Ας ελπίσουμε ότι σύντομα θα έχετε τη δική σας επαγγελματική κάρτα/παιχνίδι για επίδειξη!

Συνιστάται: