Memenuhi Tugas Softskill (Pengantar Teknologi Game) semester 6 tahun ajaran (2016/2017)
Pembahasan : Game Simulasi Mobil Controller Arduino
Mata kuliah : Pengantar Teknologi Game
Memenuhi Tugas Softskill (Pengantar Teknologi Game) semester 6 tahun ajaran (2016/2017)
Pembahasan : Game Simulasi Mobil Controller Arduino
Mata kuliah : Pengantar Teknologi Game
BAB II
KONSEP GAME
Game berasal dari
bahasa inggris yang berarti permainan . Dalam setiap game terdapat
peraturan yang berbeda - beda untuk memulai permainannya sehingga
membuat jenis game semakin bervariasi . Karena salah satu fungsi game
sebagai penghilang stress atau rasa jenuh maka hampir setiap orang
senang bermain game baik anak kecil , remaja maupun dewasa , mungkin
hanya berbeda dari jenis game yang dimainkannya saja.
Figure 2.1 Game
Game sendiri
mempunyai dampak positif dan negatif pada kehidupan yang memainkannya
. Contoh dampak positif , misalnya : sebagai penghilang stres karena
lelah bekerja seharian , mungkin bermain game tepat untuk
menghilangkan penat tersebut. Lalu bagi anak - anak sebagai media
untuk menambah kecerdasan otak dan daya tanggap , dan masih banyak
lagi dampak positif yang lainnya . Contoh dampak negatif, misalnya :
karena terlalu sering bermain game lupa untuk melakukan pekerjaan
yang lainnya , sehingga membuat pekerjaan lain menjadi tertunda .
Lalu jika bermain game di komputer terlalu lama akan merusak mata ,
dan lain sebagainya .
2.1 Jenis-jenis Game
Seiring dengan
perkembangan zaman dan teknologi, dunia game pun ikut terkena
imbasnya. Mulai dari segi konsol, teknologi yang diimplementasikan,
maupun jenis-jenis game yang beredar. Dari yang hanya berupa arcade
game dan hanya tersedia di game center di kota-kota besar, sekarang
game sudah dapat dimainkan siapa saja dan di mana saja. Berbagai
pilihan jenis game juga semakin berkembang. Berikut beberapa genre
game yang ada saat ini.
2.1.1 Action
Action Adalah Jenis
game dengan fitur utama berupa banyaknya aksi di mana pemain harus
memiliki keterampilan reaksi yang cepat untuk menghindari musuh atau
menghindari rintangan. Contoh: Metal Gear Solid dan Ace Combat
Assault Horizon.
Figure 2.2 Action
Game
2.1.2 Real Time Strategy (RTS)
Pada game jenis ini,
kita dapat mengendalikan pasukan secara langsung, dari mencari sumber
daya, hingga menghancurkan musuh. Semua pertempuran ini dapat kita
saksikan secara langsung.
Figure 2.3 Puzzle
Game
2.1.3 Role Playing Game (RPG)
Role Playing Game
Adalah Jenis game yang seringkali berupa multi-player game di mana
setiap pemain memiliki karakter dengan kemampuan, kekuatan, dan
kelemahan yang spesifik. Para pemain saling berkompetisi,
berinteraksi, dan bertempur satu sama lain. Tampilan grafis yang khas
untuk setiap karakter pemain ditambah dengan storyline yang
mendebarkan akan sangat menarik dan memberikan pengalaman yang
berbeda di dalam bermain. Contoh: Final Fantasy.
Figure 2.4 RPG
Game
2.1.4 Real World Simulation
Jenis permainan ini
mensimulasi pengoperasian beberapa kendaraan, kendaraan bisa berupa
pesawat terbang, pesawat tempur, kereta, kendaraan perang, maupun
kendaraan konstruksi. Contoh : Train Simulator, Truck Simulator,
FlightGear, Tram, Orbiter.
Figure
2.5 Simulation Game
2.1.5 Adventure
Adventure Adalah
Jenis game yang umumnya membuat pemain harus berjalan mengelilingi
suatu tempat yang telah di desain sedemikian rupa, seperti sebuah
istana, gua yang berkelok, dan planet yang jauh. Pemain melakukan
navigasi suatu area, mencari pesan-pesan rahasia, memperoleh obyek
yang memiliki kemampuan yang bervariasi, bertempur dengan musuh, dan
lain-lain. Untuk membuat game ini, diperlukan perencanaan yang akurat
sehingga memiliki alur cerita yang menarik bagi pemain. Contoh: Tomb
Raider.
Figure 2.6 Adventure
Gameplay
2.1.6 Puzzle
Ditujukan untuk
memecahkan suatu masalah tertentu. Hampir semua semua tantangan
disini menyangkut masalah logika yang biasanya dibatasi oleh waktu.
Figure 2.7 Puzzle
Game
2.2 Desain Game
Desain Game adalah
gambaran bagaimana sebuah game komputer itu akan dibuat. Untuk
membuat sebuah game terlebih dahulu pembuat game harus membuat
deskripsi yang menceritakan game yang akan dibuat (Hahguoh dan
Overmars, 2006). Biasanya design game yang sederhana dapat membuat
pembuatan game menjadi lebih menyenangkan.
Figure 2.8 Game
Desain
Dari design yang
telah dibuat kemudian dapat diketahui semua elemen-elemen berbeda
yang dibutuhkan dalam pembuatan game, misalnya karakter user,
karakter musuh, animasi serangan dan sebagainya. Membuat game akan
membutuhkan gambar dari tiap elemen-elemen yang ada.Semua hal diatas
dapat dikatakan sebagai resources game. Dalam desain game terdapat
hal-hal penting yang harus dipikirkan diantaranya desain karakter,
peta (map system), dan game play dari permainan itu sendiri.
2.2.1 Karakter
Berbicara tentang
character design memang tidak dikenal sebuah definisi yang paten
dalam menjelaskan secara gamblang apa itu karakter desain. Namun
tanpa kita sadari bahwa kehidupan kita sangat akrab dengan keberadaan
tokoh-tokoh karakter desain tersebut. Siapa yang tidak kenal dengan
Mickey Mouse, Tom and Jerry, Spiderman, Si Unyil, Upin dan Ipin
bahkan Sponge Bob? Hampir kita semua mengenalnya.
Figure 2.9 Contoh
Karakter Desain 1
Melalui berbagai
media seperti film, iklan, merchandise dan komik kita dibombardir
oleh kehidupan-kehidupan karakter tersebut. Sehingga mereka hidup di
hati kita dengan segala atribut kehidupan yang mereka miliki baik
secara fisik maupun tingkah laku. Walaupun mereka bukan makhluk hidup
sebenarnya tetapi mereka mampu hadir di kehidupan kita. Bahkan
sebagian besar dari kita tidak hanya mengenal nama dari karakter
tersebut, dimana karakter itu tinggal, apa pekerjaannya dan bagaimana
sifatnya pun diketahui seakan-akan karakter tersebut adalah teman
akrab dari kita.
Tujuan kita
sebenarnya mempelajari character design ini adalah :
1. Sebagai sarana
melatih kepekaan estetis dan kecerdasan visual.
2. Sebagai sarana
belajar bagaimana mengubah konsep gagasan ke dalam bentuk gambar.
3. Melebarkan
perspektif tentang berkesenian. Hal ini untuk mengubah konsep
pemikiran bahwa karya seni hanyalah selukis, seni patung, seni tari
dan seni musik.
4. Mengekspresikan
diri secara positif.
Figure 2.10 Contoh
Karakter Desain 2
Sulit menjelaskan
secara definitif tentang character design, namun ada beberapa aspek
yang bisa dipelajari dari character design, yaitu :
- Character design adalah salah satu bentuk ilustrasi yang hadir dengan konsep “manusia” dengan segala atributnya (sifat, fisik, profesi, tempat tinggal bahkan takdir) dalam bentuk yang beraneka rupa, bisa hewan, tumbuhan ataupun benda- benda mati.
- Secara visual character design sering disebut dengan istilah “kartun”. Biasanya hadir dengan visual yang sangat sederhana bahkan terkesan abstrak. Bentuk terdiri dari garis-garis outline, penggunaan warna-warna solid dan aplikasi bentuk yang cenderung berlebihan (eksagration) yang ditujukan untuk mengkomunikasikan konsep karakter yang dimiliki. Hal ini tidak terikat bahkan relatif tergantung gaya apa yang dianut oleh si perancang.Design bisa lahir dari berbagai konsep dan tujuan serta media atau platform apa media itu akan “hidup”. Character design bisa lahir dari sebuah gagasan yang “pure art” atau bisa dikatakan lahir tanpa kepentingan apapun, misalnya karater Killer Gerbil yang popular di dunia grafity, Molly yang selalu hadir di profesi yang berbeda-beda ataupun karakter-karakter lain yang tidak dipublikasikan dikarenakan dibuat hanya karena kesenangan perancangnya saja.
Pada game ini di
khususkan menggunakan character kendaraan, yaitu mobil. Karena tipe
gamenya adalah simolasi mobil, characternya menggunakan berbagai
macam jenis mobil.
2.2.2 Map
Map adalah suatu
arena dalam game. Sebagai tempat user dalam bermain game pada suatu
daerah dalam game. Didalam map ini tersedia berbagai macam option
atau simbol simbol di dalam map seperti tempat atau target yang di
tentukan. Map yang digunakan pada game yang dibahas pada buku ini
adalah seperti sebuah sirkuit balap pada umumnya.
Figure 2.11 Map /
Level Desain
2.2.3 Game Play
Gameplay adalah cara
sebuah gamer untuk berinteraksi dengan game tertentu.Gameplay dalam
Video Game sangatlah berpengaruh dalam Pembuatan Game. semakin Game
tersebut mudah untuk dimainkan maka semakin banyak yang menyukainya
walaupun kadang kala ada beberapa game yang dmana Gameplay nya tidak
mudah akan tetapi karena penjelasan tutorial yang mudah dimengerti
maka game tersebut juga dapat banyak peminatnya.
Figure 2.12 GamePlay
FPS
Contoh dari gameplay
adalah : Permainan simulasi menggambarkan beragam kategori permainan,
yang umumnya dirancang untuk mensimulasikan aktivitas dunia nyata
dengan cermat. Sebuah game simulasi mencoba untuk menyalin berbagai
aktivitas dari kehidupan nyata dalam bentuk permainan untuk berbagai
keperluan seperti pelatihan, analisis, atau prediksi. Biasanya tidak
ada tujuan yang ditentukan secara ketat dalam permainan, pemain
diberi kebebasan dalam mengendalikan karakter. Contoh yang terkenal
adalah permainan perang, permainan bisnis, simulasi permainan mobil
dan simulasi permainan peran. Sementara gameplay dari game yang
dibahas pada buku ini adalah kontroling atau mengendalikan sesuatu.
Dimana hal yang dikendalikan adalah sebuah mobil.
2.3 Arduino
2.3.1 Pengertian
Arduino adalah
pengendali mikro single-board yang bersifat open-source, yang
dirancang untuk memudahkan penggunaan elektronik dalam berbagai
bidang. Hardware (perangkat keras)-nya memiliki prosesor Atmel AVR
dan software (perangkat lunak)-nya memiliki bahasa pemrograman
sendiri. Open source IDE yang digunakan untuk membuat aplikasi
mikrokontroler yang berbasis platform arduino. Mikrokontroler
single-board yang bersifat open source hardware dikembangkan untuk
arsitektur mikrokontroller AVR 8 bit dan ARM 32 bit.
Dari pengertian di
atas, dapat disimpulkan bahwa Arduino adalah kit atau papan rangkaian
elektronik open source yang di dalamnya terdapat komponen utama yaitu
sebuah chip mikrokontroler dengan jenis AVR. Mikrokontroler itu
sendiri adalah chip atau IC (integrated circuit) yang bisa diprogram
menggunakan komputer. Tujuan menanamkan program pada mikrokontroler
adalah agar rangkaian elektronik dapat membaca input, memproses input
tersebut dan kemudian menghasilkan output seperti yang diinginkan.
Jadi mikrokontroler bertugas sebagai otak yang mengendalikan input,
proses, dan output sebuah rangkaian elektonik. Mikrokontroler
terdapat pada perangkat elektronik sekelilingnya, misalnya Handphone,
MP3 Player, DVD, Televisi, AC, dan lain-lain. Mikrokontroler juga
dapat mengendalikan robot, baik robot mainan maupun industri. Karena
komponen utama arduino adalah mikrokontroler, maka arduino dapat
diprogram menggunakan komputer sesuai kebutuhan.
Kelebihan arduino
antara lain :
- Tidak perlu perangkat chip programmer karena di dalamnya sudah ada bootloadder yang akan menangani upload program dari komputer.
- Sudah memiliki sarana komunikasi USB, sehingga pengguna laptop yang tidak memiliki port serial/RS323 bisa menggunakannya.
- Memiliki modul siap pakai (shield) yang bisa ditancapkan pada board arduino. Contohnya shield GPS, Ethernet, dan lain-lain.
2.3.2 Sejarah Arduino
Semuanya berawal
dari sebuah thesis yang dibuat oleh Hernando Barragan, di institute
Ivrea. Kemudian tahun 2005, dikembangkan oleh Massimo Banzi dan David
Cuartielles dan diberi nama Arduin of Ivrea. Tujuan awal dibuat
Arduino adalah untuk membuat perangkat mudah dan murah, dari
perangkat yang ada saat itu. Dan perangkat tersebut ditujukan untuk
para siswa yang akan membuat perangkat desain dan interaksi.
Saat ini tim
pengembangnya adalah Massimo Banzi, David Cuartielles, Tom Igoe,
Gianluca Martino, David Mellis, dan Nicholas Zambetti. Mereka
mengupayakan 4 hal dalam Arduino ini, yaitu:
1. Harga terjangkau
2. Dapat dijalankan
diberbagai sistem operasi, Windows, Linux, Max, dansebagainya.
3. Sederhana, dengan
bahasa pemograman yang mudah bisa dipelajari orang awam, bukan untuk
orang teknik saja.
4. Open Source,
hardware maupun software.
Figure 2.13 Tim
Pembuat Arduino
Sifat Arduino yang
Open Source, membuat Arduino berkembang sangat cepat. Dan banyak
lahir perangkat-perangkat sejenis Arduino. Seperti DFRDuino atau
Freeduino, dan kalau yang lokal ada namanya CipaDuino yang dibuat
oleh SKIR70, dan juga MurmerDuino yang dibuat oleh Robot Unyil.
Arduino menggunakan keluarga mikrokontroler ATMega yang dirilis oleh
Atmel sebagai basis, namun ada individu/perusahaan yang membuat clone
arduino dengan menggunakan mikrokontroler lain dan tetap kompatibel
dengan arduino pada level hardware. Untuk fleksibilitas, program
dimasukkan melalui bootloader meskipun ada opsi untuk membypass
bootloader dan menggunakan downloader untuk memprogram mikrokontroler
secara langsung melalui port ISP.
Secara umum arduino
memiliki fungsi memudahkan penggunaan dalam berbagai bidang
elektronik seperti pembuatan aplikasi running LED, traffict LED,
mobile robot, dan masih banyak lagi yang lainnya. Dengan menggunakan
arduino, pembuatan aplikasi-aplikasi tersebut menjadi lebih praktis,
mudah, dan murah. Dan juga dapat digunakan untuk mengembangkan objek
interaktif, mengambil masukan dari berbagai switch atau sensor, dan
mengendalikan berbagai lampu, motor, dan output fisik lainnya.
Proyek Arduino dapat
berdiri sendiri, atau berkomunikasi dengan perangkat lunak (software)
yang berjalan pada komputer Anda (misalnya Flash, Pengolahan,
MaxMSP.) Board dapat dirakit dengan tangan atau dibeli; open-source
IDE dapat didownload secara gratis.
2.3.3 Jenis-Jenis Arduino
Arduino sendiri
memiliki banyak jenis dan kegunaan yang berbeda. Jenis-jenis arduino
yaitu :
1. Arduino Uno
Figure 2.14 Arduino
Uno
Arduino Uno adalah
papan mikrokontroler berdasarkan ATmega328 (datasheet). Ini memiliki
14 digital pin input / output (dimana 6 dapat digunakan sebagai
output PWM), 6 input analog, resonator keramik 16 MHz, koneksi USB,
jack listrik, header ICSP, dan tombol reset. Ini berisi semua yang
diperlukan untuk mendukung mikrokontroler; hanya menghubungkannya ke
komputer dengan kabel USB atau power itu dengan adaptor AC-DC atau
baterai untuk memulai menggunakannya.
2. Arduino Due
Figure 2.15 Arduino
Due
Arduino Due adalah
papan mikrokontroler berdasarkan Atmel SAM3X8E ARM Cortex-M3 CPU
(datasheet). Ini adalah pertama papan Arduino didasarkan pada 32-bit
mikrokontroler ARM inti. Ini memiliki 54 digital pin input / output
(yang 12 dapat digunakan sebagai output PWM), 12 analog input, 4 UART
(hardware port serial), jam 84 MHz, USB OTG koneksi yang mampu, 2 DAC
(digital ke analog) , 2 TWI, jack listrik, header SPI, header JTAG,
tombol reset dan tombol hapus. Peringatan: Tidak seperti papan
Arduino lainnya, Arduino Due berjalan pada 3.3V. Tegangan maksimum
yang I / O pin dapat mentolerir adalah 3.3V. Memberikan tegangan yang
lebih tinggi, seperti 5V ke I / O pin dapat merusak papan.
3. Arduino Mega
Figure 2.16 Arduino
Mega
Mirip dengan Arduino
Uno, sama- sama menggunakan USB type A to B untuk pemogramannya.
Tetapi Arduino Mega, menggunakan Chip yang lebih tinggi ATMEGA2560.
Dan tentu saja untuk Pin I/O Digital dan pin input Analognya lebih
banyak dari Uno.
4. Arduino Leonardo
Figure 2.17 Arduino
Leonardo
Bisa dibilang
Leonardo adalah saudara kembar dari Uno. Dari mulai jumlah pin I/O
digital dan pin input Analognya sama. Hanya pada Leonardo menggunakan
Micro USB untuk pemogramannya.
5. Arduino Fio
Figure 2.18 Arduino
Fio
Bentuknya lebih
unik, terutama untuk socketnya. Walau jumlah pin I/O digital dan
input analognya sama dengan uno dan leonardo, tapi Fio memiliki
Socket XBee. XBee membuat Fio dapat dipakai untuk keperluan projek
yang berhubungan dengan wireless.
6. Arduino Lilypad
Figure 2.19 Arduino
Lilypad
Bentuknya yang
melingkar membuat Lilypad dapat dipakai untuk membuat projek unik.
Seperti membuat amor iron man misalkan. Hanya versi lamanya
menggunakan ATMEGA168, tapi masih cukup untuk membuat satu projek
keren. Dengan 14 pin I/O digital, dan 6 pin input analognya.
7. Arduino Nano
Figure 2.20 Arduino
Nano
Seperti namanya,
Nano yang berukulan kecil dan sangat sederhana ini, menyimpan banyak
fasilitas. Sudah dilengkapi dengan FTDI untuk pemograman lewat Micro
USB. 14 Pin I/O Digital, dan 8 Pin input Analog (lebih banyak dari
Uno). Dan ada yang menggunakan ATMEGA168, atau ATMEGA328.
8. Arduino Mini
Figure 2.21 Arduino
Mini
Fasilitasnya sama
dengan yang dimiliki Nano. Hanya tidak dilengkapi dengan Micro USB
untuk pemograman. Dan ukurannya hanya 30 mm x 18 mm saja.
9. Arduino Micro
Figure 2.22 Arduino
Micro
Ukurannya lebih
panjang dari Nano dan Mini. Karena memang fasilitasnya lebih banyak
yaitu; memiliki 20 pin I/O digital dan 12 pin input analog.
10. Arduino Robot
Ini adalah paket
komplit dari Arduino yang sudah berbentuk robot. Sudah dilengkapi
dengan LCD, Speaker, Roda, Sensor Infrared, dan semua yang kamu
butuhkan untuk robot sudah ada pada Arduino ini.
Figure 2.23 Arduino
Robot
Bagian-bagian
Arduino :
1. Soket USB
Soket USB adalah
soket kabel USB yang disambungkan ke komputer atau laptop, yang
berfungsi untuk mengirimkan program ke arduino dan juga sebagai port
komunikasi serial.
2. Input / Output
Digital dan Input Analog
Input/output digital
atau digital pin adalah pin-pin untuk menghubungkan arduino dengan
komponen atau rangkaian digital, contohnya, jika ingin membuat LED
berkedip, LED tersebut bisa dipasang pada salah satu pin input atau
output digital dan ground komponen lain yang menghasilkan
output digital atau menerima input digital bisa disambungkan ke pin
ini. Input analog atau analog pin adalah pin-pin yang berfungsi untuk
menerima sinyal dari komponen atau rangkaian analog, contohnya;
potensiometer, sensor suhu, sensor cahaya, dan lain-lain.
3. Catu daya
Pin catu daya adalah
pin yang memberikan tegangan untuk komponen atau rangkaian yang
dihubungkan dengan arduino. Pada bagian catu daya ini pin Vinput dan
Reset. Vinput digunakan untuk memberikan tegangan langsung kepada
arduino tanpa melaluitegangan pada USB atau adaptor, sedangkan Reset
adalah pin untuk memberikan sinyal reset melalui tombol atau
rangkaian eksternal.
4. Baterai /
Adaptor
Soket baterai atau
adaptor digunakan untuk menyuplai arduino dengan tegangan dari
baterai/adaptor 9V pada saat arduino sedang tidak disambungkan ke
komputer. Jika arduino sedang disambungkan ke komputer dengan USB,
Arduino mendapatkan suplai tegangan dari USB, Jika tidak perlu
memasang baterai / adaptor pada saat memprogram arduino. Untuk
memberikan gambaran mengenai apa saja yang terdapat di dalam sebuah
mikrokontroler, gambar memperlihatkan contoh diagram blok sederhana
dari mikrokontroler Atmega 328 (dipakai pada Arduino Uno).
Figure 2.24 Blok
Adaptor
Blok-blok di atas
dijelaskan sebagai berikut:
- Universal Asynchronous Receiver/Transmitter (UART) adalah antar muka yang digunakan untuk komunikasi serial sepertipada RS-232, RS-422 dan RS-485.
- 2KB RAM pada memory kerja bersifat volatile (hilang saat daya dimatikan), digunakan oleh variable-variabel di dalam program.
- 32KB RAM flash memory bersifat non-volatile, digunakan untuk menyimpan program yang dimuat dari komputer. Selain program, flash memory juga menyimpan bootloader. Bootloader adalah program inisiasi yang ukurannya kecil, dijalankan oleh CPU saat daya dihidupkan. Setelah bootloader selesai dijalankan, berikutnya program di dalam RAM akan dieksekusi.
- 1KB EEPROM bersifat non-volatile, digunakan untuk menyimpan data yang tidak boleh hilang saat daya dimatikan. Tidak digunakan pada papan Arduino.
- Central Processing Unit (CPU), bagian dari mikrokontroler untuk menjalankan setiap instruksi dari program.
- Port input/output, pin-pin untuk menerima data (input) digital atau analog, dan mengeluarkan data (output) digital atau analog.
5. Bagian Papan
Arduino
Dengan mengambil
contoh sebuah papan Arduino tipe USB, bagian-bagiannya dapat
dijelaskan sebagai berikut :
Figure 2.25 Papan
Arduino
- 14 pin input/output digital (0-13)
Berfungsi sebagai
input atau output, dapat diatur oleh program. Khusus untuk 6 buah pin
3, 5, 6, 9, 10 dan 11, dapat juga berfungsi sebagai pin analog output
dimana tegangan output-nya dapat diatur. Nilai sebuah pin output
analog dapat diprogram antara 0 – 255, dimana hal itu mewakili
nilai tegangan 0 – 5V.
- USB
Memuat program dari
komputer ke dalam papan. Komunikasi serial antara papan dan komputer.
Serta memberi daya listrik kepada papan.
- Sambungan SV1
Sambungan atau
jumper untuk memilih sumber daya papan, apakah dari sumber eksternal
atau menggunakan USB. Sambungan ini tidak diperlukan lagi pada papan
Arduino versi terakhir karena pemilihan sumber daya eksternal atau
USB dilakukan secara otomatis.
- Q1 = Kristal (quartz crystal oscillator)
Jika mikrokontroler
dianggap sebagai sebuah otak, maka kristal adalah jantung- nya karena
komponen ini menghasilkan detak-detak yang dikirim kepada
mikrokontroler agar melakukan sebuah operasi untuk setiap detak-nya.
Kristal ini dipilih yang berdetak 16 juta kali per detik (16MHz).
- Tombol Reset S1
Untuk me-reset papan
sehingga program akan mulai lagi dari awal. Perhatikan bahwa tombol
reset ini bukan untuk menghapus program atau mengosongkan
mikrokontroler.
- In = Circuit Serial Programming (ICSP)
Port ICSP
memungkinkan pengguna untuk memprogram mikrokontroler secara
langsung, tanpa melalui bootloader. Umumnya pengguna Arduino tidak
melakukan ini sehingga ICSP tidak terlalu dipakai walaupun
disediakan.
- IC 1 = Mikrokontroler Atmega
Komponen utama dari
papan Arduino, di dalamnya terdapat CPU, ROM dan RAM.
- X1 = Sumber Daya External
Jika hendak disuplai
dengan sumber daya eksternal, papan Arduino dapat diberikan tegangan
dc antara 9-12V.
- 6 Pin Input analog (0-5)
Pin ini sangat
berguna untuk membaca tegangan yang dihasilkan oleh sensor analog,
seperti sensor suhu. Program dapat membaca nilai sebuah pin input
antara 0 – 1023, dimana hal itu mewakili nilai tegangan 0 – 5V.
2.3.4 Bahasa Pemrograman Arduino
Arduino menggunakan
pemrograman dengan bahasa C. Berikut ini adalah sedikit penjelasan
yang ditujukan kepada anda yang hanya mempunyai sedikit pengalaman
pemrograman dan membutuhkan penjelasan singkat mengenai karakter
bahasa C dan software Arduino. Untuk penjelasan yang lebih mendalam,
web Arduino.cc adalah sumber yang lengkap.
A. Struktur
Setiap program
Arduino (biasa disebut sketch) mempunyai dua buah fungsi yang harus
ada.
- void setup( ) { }Semua kode didalam kurung kurawal akan dijalankan hanya satu kali ketika program Arduino dijalankan untuk pertama kalinya.
- void loop( ) { }Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah dijalankan satu kali fungsi ini akan dijalankan lagi, dan lagi secara terus menerus sampai catu daya (power) dilepaskan.
B. Sintaks
Berikut ini adalah
elemen bahasa C yang dibutuhkan untuk format penulisan.
- //(komentar satu baris)Kadang diperlukan untuk memberi catatan pada diri sendiri apa arti dari kode-kode yang dituliskan. Cukup menuliskan dua buah garis miring dan apapun yang kita ketikkan dibelakangnya akan diabaikan oleh program
- /* */(komentar banyak baris)Jika anda punya banyak catatan, maka hal itu dapat dituliskan pada beberapa baris sebagai komentar. Semua hal yang terletak di antara dua simbol tersebut akan diabaikan oleh program.
- { }(kurung kurawal)Digunakan untuk mendefinisikan kapan blok program mulai dan berakhir (digunakan juga pada fungsi dan pengulangan).
- ;(titk koma)Setiap baris kode harus diakhiri dengan tanda titik koma (jika ada titik koma yang hilang maka program tidak akan bisa dijalankan).
C. Variabel
Sebuah program
secara garis besar dapat didefinisikan sebagai instruksi untuk
memindahkan angka dengan cara yang cerdas. Variabel inilah yang
digunakan untuk memindahkannya.
- int (integer)Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Tidak mempunyai angka desimal dan menyimpan nilai dari -32,768 dan 32,767.
- long (long)Digunakan ketika integer tidak mencukupi lagi. Memakai 4 byte (32 bit) dari memori (RAM) dan mempunyai rentang dari -2,147,483,648 dan 2,147,483,647.
- boolean (boolean)Variabel sederhana yang digunakan untuk menyimpan nilai TRUE (benar) atau FALSE (salah). Sangat berguna karena hanya menggunakan 1 bit dari RAM.
- float (float)Digunakan untuk angka desimal (floating point). Memakai 4 byte (32 bit) dari RAM dan mempunyai rentang dari -3.4028235E+38 dan 3.4028235E+38.
- char (character)Menyimpan 1 karakter menggunakan kode ASCII (misalnya ‘A’ = 65). Hanya memakai 1 byte (8 bit) dari RAM.
D. Operator
Matematika
Operator yang
digunakan untuk memanipulasi angka (bekerja seperti matematika yang
sederhana).
- =Membuat sesuatu menjadi sama dengan nilai yang lain (misalnya: x = 10 * 2, x sekarang sama dengan 20).
- %Menghasilkan sisa dari hasil pembagian suatu angka dengan angka yang lain (misalnya: 12 % 10, ini akan menghasilkan angka 2).
- +Penjumlahan.
- -Pengurangan.
- *Perkalian.
- /Pembagian.
E. Operator
Pembanding
Digunakan untuk
membandingkan nilai logika.
- ==Sama dengan (misalnya: 12 == 10 adalah FALSE (salah) atau 12 == 12 adalah TRUE (benar))
- !=Tidak sama dengan (misalnya: 12 != 10 adalah TRUE (benar) atau 12 != 12 adalah FALSE (salah))
- <Lebih kecil dari (misalnya: 12 < 10 adalah FALSE (salah) atau 12 < 12 adalah FALSE (salah) atau 12 < 14 adalah TRUE (benar))
- >Lebih besar dari (misalnya: 12 > 10 adalah TRUE (benar) atau 12 > 12 adalah FALSE (salah) atau 12 > 14 adalah FALSE (salah))
F. Struktur
Pengaturan
Program sangat
tergantung pada pengaturan apa yang akan dijalankan berikutnya,
berikut ini adalah elemen dasar pengaturan (banyak lagi yang lain dan
bisa dicari di internet).
1. if..else, dengan
format seperti berikut ini:
if (kondisi) { }
else if (kondisi) {
}
else { }
Dengan struktur
seperti diatas program akan menjalankan kode yang ada di dalam kurung
kurawal jika kondisinya TRUE, dan jika tidak (FALSE) maka akan
diperiksa apakah kondisi pada else if dan jika kondisinya FALSE maka
kode pada else yang akan dijalankan.
2. for, dengan
format seperti berikut ini:
for (int i = 0; i <
#pengulangan; i++) { }
Digunakan bila anda
ingin melakukan pengulangan kode di dalam kurung kurawal beberapa
kali, ganti #pengulangan dengan jumlah pengulangan yang diinginkan.
Melakukan penghitungan ke atas dengan i++ atau ke bawah dengan i–.
G. Digital
- pinMode(pin, mode)Digunakan untuk menetapkan mode dari suatu pin, pin adalah nomor pin yang akan digunakan dari 0-19 (pin analog 0-5 adalah 14-19). Mode yang bisa digunakan adalah INPUT atau OUTPUT.
- digitalWrite(pin, value)Ketika sebuah pin ditetapkan sebagai OUTPUT, pin tersebut dapat dijadikan HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground).
- digitalRead(pin)Ketika sebuah pin ditetapkan sebagai INPUT maka anda dapat menggunakan kode ini untuk mendapatkan nilai pin tersebut apakah HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground).
H. Analog
Arduino adalah mesin
digital tetapi mempunyai kemampuan untuk beroperasi di dalam alam
analog (menggunakan trik). Berikut ini cara untuk menghadapi hal yang
bukan digital.
- analogWrite(pin, value)Beberapa pin pada Arduino mendukung PWM (pulse width modulation) yaitu pin 3, 5, 6, 9, 10, 11. Ini dapat merubah pin hidup (on)atau mati (off) dengan sangat cepat sehingga membuatnya dapat berfungsi layaknya keluaran analog. Value (nilai) pada format kode tersebut adalah angka antara 0 ( 0% duty cycle ~ 0V) dan 255 (100% duty cycle ~ 5V).
- analogRead(pin)Ketika pin analog ditetapkan sebagai INPUT anda dapat membaca keluaran voltase-nya. Keluarannya berupa angka antara 0 (untuk 0 volts) dan 1024 (untuk 5 volts).
Figure 2.26 Arduino
Setup
Figure 2.27 Contoh
Program Sederhana
2.4 Voice Recognition dan Speech Regocnition
Voice recognition
(pengenalan suara) dan Speech recognition (pengenalan orang
berbicara) sering disamaartikan atau bahkan dipertukarkan artinya
oleh kebanyakan orang. Speech recognition adalah proses menangkap
pengucapan kata yang diucapkan melalui mikrofon atau telepon dan
mengubahnya ke dalam data yang tersimpan secara digital. Kualitas
dari sistem speech recognition ditaksir dari dua faktor, yaitu
akurasi (tingkat kesalahan dalam mengubah kata yang diucapkan ke
dalam data digital) dan kecepatan (seberapa cepat perangkat lunak
tersebut dapat mengikuti pembicaraan manusia).
Figure 2.28 Voice
Recognition Arduino
Speech recognition
adalah proses mengubah ucapan menjadi data digital, sedangkan voice
recognition ditujukan untuk mengidentifikasi orang yang sedang
berbicara. Voice recognition bekerja dengan menganalisis ciri dari
ucapan setiap individu. Setiap orang memiliki pola ucapan yang unik
dari anatomi mereka (ukuran dan bentuk mulut dan tenggorokan) dan
perilaku pola (nada suara mereka, gaya bicara mereka, aksen,
dan sebagainya). Kesimpulannya voice recognition digunakan untuk
mengidentifikasi "siapa yang berbicara", sedangkan speech
recognition digunakan untuk mengidentifikasi "apa yang
diucapkan" oleh pembicara. Dan pada penelitian ini memakai
metode voice recognition pada sensornya, sehingga nantinya sensor
hanya merekam satu suara saja yang dikenali oleh sensor, jadi
walaupun membuat perintah suara dengan orang lain maka
probabilitasnya akan kecil sehingga harus dilakukan berulang kali,
maka suara yang tepat adalah suara yang pertama direkam sesuai dengan
metode voice recognition yaitu yang dapat menganalisis ucapan setiap
individu.
2.5 Easy Voice Recognition (EasyVR)
EasyVR merupakan
modul voice recognition multi-fungsi. Dapat digunakan pada banyak
aplikasi pengontrolan yang membutuhkan pendeteksian bukan hanya suara
melainkan percakapan. EasyVR merupakan generasi penerus setelah
kesuksesan generasi pertamanya di pasaran yaitu VRBot. Module ini
dapat digunakan atau dihubungkan dengan papan mikrokontroler Arduino.
Sangat cocok
digunakan untuk beragam aplikasi, seperti home automation (contohnya
mengontrol nyala lampu, kunci pintu, televisi, atau perangkat lainnya
hanya dengan perintah kita) atau sebagai modul pelengkap sensor
pendengaran robot.yang dibuat sebagaimana robot-robot canggih yang
dijual di pasaran yang harganya luar biasa mahal.
Deskripsi :
- Mendukung beberapanbahasa, yaitu English (US), Italian, German,nFrench, Spanish, Japanese.
- Mendukung hingga 32 custom Speaker Dependent (SD) trigger atau perintah, bahkan dapat digunakan pada bahasa apapun. 32 custom suara disini bukan bisa menggunakan 32 speaker tetapi dapat menggunakan 32 bahasa yang bisa diubah, jika cocok dengan suara tersebut maka suara yang terekam akan di-trigger. Dan pengertian speaker dependent yaitu hanya suara kita yang bisa, kalau ingin sensor mendeteksinya, maka suaranya harus disamakan dengan suara yang direkam pertama kali.
- GUI yang mudah digunakan.
- Dapat dihubungkan dengan mikrokontroler dengan koneksi UART (tegangan 3.3 - 5 V)
- Mudah diaplikasikan dan didukung oleh dokumentasi yang sederhana
- 3 x GPIO (IO1, IO2, IO3) dapat dikontrol dengan perintah protokol baru
- PWM audio output mendukung speaker 8 ohm.
- Sound playback
- Kompatible dengan Robonova dan Robozak MR-C3024 controller board.
1. Bagian papan
EasyVR
Figure 2.29 Papan
EasyVR
Berikut tabel
datasheet sensornya : Tabel Datasheet Sensor Easy Voice Recognition :
Figure 2.30 Kondisi
Operasi
Figure
2.31 Karakteristik Listrik
Figure
2.32 Karakteristik Listrik
Figure 2.33 Syarat
Power Supply
2. Suara
Bunyi atau suara
adalah pemampatan mekanis atau gelombang longitudinal yang merambat
melalui medium. Medium atau zat perantara ini dapat berupa zat cair,
padat, gas. Jadi, gelombang bunyi dapat merambat misalnya di dalam
air, batu bara, atau udara.
Kebanyakan suara
adalah gabungan berbagai sinyal getar terdiri dari gelombang
harmonis, tetapi suara murni secara teoritis dapat dijelaskan dengan
kecepatan getar osilasi atau frekuensi yang diukur dalam satuan
getaran Hertz (Hz) dan amplitudo atau kenyaringan bunyi dengan
pengukuran dalam satuan tekanan suara desibel (dB).
Manusia mendengar
bunyi saat gelombang bunyi, yaitu getaran di udara atau medium lain,
sampai ke gendang telinga manusia. Batas frekuensi bunyi yang dapat
didengar oleh telinga manusia berkisar antara 20 Hz sampai 20 kHz
pada amplitudo berbagai variasi dalam kurva responsnya. Suara di atas
20 kHz disebut ultrasonik dan di bawah 20 Hz disebut infrasonik.
3. Hidden Markov
Model (HMM)
Hidden Markov Model
(HMM) merupakan teknik pendekatan yang dapat mengelompokkan
sifat-sifat spektral dari tiap bagian suara pada beberapa pola. Teori
dasar dan HMM adalah dengan mengelompokkan sinyal suara sebagai
proses parametrik acak, dan parameter proses tersebut dapat dikenali
(diperkirakan) dalam akurasi yang tepat.
Figure 2.34 Flow
HMM
Blog diagram
pengenalan suara dari sensor ke mikrokontroler. Metode modern pada
sistem pengenalan suara HMM (Hidden Markov Model) berdasarkan
formulasi noisy channel. Metode ini menyatakan bahwa tugas dan sistem
pengenalan suara untuk mencari rangkaian kata yang mirip untuk sinyal
akustik yang direkam. Dengan kata lain, sistem mencari rangkaian kata
diantara semua kemungkinan kata dan rangkaian. Menurut Hidden Markov
Model tenmmnologi disebut rangkaian observasi. Dilihat di gambar 2.4
diatas bahwa dari suara yang diucapkan manusia akan bebentuk analog
dan di sensor tersebut akan diubah ke data digital berdasarkan metode
HMM menuju mikrokontroller. Pada metode HMM inilah probabilitas pada
suara sangat ditentukan dimana semakin mirip suara nya maka
probabilitas semakin besar sedangkan saat suaranya tidak mirip maka
probabilitas akan kecil.
2.6 Motor DC
A. Motor DC
Motor listrik
merupakan perangkat elektromagnetis yang mengubah energi listrik
menjadi energi mekanik. Motor dc atau sering disebut motor arus
searah lebih sering digunakan untuk keperluan yang membutuhkan
pengaturan kecepatan dibandingkan dengan motor ac. Alasan utama
penggunaan motor dc terutama pada industri-industri modern adalah
karena kecepatan kerja motor-motor dc mudah diatur dalam suatu
rentang kecepatan yang luas, disamping banyaknya metode-metode
pengaturan kecepatan yang dapat digunakan. Motor dc sangat dikenal
karena pemakaiannya yang beraneka ragam.
Dengan melakukan
berbagai penggabungan lilitan medan yang disusun secara shunt
(paralel), seri maupun secara terpisah, dapat dirancang suatu motor
yang dapat menampilkan karakteristik tegangan atau arus atau
kecepatan momen yang bermacam-macam untuk penggunaan dinamik maupun
keadaan tetap (ajek).
Karena mudah diatur,
sistem motor dc sering digunakan pada pemakaian yang memerlukan
rentang kecepatan yang lebar atau pengaturan yang teliti pada
keluaran yang diinginkan. Motor dc memerlukan suplai tegangan searah
pada kumparan medan untuk diubah menjadi energi mekanik. Motor dc
memiliki 2 bagian dasar yaitu, bagian yang tetap atau stasioner yang
disebut stator. Stator ini menghasilkan medan magnet, baik yang
dibangkitkan dari sebuah koil (elektromagnet) ataupun magnet
permanen, serta bagian yang berputar disebut rotor.
Rotor ini berupa
sebuah koil dimana arus listrik mengalir. Jika terjadi putaran pada
kumparan jangkar di dalam medan magnet, maka akan timbul tegangan
(GGL) yang berubah-ubah arah pada setiap setengah putaran.
Prinsip kerja dari
arus searah adalah membalik fasa tegangan dari gelombang yang
mempunyai nilai positif dengan menggunakan komutator. Maka dengan
memberikan beda tegangan pada kedua terminal tersebut, motor akan
berputar pada satu arah, dan bila polaritas dari tegangan tersebut
dibalik, maka arah putaran motor akan terbalik pula. Polaritas dari
tegangan yang diberikan pada dua terminal menentukan arah putaran
motor sedangkan besar dari beda tegangan pada kedua terminal
menentukan kecepatan motor.
Bentuk motor paling
sederhana memiliki kumparan satu lilitan yang bisa berputar bebas di
antara kutub-kutub magnet permanen. Motor dc merupakan jenis motor
yang menggunakan tegangan searah sebagai sumber tenaganya.
Figure 2.35 Motor
DC Sederhana
Catu tegangan dc
dari baterai menuju ke lilitan melalui sikat yang menyentuh
komutator, dua segmen yang terhubung dengan dua ujung lilitan.
Kumparan satu lilitan disebut angker dinamo atau biasa disebut rotor.
Angker dinamo adalah sebutan untuk komponen yang berputar di antara
medan magnet .
Berikut
bagian-bagian utama pada motor dc :
1. Strator
Stator adalah bagian
pada motor listrik atau dinamo listrik yang berfungsi sebagai
stasioner dari sistem rotor. Jadi penempatan stator biasanya
mengelilingi rotor, stator bisa berupa gulungan kawat tembaga yang
berinteraksi dengan angker dan membentuk medan magnet untuk mengatur
perputaran rotor. Motor dc memiliki kutub medan yang stasioner dan
rotor yang menggerakan bearing pada ruang diantara kutub medan.
2. Rotor
Rotor adalah bagian
dari motor listrik atau generator listrik yang berputar pada sumbu
rotor. Bila arus masuk menuju rotor, maka arus ini akan menjadi
elektromagnet. Rotor yang berbentuk silinder, dihubungkan ke poros
penggerak untuk menggerakan beban. Rotor berputar dalam medan magnet
yang dibentuk oleh kutub-kutub, sampai kutub utara dan selatan magnet
berganti lokasi. Jika hal ini terjadi, arusnya berbalik untuk merubah
kutub-kutub utara dan selatan motor.
3. Komutator
Komponen ini
terutama ditemukan dalam motor dc. Fungsinya adalah untuk
menyearahkan arah arus listrik dalam dinamo. Commutator juga membantu
dalam aliran arus antara dinamo dan sumber daya.
B. Prinsip Kerja
Motor DC
Jika arus lewat pada
suatu konduktor, akan timbul medan magnet di sekitar konduktor. Arah
medan magnet ditentukan oleh arah aliran arus pada konduktor. Aturan
tangan kanan bisa digunakan untuk menentukan arah garis fluks
disekitar konduktor.
Figure 2.36 Prinsip
Kerja Motor DC
Genggam konduktor
dengan tangan kanan dengan jempol mengarah pada arah aliran arus,
maka jari-jari akan menunjukkan arah garis fluks.Pada gambar diatas
nomor 2 menunjukkan medan magnet yang terbentuk di sekitar konduktor
berubah arah karena berbentuk U. Medan magnet hanya terjadi di
sekitar sebuah konduktor jika ada arus mengalir pada konduktor
tersebut. Jika konduktor berbentuk U (rotor) diletakkan di antara
kutub utara dan selatan, maka kuat medan magnet konduktor akan
berinteraksi dengan medan magnet kutub dan ditunjukkan pada gambar
diatas.
Figure 2.37 Reaksi
Garis Fluks
Lingkaran bertanda A
dan B merupakan ujung konduktor yang dilengkungkan (looped
conductor). Arus mengalir masuk melalui ujung A dan keluar melalui
ujung B. Medan konduktor A yang searah jarum jam akan menambah medan
pada kutub dan menimbulkan medan yang kuat di bawah konduktor.
Konduktor akan berusaha bergerak ke atas untuk keluar dari medan
magnet.
Medan konduktor B
yang berlawanan arah jarum jam akan menambah medan pada kutub dan
menimbulkan medan yang kuat di atas konduktor. Konduktor akan
berusaha untuk bergerak turun agar keluar dari medan yang kuat
tersebut. Gaya-gaya tersebut akan membuat rotor berputar searah jarum
jam.
Pada motor dc,
daerah kumparan medan yang dialiri arus listrik akan menghasilkan
medan magnet yang melingkupi kumparan jangkar dengan arah tertentu.
Konversi dari energi listrik menjadi energi mekanik (motor) maupun
sebaliknya berlangsung melalui medan magnet, dengan demikian medan
magnet disini selain berfungsi sebagai tempat untuk menyimpan energi,
medan magnet juga berfungsi sebagai tempat berlangsungnya proses
perubahan energi, daerah tersebut dapat dilihat pada gambar dibawah.
Figure 2.38 Prinsip
Kerja Motor DC
Agar proses
perubahan energi mekanik dapat berlangsung secara sempurna, maka
tegangan sumber harus lebih besar dari pada tegangan gerak yang
disebabkan reaksi. Dengan memberi arus pada kumparan jangkar yang
dilingkupi oleh medan magnet, maka menimbulkan perputaran pada motor.
Mekanisme kerja
untuk motor dc :
1. Arus listrik
dalam medan magnet akan memberikan gaya.
2. Jika kawat yang
membawa arus dibengkokkan menjadi sebuah lingkaran/loop, maka kedua
sisi loop, yaitu pada sudut kanan medan magnet akan mendapatkan gaya
pada arah yang berlawanan.
3. Pasangan gaya
menghasilkan tenaga putar/ torque untuk memutar kumparan.
4. Motor memiliki
beberapa loop pada dinamonya untuk memberikan tenaga putaran yang
lebih seragam dan medan magnetnya dihasilkan oleh susunan
elektromagnetik yang disebut kumparan medan.
Figure 2.39 Proses
Konversi Energi
Dengan mengingat
hukum kekekalan energi, proses konversi energi listrik menjadi energi
mekanik dapat dinyatakan sebagai berikut: Energi listrik sebagai
input = Energi mekanik sebagai output + energi yang diubah menjadi
panas + energi yang tersimpan dalam.
C. Pengaturan
Kecepatan Motor DC
Besarnya gaya gerak
listrik induksi pad kumparan armatur akibatnya berputarnya rotor yang
terletak diantara kutub magnet diperoleh :
Figure 2.40 Hasil
Hitung
Dengan demikian
kecepatan putar motor dc dapat diperoleh dengan mengubah- ubah fluks
magnet, pengaturan arus armatur atau dengan pengubahan tegangan
sumber.
Motor dc
berpenguatan bebas merupakan salah satu dari jenis motor dc yang
dapat menambah kemampuan daya dan kecepatan, karena memilki fluks
medan yang dihasilkan oleh kumparan medan, yang terletak secara
terpisah dan mempunyai sumber sendiri. Motor jenis ini mempunyai
kumparan medan yang disuplai oleh sumber lain yang bebas dan tidak
bergantung pada beban atau tegangan drop di dalam jangkar, kecepatan
praktis tetap pada seluruh range beban.
Pada jangkar motor
timbul EMF (GGL) lawan sebesar yang melawan tegangan masuk
(Vt). Rangkaian ekivalen motor arus searah berpenguatan bebas lihat
gambar berikut:
Figure
2.41 Rangkaian Motor Searah
Motor dc
berpenguatan bebas merupakan salah satu dari jenis motor dc yang
dapat menambah kemampuan daya dan kecepatan, karena memilki fluks
medan yang dihasilkan oleh kumparan medan, yang terletak secara
terpisah dan mempunyai sumber sendiri. Motor jenis ini mempunyai
kumparan medan yang disuplai oleh sumber lain yang bebas dan tidak
bergantung pada beban atau tegangan drop di dalam jangkar, kecepatan
praktis tetap pada seluruh range beban. Pada jangkar motor
timbul EMF (GGL) lawan sebesar yang melawan tegangan masuk
(Vt).
Rangkaian ekivalen
motor arus searah berpenguatan bebas
Dari gambar
rangkaian ekivalen tersebut, maka persamaan yang menyatakan hubungan
besaran tegangan, arus, daya dan resistansi dapat dituliskan sebagai
berikut:
Figure
2.42 Penjelasan Rumus
2.7 Driver Motor
A. Metal Oxide
Semiconductor Field Effect Transistor (MOSFET)
Metal Oxide
Semiconductor FET atau MOSFET, memiliki sebuah sumber, gerbang dan
saluran. Akan tetapi MOSFET berbeda dengan JFET, dalam hal ini
gerbang diisolasi dari saluran. Oleh karena itu, arus gerbang lebih
kecil daripada yang ada di JFET. Mosfet kadang-kadang disebut sebagai
IGFET atau Insulated Gate FET. Ada dua jenis MOSFET, yaitu tipe
depletion-mode dan tipe enhancemen-mode.
Figure 2.43 FET
FET bentuk fisiknya
seperti transistor. Fungsinya adalah untuk menaikkan tegangan atau
menurunkan tegangan. FET memiliki tiga kaki juga yaitu :
- GATE (G) adalah kaki input
- DRAIN (D) adalah kaki output
- SOURCE (S) adalah kaki sumber
Mosfet yang
digunakan yaitu tipe IRFP460 yang memiliki spesifikasi seperti
dibawah ini :
Figure
2.44 Datasheet IRFP
Fungsinya biasanya
digunakan pada rangkaian power supply jenis switching untuk
menghasilkan tegangan tinggi agar memproses trafo. EMOSFET
(Enhancement-mode MOSFET) adalah bagian dari evolusi dari tipe
D-MOSFET. Gambar 2.13(a) menunjukkan sebuah
E-MOSFET. Substrate
p sekarang memperluas semua jalan silikon diokasida.
Figure 2.45 E-MOFSET
Bagaimanakah
E-Mosfet berkerja? Pada gambar menunjukkan polaritas pembiasan
normal. Ketika tegangan gerbang nol, arus diantara sumber dan saluran
adalah nol. Untuk ulasan ini, E-MOSFET biasanya tidak aktif ketika
tegangan pada gerbang adalah nol. Jalan satu-satunya untuk
mendapatkan arus adalah dengan tegangan
gerbang positif.
Ketika gerbang menjadi positif, maka akan menarik elektron bebas ke
daerah p. Elektron bebas bergabung kembali dengan lubang-lubang ke
silikon dioksida. Ketika tegangan gerbang cukup positif, seluruh
lubang yang sudah menyentuh silikon dioksida terisi dan elektron
bebas mulai mengalir dari sumber ke saluran. Akibatnya adalah sama
seperti membuat sebuah lapisan tipis bahan tipe n ke silikon
diokasida. Lapisan konduksi ini disebut lapisan pembalik tipe n,
ketika lapisan ini ada, elektron bebas dapat mengalir dengan mudah
dari sumber ke saluran.
VGS minimum yang
membuat lapisan pembalik tipe n disebut tegangan ambang batas,
disimbolkan VGS(th).
Ketika VGS lebih
kecil daripada VGS(th), arus saluran nol. Ketika VGS lebih besar dari
pada VGS(th), sebuah lapisan pembalik tipe n menyambung dengan sumber
ke saluran dan arus saluran dapat mengalir. Nilai VGS(th) biasanya
untuk peralatan sinyal kecil adalah 1 sampai 3 volt.
IC ini bisa
digunakan untuk berbagai macam elektronik seperti :
- Komputer
- Aplikasi instrumen, mesin pengukuran
- Peralatan instrumentasi, mesin duplikasi
- Keperluan elektronik rumah tangga seperti kipas angin
Spesifikasi ic ini
yaitu batas tegangan yang bisa dialiri yaitu 18 volt dan arusnya
hanya sebesar 50 mA.
2.8 Unity 3D
Unity merupakan
suatu aplikasi yang digunakan untuk mengembangkan game multi platform
yang didesain untuk mudah digunakan. Unity itu bagus dan penuh
perpaduan dengan aplikasi yang profesional. Editor pada Unity dibuat
degan user interface yang sederhana. Editor ini dibuat setelah ribuan
jam yang mana telah dihabiskan untuk membuatnya menjadi nomor satu
dalam urutan rankking teratas untuk editor game.
Figure 2.46 Logo
Unity
Grafis pada unity
dibuat dengan grafis tingkat tinggi untuk OpenGL dan directX. Unity
mendukung semua format file, terutamanya format umum seperti semua
format dari art applications. Unity cocok dengan versi 64-bit dan
dapat beroperasi pada Mac OS x dan windows dan dapat menghasilkan
game untuk Mac, Windows, Wii, iPhone, iPad dan Android. Unity secara
rinci dapat digunakan untuk membuat video game 3D, real time animasi
3D dan visualisasi arsitektur dan isi serupa yang interaktif lainnya.
Editor Unity dapat menggunakan plugin untuk web player dan
menghasilkan game browser yang didukung oleh Windows dan Mac.
Plugin web player
dapat juga dipakai untuk widgets Mac. Unity juga akan mendukung
console terbaru seperti PlayStation 3 dan Xbox 360. Pada tahun 2010,
telah memperoleh Technology Innovation Award yang diberikan oleh Wall
Street Journal dan tahun 2009, Unity Technology menjadi 5 perusahaan
game terbesar. Tahun 2006, menjadi juara dua pada Apple Design
Awards.
Server aset dari
Unity dapat digunakan semua scripts dan aset game sebagai solusi dari
versi kontrol dan dapat mendukung proyek yang terdiri atas banyak
gigabytes dan ribuan dari file multi-megabyte. Editor Unity dapat
menyimpan metadata dan versi mereka, itu dapat berjalan , pembaharuan
dan didalam perbandingan versi grafis. Editor Unity dapat
diperbaharui dengan sesegera mungkin seperti file yang telah
dimodifikasi. Server aset Unity juga cocok pada Mac, Windows dan
Linux dan juga berjalan pada PostgreSQL, database server opensource.
Perizinan atau license dari Unity ada dua bentuk. Ada Unity dan Unity
Pro.
Versi Unity tersedia
dalam bentuk gratis, sedang versi Unity Pro hanya dapat dibeli. Versi
Unity Pro ada dengan fitur bawaan seperti efek post processing dan
render efek texture. Versi Unity merupakan yang gratis memperlihatkan
aliran untuk game web dan layar splash untuk game yang berdiri
sendiri. Unity dan Unity Pro menyediakan tutorial, isi, contoh
project, wiki, dukungan melalui forum dan perbaruan kedepannya. Unity
digunakan pada iPhone, iPod dan iPad operating system yang mana iOS
ada sebagai add-ons pada Unity editor yang telah ada lisensinya,
dengan cara yang sama juga pada Android.
2.8.1 Sejarah Unity
Sejak unity secara
resmi dirilis sebagai Unity versi 1.0.1, banyak pembaharuan (update),
upgrades dan fitur yang telah ditambahkan selama tahun perilisannya
tersebut dan Unity terus berkembang secara terus – menerus.
Sekarang ini Unity sudah ada pada versi 3.0 yang telah diumumkan pada
bulan Maret 2010, bagaimanapun versi ini masih didalam pre order,
yang mana artinya pengguna dapat memesan tetapi sebenarnya software
masih belum rilis untuk pengiriman.
Unity ada atau
datang dengan beberapa pilihan perijinan (license), berkisar dari
yang gratis untuk Unity paket utama ( dasar ) untuk Unity pro,
untuk satu license dijual dengan harga $1200. Baik Unity yang versi
gratis dan Unity yang versi pro menawarka banyak fitur yang dapat
digunakan, masih untuk yang versi gratis memperlihatkan sebuah
halaman spash pada game yang tetap (regular) , dan desain untuk game
online menggunakan Unity watermark. Lebih dari beberapa tahun banyak
game yang dikembangkan dan dibuat berjalan pada Unity, beberapa lebih
ketetapan berada dalam satu bungkus atau masukkan: Butuh Kecepatan:
Dunia, yang mana sekarang ini dalam perkembangan dan waktunya rilis
berikutnya pada tahun ini, WolfQuest, yang mana rilis pada tahun
2007, Tiger Woods PGA Tour Online , yang mana telah dibuat pada April
pada tahun 2007 dan Atmosphir , yang mana banyak game baru yang dapat
berjalan di Unity.
Harus di catat akan
dapat mengembangkan game untuk Iphone/Ipad platform, degan melakukan
upgrade plug-in yang dibutuhkan oleh Uniy, untuk licensenya dapat
diperoleh pada website Unity.
2.8.2 Fitur Unity
1. Rendering
Graphics engine yang
digunakan adalah Direct3D (Windows, Xbox 360), OpenGL (Mac, Windows,
Linux, PS3), OpenGL ES (Android, iOS), dan proprietary APIs (Wii).
Ada pula kemampuan untuk bump mapping, reflection mapping, parallax
mapping, screen space ambient occlusion (SSAO), dynamic shadows using
shadow maps, render-to-texture and full-screen post-processing
effects.
Unity dapat
mengambil format desain dari 3ds Max, Maya, Softimage, Blender, modo,
ZBrush, Cinema 4D, Cheetah3D, Adobe Photoshop, Adobe Fireworks and
Allegorithmic Substance. Asset tersebut dapat ditambahkan ke game
project dan diatur melalui graphical user interface Unity.
Figure 2.47 Unity
RenderInfo
2. Scripting
Script game engine
dibuat dengan Mono 2.6, sebuah implementasi open-source dari .NET
Framework. Programmer dapat menggunakan UnityScript (bahasa
terkustomisasi yang terinspirasi dari sintax ECMAScript, dalam bentuk
JavaScript), C#, atau Boo (terinspirasi dari sintax bahasa
pemrograman phyton). Dimulai dengan dirilisnya versi 3.0, Unity
menyertakan versi MonoDevelop yang terkustomisasi untuk debug script.
Figure
2.48 Scripting pada Unity
3. Assets Tracking
Unity juga
menyertakan Server Unity Asset – sebuah solusi terkontrol untuk
defeloper game asset dan script. Server tersebut menggunakan
PostgreSQL sebagai backend, sistem audio dibuat menggunakan FMOD
library (dengan kemampuan untuk memutar Ogg Vorbis compressed audio),
video playback menggunakan Theora codec, engine daratan dan vegetasi
(dimana mensuport tree billboarding, Occlusion Culling dengan Umbra),
built-in lightmapping dan global illumination dengan Beast,
multiplayer networking menggunakan RakNet, dan navigasi mesh pencari
jalur built-in.
4. Multi Platforms
Unity support
pengembangan ke berbagai plaform. Didalam project, developer memiliki
kontrol untuk mengirim keperangkat mobile, web browser, desktop, and
console. Unity juga mengijinkan spesifikasi kompresi textur dan
pengaturan resolusi di setiap platform yang didukung.
Saat ini platform
yang didukung adalah BlackBerry 10, Windows 8, Windows Phone 8,
Windows, Mac, Linux, Android, iOS, Unity Web Player, Adobe Flash,
PlayStation 3, Xbox 360, Wii U and Wii. Meskipun tidak semua
terkonfirmasi secara resmi, Unity juga mendukung PlayStation Vita
yang dapat dilihat pada game Escape Plan dan Oddworld: New ‘n’
Tasty.
Rencana platform
berikutnya adalah PlayStation 4 dan Xbox One. Dan juga rumor untuk
kedepanya mengatakan HTML akan menjadi platformnya, dan plug-in Adobe
baru dimana akan disubtitusikan ke Flash Player, juga akan menjadi
platform berikutnya.
Figure 2.49 Lara
Croft, dibuat di Unity 3D
5. Physics System
Unity juga memiliki
suport built-in untuk PhysX physics engine (sejak Unity 3.0) dari
Nvidia (sebelumnya Ageia) dengan penambahan kemampuan untuk simulasi
real-time cloth pada arbitrary dan skinned meshes, thick ray cast,
dan collision layers.
2.8.3 Bahsa Pemrograman C#
Figure 2.50 C#
C# adalah bahasa
pemrograman yang diciptakan oleh Microsoft (dikembangkan dibawah
kepemimpinan Anders Hejlsberg yang notabene juga telah menciptakan
berbagai macam bahasa pemrograman termasuk Borland Turbo C++ dan
Borland Delphi). Bahasa C# juga telah di standarisasi secara
internasional oleh ECMA.
Seperti halnya
bahasa pemrograman yang lain, C# bisa digunakan untuk membangun
berbagai macam jenis aplikasi, seperti aplikasi berbasis windows
(desktop) dan aplikasi berbasis web serta aplikasi berbasis web
services. Mengapa Mempergunakan C#? Pertanyaan di atas mungkin muncul
di benak kita semua pada saat pertama kali mendengar tentang C#. Hal
tersebut sangat beralasan, dengan melihat kenyataan bahwa sebelum
C# muncul, telah banyak bahasa pemrograman yang ada, seperti C, C++,
Java, Perl dan lain-lain.
Kelebihan C# :
1. Sederhana
C# menghilangkan
beberapa hal yang bersifat kompleks yang terdapat dalam beberapa
macam bahasa pemrograman seperti Java dan C++, termasuk diantaranya
mengilangkan macro, templates, multiple inheritance dan virtual base
classes. Hal hal tersebut yang dapat menyebabkan kebingungan pada
saat menggunakannya, dan juga berpotensial dapat menjadi masalah bagi
para programmer C++.
Jika anda pertama
kali belajar bahasa C# sebagai bahasa pemrograman, maka hal-hal
tersebut diatas tidak akan membuat waktu anda terbuang terlalu banyak
untuk mempelajarinya. C# bersifat sederhana, karena bahasa ini
didasarkan kepada bahasa C dan C++. Jika anda familiar dengan C dan
C++ atau bahkan Java, anda akan menemukan aspekaspek yang begitu
familiar, seperti statements, expression, operators, dan beberapa
fungsi yang diadopsi langsung dari Java, C dan C++, tetapi dengan
berbagai perbaikan yang membuat bahasanya menjadi lebih sederhana.
Perhatikan Gambar 1 yang merupakan komposisi bahasa yang terdapat
dalam C# sehingga kita tidak perlu takut lagi untuk mempelajari C#.
2. Modern
Apa yang membuat C#
menjadi suatu bahasa pemrograman yang modern?
Jawabannya adalah
adanya beberapa fitur seperti exception handling, garbage collection,
extensible data types, dan code security (keamanan kode/bahasa
pemrograman). Dengan adanya fitur-fitur tersebut, menjadikan bahasa
C# sebagai bahasa pemrograman yang modern.
3. OOP
Kunci dari bahasa
pemrograman yang bersifat Object Oriented adalah encapsulation,
inheritance, dan polymorphism. Secara sederhana, istilah-istilah
tersebut bisa didefinisikan sebagai berikut (definisi dan penjelasan
lebih lanjut akan di uraikan pada bab-bab selanjutnya).
encapsulation, dimana semua fungsi ditempatkan dalam satu paket
(single package). inheritance, adalah suatu cara yang terstruktur
dari suatu kode-kode pemrograman dan fungsi untuk menjadi sebuat
program baru dan berbentuk suatu paket. Polymorphism, adalah
kemampuan untuk mengadaptasi apa yang diperlukan untuk dikerjakan.
Sifat-sifat tersebut di atas, telah di miliki oleh C# sehingga bahasa
C# merupakan bahasa yang bersifat Object Oriented.
4. Fleksibel
C# bisa digunakan
untuk membuat berbagai macam aplikasi, seperti aplikasi pengolah
kata, grafik, spreadsheets, atau bahkan membuat kompiler untuk sebuah
bahasa permrograman.
5. Efisien
C# adalah bahasa
pemrograman yang menggunakan jumlah kata-kata yang tidak terlalu
banyak. C# hanya berisi kata-kata yang biasa disebut dengan keywords.
Keywords ini digunakan untuk menjelaskan berbagai macam informasi.
Jika anda berpikiran bahwa bahasa pemrograman yang menggunakan sangat
banyak kata-kata (keywords) akan lebih powerfull, maka jawabannya
adalah “pemikiran itu tidak selalu benar”, karena hal itu justru
bisa menambah kerumitan para developer pada saat membuat suatu
aplikasi.
6. Modular
Kode C# ditulis
dengan pembagian masing Class-Class (classes) yang terdiri dari
beberapa routines yang disebut sebagai member methods. Class-Class
dan metodemetode ini dapat digunakan kembali oleh program atau
aplikasi lain. Hanya dengan memberikan informasi yang dibutuhkan oleh
Class dan metode yang dimaksud, maka kita akan dapat membuat suata
kode yang dapat digunakan oleh satu atau beberapa aplikasi dan
program (reusable code).
Bab 2 - Game Simulasi Mobil Controller Arduino