GPIO-based DIY game controller

, , Leave a comment

Halo selamat datang kembali di andidinata.com. Kali ini saya akan membagikan tutorial untuk membuat game controller sendiri untuk memainkan retropie di Raspberry Pi. Retropie memang bisa dimainkan dengan sekian banyak controller baik yang wireless maupun dengan kabel, untuk menghemat budget atau jika ingin membangun sistem game portabel sendiri, tutorial ini mungkin jawaban untuk sisi controller.

Proses pembuatannya dibagi menjadi dua bagian. Yang pertama adalah assembly dan kedua adalah instalasi software. Kita bahas bagian pertama terlebih dahulu.

Untuk membuatnya, saya menggunakan protoboard terlebih dahulu untuk memastikan fungsinya berhasil. Saya agak malu, tapi inilah skema pertama dan terakhir. Maaf karena bukan orang yang bisa menggambar skematik, ya inilah dari mana semua bermula.

Dari coret-coret diatas yang tidak menyertakan trace untuk ground, akhirnya diterjemahkan ke dalam protoboard dan menjadi hasil yang seperti ini:

Saran saya untuk melakukan proses testing terlebih dahulu sebelum masuk ke langkah berikutnya untuk memastikan setiap tombol sudah dikenali dan tidak ada satu tombol yang. Copykan script ini di python shell untuk melakukan testing masing-masing tombol.

import RPi.GPIO as GPIO
import time

def test(n):
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(n, GPIO.IN, pull_up_down=GPIO.PUD_UP)
    try:
        while True:
            input_state=GPIO.input(n)
            if input_state == False:
                print("Button ", n)
                time.sleep(0.2)
    except KeyboardInterrupt:
        GPIO.cleanup()

Saat semua tombol sudah bisa dikenali maka tahap pertama selesai. Sekarang masuk ke tahap berikutnya yaitu setup software. Software yang dimaksud adalah Retrogame bikinan Adafruit. Program retrogame sebenarnya adalah emulasi keyboard. Tahapannya adalah sebagai berikut dari home folder:

curl -O https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/retrogame.sh

file retrograme.sh akan terdownload di home folder. Kemudian susul dengan perintah

sudo bash retrogame.sh

Saat program perintah dieksekusi. Pilih no.2 lalu reboot. Setelah proses instalasi selesai, program executable retrogame sudah dicopykan ke /usr/local/bin dan ditambahkan ke dalam rc.local agar dijalankan setiap kali booting. Selain itu, file konfigurasi sudah dicopykan ke /boot/retrogame.cfg

Setelah reboot, bukan berarti game controllernya sudah bisa dijalankan. Kita perlu mengedit file /boot/retrogame.cfg untuk menyesuaikan dengan GPIO pin yag kita gunakan. Untuk mengeditnya ketikkan

sudo nano /boot/retrogame.cfg

Sesuai dengan skema yang dibuat sebelumnya, kita hanya perlu melakukan mapping GPIO pin ke fungsi yang kita kehendaki. Setelah itu save (Ctrl-O) dan exit (Ctrl-X) lalu restart.

Tahap terakhir adalah binding key yang diassign oleh GPIO ke konfirgurasi emulationstation. Caranya seperti kita meng-assign sebuah controller baru. Masuk kedalam menu emulationstation dan pilih Configure Input. Tekan tombol sembarang dari kontroler yang sudah dibuat sebelumnya hingga muncul tulisan Keyboard. Setelah itu assign masing-masing tombol lalu selesai.

Sampai disini, controller sudah bisa digunakan dengan normal

Saat semua sudah berfungsi baik, maka saatnya melakukan penyempurnaan dengan mencetak game controler di PCB yang baik. Untuk cetak PCB, dari googling saya menemukan jasa percetakan PCB di daerah Bekasi Timur yang tidak jauh dari tempat tinggal saya. Pekerjaannya cepat, hari kamis dikontak, jumat finalisasi, sabtu sore PCB jadi

Berikut ini foto perbandingan antara prototype dan PCB yang saya beri nama Pi-GAMECON.

Dan ini adalah wujud jika DIY Game controller dipasang di unit game portable, rapi. Jika kamu menginginkan PCB ini saya taruh di link tokopedia. Saat ini baru beberapa keping saja yang tersedia, tapi menurut saya tidak lama untuk menyediakan dalam jumlah yang lebih banyak.

https://www.tokopedia.com/tinypc/pi-gamecon-diy-retropie-controller

Sekian tutorial dari pembuatan DIY GPIO Retropie Controller. Semoga bermanfaat. Apabila suka dengan tulisan ini, mohon kesediaannya untuk memberikan like dan share. Silahkan juga subscribe untuk mendapatkan pemberitahun tentang tulisan baru dari blog ini. Terima kasih telah membaca dan sampai jumpa di tulisan berikutnya.

 

 

Facebook Comments
 

Leave a Reply