LAPORAN PROJECT
PEMBUATAN GAME DINO MENGGUNAKAN ARDUINO UNO SEBAGAI MEDIA INTERAKTIF
DISUSUN OLEH:
Dirly Rahmat P (25051204039)
Azzarah Andina R.I (25051204041)
Krisna Anandias R. (25051204141)
M. Daffa Firmansyah (25051204219)
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan teknologi mikrokontroler telah memberikan kemudahan dalam merancang berbagai sistem interaktif yang dapat diterapkan dalam bidang pendidikan, hiburan, maupun kebutuhan sehari-hari. Arduino Uno merupakan salah satu platform mikrokontroler yang banyak digunakan karena bersifat open-source, mudah diprogram, dan didukung oleh berbagai modul serta sensor yang dapat dikembangkan sesuai kebutuhan.
Salah satu bentuk aplikasi mikrokontroler yang menarik dan edukatif adalah pembuatan game sederhana. Game tidak hanya berfungsi sebagai hiburan, tetapi juga dapat menjadi media pembelajaran yang interaktif, terutama dalam memahami logika pemrograman dan pengendalian perangkat keras. Game "Chrome Dino" yang populer pada browser Google Chrome saat tidak ada koneksi internet, menjadi inspirasi dalam pembuatan proyek ini karena memiliki mekanisme permainan yang sederhana namun menarik.
Melalui project Pembuatan Game Dino menggunakan Arduino Uno, penulis bertujuan untuk memahami implementasi pemrograman mikrokontroler dalam menampilkan gambar, mengatur pergerakan karakter, serta mendeteksi input dari pemain dalam bentuk tombol kontrol. Selain itu, project ini juga menjadi sarana untuk meningkatkan kreativitas dan keterampilan dalam merakit rangkaian elektronik serta mengoptimalkan pemanfaatan komponen yang tersedia.
Dengan adanya project ini, diharapkan dapat memberikan pengalaman praktis bagi pembuat maupun pembaca dalam mengembangkan game sederhana berbasis elektronik serta meningkatkan pemahaman tentang teknologi mikrokontroler dan penerapannya dalam bidang hiburan digital.
1.2 Rumusan Masalah
- Bagaimana cara merancang game Dino sederhana menggunakan Arduino Uno?
- Bagaimana cara mengatur pergerakan karakter Dino dan rintangan melalui pemrograman?
- Bagaimana cara menampilkan game dan mengontrol permainan menggunakan tombol input?
1.3 Tujuan Project
- Menjelaskan proses pembuatan game Dino sederhana berbasis Arduino Uno.
- Meningkatkan pemahaman mengenai pemrograman mikrokontroler dan perakitan rangkaian elektronik.
- Mengimplementasikan logika permainan pada perangkat keras secara interaktif.
1.4 Manfaat Project
- Menambah pengetahuan mengenai pemrograman dan penerapan mikrokontroler Arduino Uno.
- Menjadi referensi dalam pembuatan game sederhana berbasis perangkat keras.
- Mengembangkan keterampilan dalam merakit sistem elektronika yang interaktif.
BAB II
KAJIAN TEORI
2.1 Pengertian Arduino Uno
Arduino Uno adalah sebuah papan mikrokontroler (microcontroller board) yang digunakan sebagai alat pengendali utama pada berbagai proyek elektronik dan sistem otomatisasi. Arduino Uno menjadi versi yang paling populer dalam keluarga Arduino karena memiliki fitur yang lengkap, mudah digunakan, serta cocok untuk pemula hingga tingkat lanjutan.
Arduino Uno berbasis mikrokontroler ATmega328P, yaitu chip kecil yang dapat diprogram untuk membaca input (seperti tombol, sensor, modul, dll.) dan mengeluarkan output (seperti LED, motor, display, dan buzzer). Papan ini bekerja pada tegangan 5 volt, dan diprogram menggunakan perangkat lunak Arduino IDE, yang menggunakan bahasa C/C++ dengan sintaks yang telah disederhanakan.
2.2 Pemrograman Pada Arduino
Pemrograman Arduino dilakukan menggunakan Arduino IDE dengan bahasa C/C++ sederhana. Kode program terdiri dari dua bagian utama:
- setup()
Menginisialisasi layar OLED, pin tombol, variabel permainan, dan tampilan awal.
- loop()
Menjalankan logika permainan berulang-ulang, yaitu:
- membaca tombol,
- menggerakkan Dino,
- menggerakkan rintangan,
- mendeteksi tabrakan,
- menampilkan layar permainan.
2.3 Komponen Utama
a. Arduino Uno
Arduino Uno adalah mikrokontroler utama yang mengolah input dari tombol dan mengirimkan sinyal ke komputer melalui komunikasi serial. Arduino berfungsi sebagai "pengganti keyboard", yaitu mendeteksi ketika tombol ditekan kemudian memicu komputer untuk menjalankan perintah jump pada game.
b. Push Button (tombol)
Push button digunakan sebagai kontrol utama oleh pemain. Saat tombol ditekan, Arduino membaca perubahan nilai digital dan meneruskan perintah untuk melakukan "lompatan" pada game Dino. Tombol ini bekerja dengan sistem pull-up agar pembacaan sinyal tetap stabil.
c. Kabel Jumper (male-male/male-female)
Kabel jumper berfungsi menghubungkan setiap komponen, seperti tombol, resistor, dan Arduino Uno. Kabel ini memungkinkan rangkaian dirakit dengan mudah pada breadboard.
d. Komputer/Laptop
Komputer digunakan untuk menjalankan:
- Arduino IDE untuk memprogram Arduino Uno
- Game Chrome Dino sebagai output permainan
- Software Pendukung (misalnya Python atau AutoHotKey) yang membaca data serial dari Arduino dan menekan tombol "space" secara otomatis
e. Software Pendukung
Karena Arduino Uno tidak bisa bertindak sebagai keyboard HID, dibutuhkan software tambahan yang membaca data serial dari Arduino, lalu menekan tombol "space" di komputer. Contohnya:
- Script Python
- AutoHotKey
- Processing
BAB III
PEMBAHASAN
3.1 Alat dan Bahan
Dalam pembuatan project pembuatan Game Dino berbasis Arduino Uno, alat dan bahan berikut digunakan untuk menunjang proses perancangan, perakitan, dan pengujian:
- Arduino Uno R3
Bertindak sebagai pusat kontrol yang mengolah input tombol dan menampilkan grafik pada OLED.
- OLED Display
Layar utama yang digunakan untuk menampilkan karakter Dino, rintangan, awan, dan elemen game lainnya.
- Push Button (tombol tekan)
Digunakan sebagai input untuk membuat karakter Dino melakukan aksi melompat.
- Kabel Jumper Male-to-Male
Digunakan untuk menghubungkan berbagai komponen dengan Arduino.
- Buzzer
Untuk memberikan efek suara seperti suara loncatan atau game over sehingga permainan lebih interaktif.
- Laptop/PC
Digunakan untuk menulis, mengedit, dan meng-upload program Arduino.
- Arduino IDE
Perangkat lunak untuk mengelola dan memprogram Arduino menggunakan bahasa C/C++.
3.2 Langkah-Langkah Pembuatan
Berikut merupakan langkah-langkah pembuatan game dino:
1. Perancangan Konsep Game
- Menentukan mekanisme permainan, yaitu karakter Dino yang dapat melompat untuk menghindari kaktus bergerak.
- Mendesain sprite sederhana berupa Dino, kaktus, tanah, dan elemen tambahan seperti awan.
- Menentukan ukuran tiap elemen piksel pada OLED karena layar hanya berukuran 128×64.
2. Perakitan Hardware
- Menghubungkan OLED ke Arduino Uno menggunakan jalur I2C:
- VCC → 5V
- GND → GND
- SDA → A4
- SCL → A5
- Memasang tombol ke pin digital (misalnya pin 2), dengan resistor untuk menstabilkan input.
- Jika menggunakan buzzer, disambungkan ke pin digital 3 untuk suara efek permainan.
- Semua komponen disusun dengan indah agar lebih rapi dan mudah diuji.
3. Penyusunan Program
- Mengimpor library display Adafruit_GFX dan Adafruit_SSD1306 untuk menggambar grafik sederhana.
- Membuat fungsi untuk menggambar:
- Karakter Dino
- Kaktus
- Garis Tanah
- Awan
- Membuat variabel untuk menyimpan posisi karakter dan obstacle.
- Menyusun logika permainan meliputi:
- Deteksi tombol untuk melompat
- Simulasi gravitasi agar Dino turun kembali setelah melompat
- Pergerakan kaktus dari kanan ke kiri
- Reset posisi kaktus setelah keluar layar
- Deteksi tabrakan antara Dino dan obstacle
- Tampilan skor yang bertambah seiring waktu
- Percepatan jalan dino ketika skor mencapai 500
- Setiap kelipatan 700 background akan berganti warna.
- Mengatur ulang tampilan setiap beberapa milidetik agar animasi terlihat halus.
4. Pengujian Sistem
- Mengupload program ke Arduino Uno.
- Memastikan tampilan OLED bekerja dan menampilkan grafik dengan benar.
- Menekan tombol untuk menguji apakah Dino bisa melompat sesuai perintah.
- Mengamati pergerakan obstacle serta memastikan tingkat kesulitan sesuai.
- Menguji kondisi tabrakan untuk memastikan fungsi "Game Over" berjalan.
- Melakukan perbaikan jika animasi terlalu cepat, lambat, atau tidak seimbang.
3.3 Hasil Pengamatan
Berdasarkan proses pengujian dan percobaan yang dilakukan, diperoleh hasil sebagai berikut:
- Tampilan Game
OLED berhasil menampilkan karakter Dino, tanah, awan, dan kaktus dengan cukup jelas meskipun layar kecil. Sprite terlihat stabil dan tidak berkedip.
- Respon Tombol Baik
Tombol merespon dengan cepat saat ditekan. Dino dapat melompat dengan lancar, dan tinggi lompat sesuai dengan logika yang diprogram.
- Animasi Obstacle Berjalan Halus
Kaktus bergerak dari kanan ke kiri dengan kecepatan konstan. Pergeseran yang halus menunjukkan bahwa loop program berjalan optimal.
- Deteksi Tabrakan Berfungsi
Ketika posisi Dino dan kaktus saling berpotongan, sistem mendeteksi tabrakan dan menampilkan pesan "Game Over" di OLED.
- Efek Suara
Buzzer menghasilkan bunyi pendek saat Dino melompat atau saat terjadi game over, sehingga menambah kesan interaktif pada permainan.
- Kinerja Sistem Stabil
Seluruh komponen hardware bekerja dengan baik tanpa gangguan. Permainan dapat diulang dengan menekan tombol reset Arduino.
- Secara keseluruhan
Game Dino versi sederhana ini dapat dimainkan dengan baik. Walaupun tampilannya minimalis karena keterbatasan OLED, namun sistem logika game bekerja sesuai yang diharapkan, meliputi lompatan, gerakan rintangan, dan deteksi tabrakan.
BAB IV
PENUTUP
4.1 Kesimpulan
Berdasarkan proses perancangan, perakitan, pemrograman, dan pengujian yang telah dilakukan, dapat disimpulkan bahwa project pembuatan Game Dino menggunakan Arduino Uno berhasil diimplementasikan dengan baik. Arduino Uno mampu menjalankan logika permainan secara stabil, mulai dari membaca input tombol, menggerakkan karakter Dino, menampilkan rintangan, hingga mendeteksi tabrakan. Tampilan grafis pada OLED, meskipun sederhana, dapat menampilkan sprite Dino, kaktus, awan, dan elemen permainan lainnya dengan jelas dan tanpa gangguan.
Sistem bekerja secara responsif, terutama pada mekanisme lompatan dan pergerakan obstacle yang berjalan halus. Penambahan buzzer juga memberikan efek interaktif yang meningkatkan pengalaman bermain. Melalui project ini, pembuat memperoleh pemahaman lebih dalam mengenai pemrograman mikrokontroler, perakitan modul elektronik, serta cara mengembangkan permainan sederhana berbasis perangkat keras.
Secara keseluruhan, project ini menunjukkan bahwa Arduino Uno dapat digunakan sebagai media pembelajaran yang efektif dalam mengembangkan sistem interaktif serta memperkenalkan konsep dasar game development berbasis elektronik.
DAFTAR PUSTAKA
Aditya, P. (2025). Modul Praktikum Mikrokontroler Arduino Uno. Universitas Negeri Surabaya.
Fauzan, A. (2025). "Penerapan Logika Permainan Sederhana pada Mikrokontroler." KitaInformatika.com.
Rizky, H. (2024). Perancangan Game 2D Sederhana Menggunakan Mikrokontroler. Jurnal Informatika Kreatif.
Tidak ada komentar:
Posting Komentar