Πίνακας περιεχομένων:
- Βήμα 1: Λίστα υλικών
- Βήμα 2: Βιβλιοθήκη και μεταφόρτωση σκίτσων
- Βήμα 3: Σύνδεση των εξαρτημάτων: του συνδετήρα VGA
- Βήμα 4: Σύνδεση των εξαρτημάτων: τα ποτενσιόμετρα και το κουμπί
- Βήμα 5: Συμπέρασμα και Ευχαριστίες
Βίντεο: ESP8266 VGA Pong: 5 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Σε αυτό το Instructables θα δείξω πώς να δημιουργήσετε μια αναπαραγωγή του κλασικού παιχνιδιού Pong για μια οθόνη VGA, χρησιμοποιώντας ένα ESP8266 και μερικά άλλα εξαρτήματα.
Αυτό το παιχνίδι είναι δυνατό από τη βιβλιοθήκη EspVGAx που δημοσιεύτηκε πρόσφατα στο GitHub από τον Sandro Maffiodo (γνωστός και ως Smaffer) και, από όσο γνωρίζω, αυτό είναι το πρώτο παιχνίδι που το εκμεταλλεύεται.
Η βιβλιοθήκη υλοποιεί ανάλυση 512 x 480 εικονοστοιχεία, αποθηκευμένη σε ένα framebuffer μέσα στη μνήμη RAM, η οποία απαιτεί 30720 byte. Η ανάλυση είναι τεράστια σε σύγκριση με τα Arduino TVout ή VGAx (128 x 96 και 120 x 60 pixel αντίστοιχα). Ελπίζω αυτό το παιχνίδι να εμπνεύσει άλλους προγραμματιστές να αναπτύξουν ή να αναπαράγουν πιο πολύπλοκα παιχνίδια.
Βήμα 1: Λίστα υλικών
Η βιβλιοθήκη EspVGAx απαιτεί ένα ESP8266 με όλα τα GPIO εκτεθειμένα, όπως ESP-12E, πίνακα NodeMCU-12E ή οποιονδήποτε πίνακα που εκθέτει GPIO5 (D1), GPIO4 (D2) και GPIO13 (D7)
Συγκεκριμένα, χρησιμοποίησα:
- ένα ESP8266 NodeMCU-12E (σύνδεσμος εδώ)
- μια υποδοχή DSUB15 (δηλαδή μια θηλυκή υποδοχή VGA)
- αντίσταση 330 Ohm
- άλλη αντίσταση (περίπου 1 έως 3 kOhm)
- δύο Ποτενσιόμετρα 10 kOhm
- κουμπί ώθησης (ν.ο.)
- δύο δίοδοι (όπως 1N4007s)
- μια σανίδα ψωμιού
- καλώδια
Πήρα την υποδοχή DSUB15 από μια παλιά πλακέτα υπολογιστή VGA. Εναλλακτικά, μπορείτε επίσης να κόψετε ένα παλιό καλώδιο VGA και να συνδέσετε τα καλώδια απευθείας στο breadboard.
Βήμα 2: Βιβλιοθήκη και μεταφόρτωση σκίτσων
Υπάρχουν διάφορες μέθοδοι προγραμματισμού και ESP8266. Χρησιμοποίησα το Arduino IDE για να γράψω Pong και να ανεβάσω τον κώδικα.
Λάβετε υπόψη ότι η βιβλιοθήκη EspVGAx λειτουργεί για το Arduino IDE 1.8.1. Εάν έχετε άλλες εκδόσεις, το καλύτερο είναι να κατεβάσετε τα αρχεία.zip και να τα αποσυμπιέσετε σε ειδικό φάκελο. Η έκδοση των Windows είναι εδώ. Οι εκδόσεις για άλλα λειτουργικά συστήματα είναι εδώ.
Μετά από αυτό, πρέπει να κατεβάσετε τη βιβλιοθήκη EspVGAx από τη σελίδα GithHub εδώ (απευθείας σύνδεσμος για την έκδοση zip εδώ) και να την αποσυμπιέσετε στις βιβλιοθήκες φακέλων στο λογισμικό Arduino.
Σημείωση Υπάρχει ένα μικρό σφάλμα στο αρχείο espvgax_draw.h. Για να το διορθώσετε, απλώς αντικαταστήστε τη γραμμή 17:
ενώ (x0%32) {με while (x0%32 && sw> 32) {
Τέλος, μπορείτε να κατεβάσετε το αρχείο ESP8266_Pong.rar στο τέλος αυτού του βήματος.
Μόλις αποσυμπιέσετε, για να το ανεβάσετε στο ESP8266, πρέπει να διαμορφώσετε το Arduino IDE.
Εάν δεν το έχετε κάνει ποτέ, μπορείτε να βρείτε όλες τις απαραίτητες οδηγίες σε αυτό το Instructables, ιδίως στο Βήμα 2.
Μόλις διαμορφωθούν όλα, οι ρυθμίσεις ESP8266 θα πρέπει να μοιάζουν με αυτές που φαίνονται στην παραπάνω εικόνα.
Εάν μπορείτε να ανεβάσετε τον κώδικα χωρίς σφάλματα, μπορείτε να ξεκινήσετε τη συναρμολόγηση των εξαρτημάτων.
Βήμα 3: Σύνδεση των εξαρτημάτων: του συνδετήρα VGA
Συνιστώ να συνδέσω πρώτα τη θύρα VGA, όπως φαίνεται στις παραπάνω εικόνες. Λάβετε υπόψη ότι συνδέοντας τους τρεις ακροδέκτες Κόκκινο, Πράσινο και Μπλε μαζί (δηλαδή τις ακίδες 1, 2 και 3 στην υποδοχή DSUB15), θα έχετε μια εικόνα B&W στην οθόνη σας. Μπορείτε επίσης να έχετε διαφορετικό συνδυασμό χρωμάτων. Δείτε τις λεπτομέρειες στη σελίδα Library GitHub.
Επιπλέον, θα πρέπει να συνδέσετε μια αντίσταση 330 Ohm μεταξύ των ακίδων RGB και του D7 (GPIO13) στο ESP8266. Αυτό μου έδωσε μια γκριζωπή εικόνα στην οθόνη μου, έτσι, μετά από λίγες προσπάθειες, αποφάσισα να την εξαλείψω καθόλου.
Σε αυτό το σημείο, αν όλα λειτουργούν σωστά, μπορείτε ήδη να συνδέσετε την οθόνη και να δείτε την αρχική οθόνη του παιχνιδιού, με το banner "ESP8266 VGAx Pong".
Βήμα 4: Σύνδεση των εξαρτημάτων: τα ποτενσιόμετρα και το κουμπί
Το κουμπί πρέπει να είναι συνδεδεμένο μεταξύ 3.3V και ακίδας D0 (GPIO16). Συνδέστε επίσης την αντίσταση 1 έως 3 kOhm από D0 στη γείωση. Αυτό αποφεύγει το D0 να είναι σε απροσδιόριστη κατάσταση όταν το κουμπί είναι ανοιχτό.
Η σύνδεση των δύο ποτενσιόμετρων είναι λιγότερο ασήμαντη, καθώς στην πραγματικότητα το ESP8266 διαθέτει μόνο αναλογική θύρα εισόδου A0 (ADC0)! Το κόλπο είναι να συνδέσετε και τις δύο εξόδους pot.s στην ίδια θύρα και να τις «πολυπλέξετε». Η πολυπλεξία σημαίνει απλώς ότι θα ενεργοποιήσετε ένα ποτενσιόμετρο, θα το διαβάσετε, μετά θα το απενεργοποιήσετε και θα μεταβείτε στο δεύτερο.
Εάν θέλετε να μάθετε περισσότερα σχετικά με αυτήν τη μέθοδο, μπορείτε να διαβάσετε αυτό το Instructable.
Συνδέστε το ένα ακραίο ποτενσιόμετρο στο GND, το άλλο ακραίο στο D5 για το ποτενσιόμετρο της αριστερής συσκευής αναπαραγωγής και το D6 για το δεξί.
Κάθε κεντρικός πείρος ποτενσιόμετρου πρέπει να συνδέεται με μια μεμονωμένη δίοδο και οι άλλες πλευρές των διόδων πρέπει να συνδέονται με το A0 (ADC0), με την πολικότητα να φαίνεται στην παραπάνω εικόνα.
Βήμα 5: Συμπέρασμα και Ευχαριστίες
Είμαι ευγνώμων στον Sandro Maffiodo - SMAFFER - για τη βιβλιοθήκη ESPVGAX. Αυτό το παιχνίδι δεν θα ήταν δυνατό χωρίς αυτό.
Ελπίζω ότι αυτό το Instructable θα αποτελέσει έμπνευση για άλλους προγραμματιστές να κάνουν αναπαραγωγές πιο πολύπλοκων κλασικών παιχνιδιών arcade με το ESP8266, το οποίο έχει πολύ λιγότερους περιορισμούς από το Arduino.
Τέλος, έγραψα αυτό το Instructable για να το υποβάλω στον Διαγωνισμό Παιχνιδιών: αν σας αρέσει ή το αναπαράγετε, αφιερώστε λίγο χρόνο για να το ψηφίσετε!
Συνιστάται:
Εξωτερική VGA / GPU για φορητούς υπολογιστές που χρησιμοποιούν EXP GDC Beast: 15 βήματα (με εικόνες)
Εξωτερική VGA / GPU για φορητούς υπολογιστές που χρησιμοποιούν EXP GDC Beast: Γεια σας παιδιά. Αυτό είναι το πρώτο μου σεμινάριο για οδηγίες. Τα αγγλικά δεν είναι η πρώτη μου γλώσσα, οπότε παρακαλώ συγχωρήστε τα γραμματικά μου λάθη. Το έκανα με βάση την εμπειρία μου στην αναβάθμιση του φορητού υπολογιστή μου. Και δεν θα σας κουράσω με μια μακρά εισαγωγή αφού δεν ξέρω
The Ultimate Beer Pong Machine - PongMate CyberCannon Mark III: 6 βήματα (με εικόνες)
The Ultimate Beer Pong Machine - PongMate CyberCannon Mark III: Εισαγωγή Το PongMate CyberCannon Mark III είναι το νεότερο και πιο προηγμένο κομμάτι της τεχνολογίας πονγκ μπύρας που πωλήθηκε ποτέ στο κοινό. Με το νέο CyberCannon, οποιοδήποτε άτομο μπορεί να γίνει ο πιο φοβισμένος παίκτης στο τραπέζι μπύρας πονγκ. Πώς είναι αυτό το π
Φτιάξτε το δικό σας παιχνίδι 1D Pong: 5 βήματα (με εικόνες)
Make Your Own 1D Pong Game: Για αυτό το έργο θα σας δείξω πώς συνδύασα έναν πίνακα MDF με κουμπιά βομβητή, LED και ένα Arduino Nano για να δημιουργήσω ένα παιχνίδι 1D Pong που είναι πραγματικά διασκεδαστικό να παίζεις. Στην πορεία θα σας δείξω πώς να δημιουργήσετε το κύκλωμα ηλεκτρονικών και πόσο διαφέρει
ESP32 VGA Arcade Games and Joystick: 6 βήματα (με εικόνες)
ESP32 VGA Arcade Games and Joystick: Σε αυτό το διδακτικό θα δείξω πώς να αναπαράγετε τέσσερα παιχνίδια arcade - Tetris - Snake - Breakout - Bomber - χρησιμοποιώντας ένα ESP32, με την έξοδο για μια οθόνη VGA. Η ανάλυση είναι 320 x 200 pixels, σε 8 χρώματα. Έχω κάνει στο παρελθόν μια έκδοση με
Βασικός υπολογιστής Arduino με έξοδο VGA: 5 βήματα (με εικόνες)
Arduino Basic PC With VGA Output: Στο προηγούμενο Instructable έχω δείξει πώς να φτιάξω έναν ρετρό υπολογιστή 8-bit που λειτουργεί BASIC, μέσω δύο Arduino και με σήμα εξόδου σε B & W για οθόνη τηλεόρασης. Τώρα θα δείξω πώς να φτιάξω τον ίδιο υπολογιστή, αλλά με το σήμα εξόδου σε