DIY: Raspberry Pi Portable Games Console

DIY: Raspberry Pi Portable Game Console

Παίξτε retro παιχνίδια με τη βοήθεια του Raspberry Pi, δημιουργώντας μια φορητή κονσόλα. Παίξτε retro παιχνίδια με τη βοήθεια του Raspberry Pi, δημιουργώντας μια φορητή κονσόλα.

Το σημερινό project έχει έναν έντονο arcade χαρακτήρα αφού με ένα Raspberry Pi μπορούμε να φτιάξουμε μια φορητή παιχνιδομηχανή η οποία θα τρέχει μια έκδοση του PiPlay που είναι ένα λειτουργικό σύστημα για το Raspberry Pi και το οποίο εξομοιώνει γνωστά gaming συστήματα από άλλες εποχές. Ενδεικτικά αναφέρονται τα: NES, Genesis, SNES, Gameboy, Gameboy Advance, Atari 2600 και Commodore 64 και μπορεί να διαβάσει τις "κλασικές" ROMs από αυτές τις πλατφόρμες, αριθμός τεράστιος! Για την κατασκευή θα χρησιμοποιήσουμε το module PiJuice που διατίθεται στο KickStarter και στην ουσία περιλαμβάνει μια μπαταρία για να τροφοδοτήσουμε το Raspberry Pi όσο βρισκόμαστε στον δρόμο και ένα βασικό σασί, ενώ οι μαζεμένες διαστάσεις του, ενδείκνυται για τη δημιουργία μικρών κατασκευών.



DIY: Raspberry Pi Portable Games Console

Βήμα 2. Επειδή θα χρησιμοποιήσουμε μια οθόνη Adafruit 2.2” TFT στραφήκαμε στο PiPlay, όμως το Adafruit έχει έτοιμο το προρυθμισμένο image για να το γράψουμε σε μια κενή microSD κάρτα μνήμης. Τώρα απλά συνδέστε το Pi σε μια USB για την τροφοδοσία του, ενώ το PiJuice συνδέεται στην GPIO πάνω στο Raspberry Pi.

DIY: Raspberry Pi Portable Games Console

Βήμα 3. Σειρά έχει το χειριστήριο - joystick της δοκιμής μας. Οι δύο αναλογικοί μοχλοί έχουν output 0 έως 5V οπότε το Arduino Pro Mini (16MHz κρύσταλλο, atmega chip) θα λειτουργήσει ως analog to digital converter για να μετατρέψει τις εντολές από αναλογικές σε ψηφιακές μιας και το Raspberry Pi δε φέρει τέτοια δυνατότητα. Έτσι έχουμε:

Pin A0 - for input from joystick in x direction,
Pin A1 - for input from joystick in y direction,
Pins 2,3,4 and 5 for output of a digital state to the Raspberry Pi GPIO, (up, down, left and right).
VCC and GRD for powering the Arduino
VCC and GRD for powering the joystick

Ύστερα κολλάμε τα καλώδια της TFT οθόνης. Το κόκκινο καλώδιο στο 5V pin της οθόνης και το μαύρο στο GRD της οθόνης και είναι το pad "WP" που βρίσκεται στο κάτω πλευρά της οθόνης. Για να προγραμματίσουμε το Arduino χρησιμοποιούμε το USB to TTL adapter, το πρόγραμμα Arduino IDE και τον κώδικα.

DIY: Raspberry Pi Portable Games Console
DIY: Raspberry Pi Portable Games Console
DIY: Raspberry Pi Portable Games Console

Βήμα 4. Τα καλώδια των πλήκτρων τα κολλάμε διαγώνια όπως φαίνεται στις εικόνες. Η μια άκρη του εκάστοτε διακόπτη συνδέεται με τη γείωση, και η άλλη με το GPIO του Raspberry Pi. Για τη γείωση καλό είναι να συνδεθούν όλα σε ένα καλώδιο για να μην τοποθετούμε περιττά καλώδια στο project μας. Τα δύο pins δεξιά (17 και 27) είναι τα insert coin και start 1p πλήκτρα και μετά ακολουθεί η μεγαλύτερη σειρά που αποτελείται από τα pins 5, 6, 12, 13, 16, 19, 20 και 21 που συνθέτουν τέσσερα action κουμπιά και τέσσερα κουμπιά διεύθυνσης.

DIY: Raspberry Pi Portable Games Console
DIY: Raspberry Pi Portable Games Console
DIY: Raspberry Pi Portable Games Console
DIY: Raspberry Pi Portable Games Console

Βήμα 5. Σε αυτό το βήμα κατεβάζουμε το Retrogame zip στο linux PC, το ανοίγουμε με δικαιώματα root και αντιγράφουμε το αρχείο Retrogame στον φάκελο home>pi. Τώρα μπορούμε να επεξεργαστούμε το αρχείο από το Pi με έναν SSH client έχοντας το Pi στο τοπικό δίκτυο. Κάνουμε unzip το Adafruit-Retrogame-master.zip και τρέχουμε το εκτελέσιμο retrogame.c (sudo make retrogame.c) και μέσω αυτού μπορούμε να αλλάξουμε τις λειτουργίες του εκάστοτε πλήκτρου. Για να κάνουμε το retrogame.c να τρέχει αυτόματα στο boot, αρκεί να επεξεργαστούμε το αρχείο rc.loacl και να προσθέσουμε το "home/pi/Adafruit-Retrogame/retrogame &" πριν την γραμμή "exit 0".

DIY: Raspberry Pi Portable Games Console
DIY: Raspberry Pi Portable Games Console

Βήμα 6. Αφού τελειώσουμε με τα του λογισμικού, προχωράμε στη συναρμολόγηση της κονσόλας. Ο σκελετός στον οποίο πατάνε επάνω τα components μας έρχεται μαζί με το PiJuice και είναι ένα απλό ξύλινο κομμάτι, κομμένο με laser.

DIY: Raspberry Pi Portable Games Console
DIY: Raspberry Pi Portable Games Console
DIY: Raspberry Pi Portable Games Console
DIY: Raspberry Pi Portable Games Console
DIY: Raspberry Pi Portable Games Console
DIY: Raspberry Pi Portable Games Console