BAB 2
Game Pong Berbasis Arduino
Nama : Ainur Rohmah Al Adawiyah
NPM : 58414525
Arduino memiliki
kelebihan tersendiri dibanding board mikrokontroler yang lain selain bersifat
open source, arduino juga mempunyai bahasa pemrogramanya sendiri yang berupa
bahasa C. Selain itu dalam board
arduino sendiri sudah terdapat loader
yang berupa USB sehingga memudahkan kita ketika kita memprogram mikrokontroler
didalam arduino. Sedangkan pada kebanyakan board
mikrokontroler yang lain yang masih membutuhkan rangkaian loader terpisah untuk
memasukkan program ketika kita memprogram mikrokontroler. Port USB tersebut
selain untuk loader
ketika memprogram, bisa juga difungsikan sebagai port komunikasi serial.
Arduino menyediakan 20 pin
I/O, yang terdiri dari 6 pin input analog dan 14 pin digital input/output.
Untuk 6 pin analog sendiri bisa juga difungsikan sebagai output digital jika
diperlukan output digital tambahan selain 14 pin yang sudah tersedia. Untuk
mengubah pin analog menjadi digital cukup mengubah konfigurasi pin pada
program. Dalam board
kita bisa lihat pin digital diberi keterangan 0-13, jadi untuk menggunakan pin
analog menjadi output digital, pin analog yang pada keterangan board 0-5 kita
ubah menjadi pin 14-19. dengan kata lain pin analog 0-5 berfungsi juga sebagi
pin output digital 14-16.
Sifat open source arduino juga
banyak memberikan keuntungan tersendiri untuk kita dalam menggunakan board ini, karena dengan
sifat open source komponen yang kita pakai tidak hanya tergantung pada satu
merek, namun memungkinkan kita bisa memakai semua komponen yang ada di pasaran.
·
Power
Arduino dapat diberikan
power melalui koneksi USB atau power supply. Powernya
diselek secara otomatis. Power supply dapat menggunakan adaptor DC atau
baterai. Adaptor dapat dikoneksikan dengan mencolok jack adaptor pada
koneksi port input supply. Board arduino dapat dioperasikan
menggunakan supply dari luar sebesar 6 – 20 volt. Jika supply kurang
dari 7V, kadangkala pin 5V akan menyuplai kurang dari 5 volt dan board bisa
menjadi tidak stabil. Jika menggunakan lebih dari 12 V, tegangan di regulator
bisa menjadi sangat panas dan menyebabkan kerusakan pada board.
Rekomendasi tegangan ada pada 7 sampai 12 volt.
Penjelasan pada pin
power adalah sebagai berikut :
- Vin
Tegangan input ke
board arduino ketika menggunakan tegangan dari luar (seperti yang disebutkan 5
volt dari koneksi USB atau tegangan yang diregulasikan). Pengguna dapat
memberikan tegangan melalui pin ini, atau jika tegangan suplai menggunakan power
jack, aksesnya menggunakan pin ini.
- 5V
Regulasi power supply digunakan
untuk power mikrokontroller dan komponen lainnya pada board. 5V dapat melalui
Vin menggunakan regulator pada board, atau supply oleh USB atau supply regulasi
5V lainnya.
- 3V3
Suplai 3.3 volt didapat oleh FTDI chip
yang ada di board. Arus maximumnya adalah 50mA
- Pin Ground
Berfungsi sebagai jalur ground pada
arduino
- Memori
ATmega328 memiliki 32 KB flash memori
untuk menyimpan kode, juga 2 KB yang digunakan untuk bootloader. ATmega328
memiliki 2 KB untuk SRAM dan 1 KB untuk EEPROM.
·
Input & Output
Setiap 14 pin digital
pada arduino dapat digunakan sebagai input atau output, menggunakan fungsi
pinMode(), digitalWrite(), dan digitalRead(). Input/output dioperasikan pada 5
volt. Setiap pin dapat menghasilkan atau menerima maximum 40 mA dan memiliki
internal pull-up resistor (disconnected oleh default) 20-50K Ohm.
Beberapa pin memiliki
fungsi sebagai berikut :
-
Serial : 0 (RX) dan 1 (TX). Digunakan
untuk menerima (RX) dan mengirim (TX) TTL data serial. Pin ini terhubung pada
pin yang koresponding dari USB ke TTL chip serial.
-
Interupt eksternal : 2 dan 3. Pin ini
dapat dikonfigurasikan untuk trigger sebuah interap pada low value, rising atau
falling edge, atau perubahan nilai.
-
PWM : 3, 5, 6, 9, 10, dan 11. Mendukung
8-bit output PWM dengan fungsi analogWrite().
-
SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13
(SCK). Pin ini mensuport komunikasi SPI, yang mana masih mendukung hardware,
yang tidak termasuk pada bahasa arduino.
-
LED : 13. Ini adalah dibuat untuk
koneksi LED ke digital pin 13. Ketika pin bernilai HIGH, LED hidup, ketika pin
LOW, LED mati.
·
Komunikasi
Uno Arduino memiliki
sejumlah fasilitas untuk berkomunikasi dengan komputer, Arduino lain, atau
mikrokontroler lain. ATmega328 ini menyediakan UART TTL (5V) komunikasi serial,
yang tersedia pada pin digital 0 (RX) dan 1 (TX). Firmware Arduino
menggunakan USB driver standar COM, dan tidak ada driver eksternal
yang dibutuhkan. Namun, pada Windows, file. Ini diperlukan. Perangkat lunak
Arduino termasuk monitor serial yang memungkinkan data sederhana yang akan
dikirim ke board Arduino. RX dan TX LED di board akan berkedip
ketika data sedang dikirim melalui chip USB-to-serial dan koneksi USB ke
komputer.
·
Software Arduino
Arduino Uno dapat
diprogram dengan perangkat lunak Arduino . Pada ATMega328 di Arduino terdapat bootloader
yang memungkinkan Anda untuk meng-upload kode baru untuk itu tanpa
menggunakan programmer hardware eksternal.
IDE Arduino adalah software
yang sangat canggih ditulis dengan menggunakan Java. IDE Arduino terdiri
dari:
- Editor program, sebuah window yang
memungkinkan pengguna menulis dan mengeditprogram dalam bahasa Processing.
- Compiler, sebuah modul yang mengubah
kode program (bahasa Processing) menjadi kode biner. Bagaimanapun sebuah
mikrokontroler tidak akan bisa memahami bahasa Processing. Yang
bisa dipahami oleh mikrokontroler adalah kode biner. Itulah sebabnya
compiler diperlukan dalam hal ini.
- Uploader, sebuah modul yang memuat
kode biner dari komputer ke dalam memory didalam papan Arduino.
Sebuah kode program
Arduino umumnya disebut dengan istilah sketch. Kata“sketch”
digunakan secara bergantian dengan “kode program” dimana keduanya memiliki arti
yang sama.
Abstrak
Game Pong adalah salah satu permainan arkade pertama yang menandai
era video game. Karena kesederhanaan permainannya, game ini banyak diadaptasi dan diimplementasikan
oleh orang-orang di seluruh dunia sepanjang masa. Pada proyek ini, akan
diimplementasi game Pong menggunakan FreeRTOS
yang akan ditampilkan di Arduino yang kontrolnya menggunakan joystick.
Spesifikasi Desain Sistem
Pong adalah permainan video generasi pertama yang dirilis sebagai
permainan arkade yang dioperasikan dengan koin yang dikembangkan oleh Atari
Inc. pada tanggal 29 November, 1972. Pong didasari dari permainan atau olahraga
tenis meja (pingpong), nama permainan ini berasal dari suara yang dihasilkan
ketika memukul bola pingpong. Kata Pong telah didaftarkan sebagai merek dari
Atari Interactive.
Pong dengan cepat menjadi permainan komersial
pertama yang sangat sukses, dan merupakan permulaan dari industri permainan
video. Tak lama setelah dirilis, beberapa perusahaan berusaha menyalin
permainan Pong, dan merilis beberapa permainan baru. Sehingga, Atari
memberanikan pegawainya untuk membuat permainan yang lebih inovatif. Beberapa
sekuel muncul dengan permainan yang sama, namun dengan fitur baru. Pada
permulaan Natal 1975, Atari secara eksklusif merilis versi rumahan Pong via
toko ritel Sears. Pada proyek ini, game Pong akan
dibuat dengan environment FreeRTOS dengan
prosesor Arduino.
Spesifikasi sistem yang akan dibuat adalah sebagai berikut:
·
Menggunakan development board Arduino
Uno
·
Menggunakan FreeRTOS sebagai operating system pada
konsol
·
Menggunakan joystick sebagai input, dimana player menggerakkan joystick ke atas atau ke bawah
·
Menggunakan layar OLED untuk menampilkan game Pong yang dijalankan
·
Permainan terdiri dari dua buah paddle, dimainkan
oleh dua orang player, yang saling memantulkan
bola, dengan objektif menggolkan bola ke arah lawan sebanyak-banyaknya, ke
daerah lawan yang tidak ber-paddle
·
Skor bertambah setiap bola berhasil mencapai daerah lawan
·
Permainan selesai ketika skor salah satu pemain mencapai 10
0 komentar:
Posting Komentar