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

Φορητή κονσόλα Arduino Pong: 6 βήματα (με εικόνες)
Φορητή κονσόλα Arduino Pong: 6 βήματα (με εικόνες)

Βίντεο: Φορητή κονσόλα Arduino Pong: 6 βήματα (με εικόνες)

Βίντεο: Φορητή κονσόλα Arduino Pong: 6 βήματα (με εικόνες)
Βίντεο: ELECFREAKS 丨 Relaxing Time 丨Unboxing of micro:bit Retro Arcade 2024, Ιούνιος
Anonim
Φορητή κονσόλα Arduino Pong
Φορητή κονσόλα Arduino Pong

Η DFRobot με επικοινώνησε πρόσφατα, θέλοντάς μου να χρησιμοποιήσω τον ειδικό πίνακα Arduino Nano και OLED. Στην αρχή ήθελα να δημιουργήσω ένα έξυπνο ποδήλατο και το έφτιαξα στο σύνολό του. Δυστυχώς, το Nano ήταν πολύ αδύναμο για να τρέξει και να αποθηκεύσει το τεράστιο σκίτσο που χρειαζόταν. Έτσι αποφάσισα να ξαναεπισκεφτώ ένα από τα προηγούμενα έργα μου, μια μήτρα Neopixel που έτρεχε ένα παιχνίδι Pong. Insteadθελα να το κάνω φορητό αντ 'αυτού και ένα OLED 1,7 θα έκανε μια τέλεια οθόνη.

Λίστα μερών:

  • Arduino nano
  • OLED
  • Ομιλητής

Βήμα 1: Βίντεο

Image
Image

Βήμα 2: Σχεδιάζοντας το παιχνίδι

Σχεδιάζοντας το Παιχνίδι
Σχεδιάζοντας το Παιχνίδι

Για αυτό το παιχνίδι Pong ήθελα να το κρατήσω σχετικά απλό, πράγμα που σήμαινε αλγόριθμους αντανάκλασης με κουπί με εικονικό υπολογιστή ή φανταχτερό παιχνίδι. Βασικά, υπάρχει ένα μόνο κουπί που ένας χρήστης μπορεί να μετακινήσει πάνω ή κάτω και το να συγκρουστεί η μπάλα με το κουπί θα αναστρέψει το διάνυσμα του άξονα x. Κάθε φορά που η μπάλα χτυπά υπάρχει ένας ήχος που παίζει. Όταν η συσκευή παιχνιδιού είναι ενεργοποιημένη, εμφανίζεται μια οθόνη με τον τίτλο και τις οδηγίες του παιχνιδιού. Επιπλέον, η μητέρα μου δημιούργησε ένα μικρό θεματικό τραγούδι που βγαίνει στο παρασκήνιο μέχρι να πατηθεί το επάνω κουμπί.

Βήμα 3: Σχεδιασμός της συσκευής τυχερών παιχνιδιών

Σχεδιασμός συσκευής τυχερών παιχνιδιών
Σχεδιασμός συσκευής τυχερών παιχνιδιών
Σχεδιασμός της συσκευής τυχερών παιχνιδιών
Σχεδιασμός της συσκευής τυχερών παιχνιδιών
Σχεδιασμός της συσκευής τυχερών παιχνιδιών
Σχεδιασμός της συσκευής τυχερών παιχνιδιών
Σχεδιασμός συσκευής τυχερών παιχνιδιών
Σχεδιασμός συσκευής τυχερών παιχνιδιών

Το πρόγραμμά μου CAD είναι Fusion 360, οπότε αποφάσισα να το χρησιμοποιήσω για να σχεδιάσω τη συσκευή παιχνιδιών pong μου. Ξεκίνησα σχεδιάζοντας κάθε χρησιμοποιούμενο εξάρτημα: ένα OLED, Arduino Nano και ένα ηχείο. Με αυτόν τον τρόπο μπορώ να δω ακριβώς πού και πώς πρέπει να ταιριάζει κάθε στοιχείο στο εσωτερικό του περιβλήματος. Στη συνέχεια, έβαλα το Nano και το PCB στο πίσω μέρος της θήκης και το OLED πάνω από αυτό. Ακολουθούσε το ερώτημα πού να βάλουμε το ηχείο και τα κουμπιά. Αποφάσισα ότι το ηχείο 3W θα μπορούσε να πάει ακριβώς κάτω από την οθόνη (κοιτάζοντάς το από την κορυφή) και αυτό απαιτούσε επίσης την τοποθέτηση μιας "σχάρας" πάνω από το ηχείο, έτσι ώστε ο ήχος να μην σβήνει. Τέλος, πρόσθεσα δύο κουμπιά στην αριστερή πλευρά για να προσθέσω στοιχεία ελέγχου.

Βήμα 4: Κατασκευή της συσκευής

Κατασκευή της συσκευής
Κατασκευή της συσκευής
Κατασκευή της συσκευής
Κατασκευή της συσκευής
Κατασκευή της συσκευής
Κατασκευή της συσκευής

Ξεκίνησα με τρισδιάστατη εκτύπωση κάθε τμήματος, που αποτελείται από το κάτω μισό, το πάνω μισό και 2 κουμπιά. Στη συνέχεια, κόλλησα μια γυναικεία κεφαλίδα στο 4x6cm και την ένωσα στο Nano. Αυτό όχι μόνο επιτρέπει την εύκολη αφαίρεση του OLED, αλλά το ανεβάζει και πάνω από το Arduino Nano. Ελέγξτε το σχηματικό για πληροφορίες καλωδίωσης. Στη συνέχεια, ένωσα τα δύο κουμπιά, μαζί με έναν απλό πίνακα micro USB για ενέργεια. Το ηχείο ήταν επίσης προσαρτημένο και το τοποθέτησε στη σωστή του θέση. Ο σχεδιασμός μου Fusion 360 επιτρέπει στις βίδες μηχανής 3mm να συγκρατούν το OLED, το ηχείο και να συνδέουν τα δύο μισά της συσκευής. Όμως, έπρεπε να τα κάνω ακριβή, οπότε χρησιμοποίησα την πρέσα μου για να βγάλω 8 οπές: 2 για το ηχείο, 2 για την οθόνη και 4 από κάτω. Μπορείτε να επισκεφθείτε τον σύνδεσμο Thingiverse για τα αρχεία.

Βήμα 5: Προγραμματισμός του παιχνιδιού

Η χρήση μιας απλής διεπαφής ήταν ζωτικής σημασίας για να διατηρηθεί το πρόγραμμα μικρό. Ξεκίνησα προσθέτοντας αρκετές βιβλιοθήκες: Adafruit_GFX, Adafruit_SSD1351 και τη βιβλιοθήκη Arduino Timer. Στη συνέχεια καθόρισα τις καρφίτσες και τα χρώματα μου, όπως τις καρφίτσες του OLED και τους ορισμούς χρώματος 16 bit. Στον κωδικό μου υπάρχουν επίσης 4 τρόποι για να αλλάξετε τον τρόπο παιχνιδιού, όπως η αλλαγή των διαστάσεων του κουπιού και πόσο γρήγορα κινείται η μπάλα. Στη συνέχεια, υπάρχει μια ενότητα όπου ορίζεται κάθε μεταβλητή, συμπεριλαμβανομένης της βαθμολογίας και των διάφορων συντεταγμένων. Κάθε φορά που η συσκευή τροφοδοτείται από μια εικόνα μιας μπάλας και εμφανίζεται κάποιο κείμενο στην οθόνη, μαζί με ένα μικρό θεματικό τραγούδι που ορίζεται νωρίτερα στον κώδικα. Μόλις ξεκινήσει το παιχνίδι δημιουργούνται δύο χρονόμετρα, ένα που ενημερώνει το κουπί και το άλλο ενημερώνει την μπάλα. Κάθε φορά που ενημερώνεται η θέση της μπάλας, οι συντεταγμένες της ελέγχονται για να βεβαιωθείτε ότι δεν ξεπερνά το περίγραμμα της οθόνης ή αν αγγίζει ένα κουπί. Κάθε φορά που αναπηδά είτε ο άξονας x είτε y αντιστρέφεται και παίζει ένας μικρός τόνος. Δείτε το βίντεο στην αρχή αυτής της εγγραφής για να δείτε πώς παίζει το παιχνίδι.

Βήμα 6: Παίζοντας Pong

Παίζοντας Pong!
Παίζοντας Pong!
Παίζοντας Pong!
Παίζοντας Pong!
Παίζοντας Pong!
Παίζοντας Pong!
Παίζοντας Pong!
Παίζοντας Pong!

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

Συνιστάται: