BAB III PERANCANGAN SISTEM Bab ini menguraikan tentang gambaran sistem, perancangan perangkat keras dan perangkat lunak yang digunakan dalam skripsi ini. Perancangan perangkat keras menjelaskan hubungan antara mikrokontroler dengan modul Wifi USR-WIFI232-G, Infra merah dan PWM, sedangkan perancangan perangkat lunak menjelaskan garis besar perangkat lunak, baik yang ditanamkan ke dalam mikrokontroler ataupun yang terdapat pada kendali komputer atau mobile smart phone. I.1.
Gambaran Sistem
Gambar 3.1. Gambaran Umum Rancangan Sistem Kendali Robot Gambar 3.1 menunjukkan blok diagram keseluruhan sistem yang dirancang, secara umum sistem ini dibagi menjadi dua bagian yaitu, perangkat lunak yang digunakan sebagai media pengontrol atau pemberi instruksi, dan perangkat keras sistem repeater yang berfungsi sebagai pengubah data atau instruksi dari modul Wifi menjadi sinyal – sinyal infra merah. Penjelasan sistem ini adalah sebagai berikut :
15
1. Pengguna memberikan instruksi melalui perangkat lunak pada mobile smartphone atau komputer. 2.
Komunikasi antar komputer kendali atau mobile smart phone dengan modul USR-WIFI232-G menggunakan media transmisi wifi menggunakan metode socket TCP/IP.
3. Modul USR-WIFI232-G menerima data dari pengirim yang selanjutnya dikirimkan ke mikrokontroler secara serial. 4. Mikrokontroler menampung data dari serial yang selanjutnya dicocokan dengan library perintah yang disimpan pada mikrokontroler. Data tersebut diubah menjadi sekelompok bit yang selanjutnya dikirimkan per bit dari most significant bit. Mikrokontroler memiliki fitur PWM yang digunakan sebagai pembangkit frekuensi yang digunakan sebagai frekuensi pembawa data untuk dikirimkan kepada robot WowWee Robosapien melalui inframerah. I.2.
Perancangan Perangkat Keras Pada bagian ini dijelaskan mengenai perancangan hingga perealisasian perangkat keras kendali jarak jauh robot WowWee Robosapien. Perangkat keras terdiri dari mikrokontroler ATmega8 sebagai pengkonversi data menjadi sinyal, yang menggunakan fitur PWM. Mikrokontroler tersebut terhubung dengan modul yang digunakan yaitu USR-WIFI232-G dan berkomunikasi dengan modul menggunakan fitur USART. Gambar 3.2 menunjukkan blok diagram perangkat keras kendali robot yang dirancang.
Gambar 3.2. Blok Diagram Perangkat Keras Kendali Jarak Jauh Robot
16
I.2.1. Modul USR- WIFI232-G Perancangan kendali jarak jauh ini menggunakan modul USR-WIFI232-G untuk menjalin komunikasi dengan pengendali dari komputer atau mobile smart phone. Modul USR-WIFI232-G digabungkan bersama mikrokontroler dengan memanfaatkan fitur USART untuk berkomunikasi. Gambar 3.3 menunjukkan konfigurasi pin map USR-WIFI232-G.
Gambar 3.3. USR-WIFI232-G Pins Map [8, h.9].
Pada Gambar 3.4 menunjukkan skematik hubungan antara modul USRWIFI232-G
dengan
mikrokontroler.
Komunikasi
antara
modul
dengan
mikrokontroler menggunakan fitur USART sehingga data yang diterima pada modul wifi dikirimkan langsung ke mirkokontroler yang ditampung oleh buffer penerima USART pada mikrokontroler.
17
Gambar 3.4. Skematik USR-WIFI232-G dengan ATmega8 Komunikasi antara USR-WIFI232-G dengan mikrokontroler menggunakan komunikasi serial dengan level tegangan TTL. Tabel 3.1 menunjukkan koneksi antara pin USR-WIFI232-G dengan pin mikrokontroler. Tabel 3.1. Konfigurasi sinyal pin USR-WIFI232-G dengan Mikrokontroler.
GND
PIN Modul 1
0
GND
ALARM1
7
Pull up 100k ohm
-
DVDD
9
+3.3V
-
GND
17
0
GND
DVDD
31
+3.3V
-
GND
32
0
GND
DVDD
34
+3.3V
-
UART_TX
39
UART Communication Pin
PIN.D0 RXD
UART_RTS
40
UART Communication Pin
-
UART_RX
41
UART Communication Pin
PIN.D1 TXD
UART_CTS
42
UART Communication Pin
-
nLink
43
Led Blue
-
nReady
44
Led Green
-
nReload
45
Pull up 57k ohm
-
EXT_RESET
47
Reset Button
GND
48
0
GND
Nama Net
Deskripsi
Mikrokontroler
18
I.3.
Perancangan Perangkat Lunak Perancangan perangkat lunak pada skripsi ini dibagi menjadi tiga bagian, yaitu perangkat lunak pada komputer kendali, perangkat lunak pada mobile smart phone, dan perangkat lunak yang ditanamkan pada mikrokontroler. I.3.1. Perangkat Lunak pada Kendali Komputer Perangkat lunak yang dipasang pada komputer kendali meggunakan Visual Studio 2010, aplikasi kendali bertugas sebagai client dari modul USR-WIFI232G. Secara umum sistem kerja perangkat lunak pada komputer kendali dapat digambarkan seperti pada Gambar 3.5.
Gambar 3.5. Gambaran umum perangakat lunak kendali komputer. Penjelasan dari Gambar 3.5 adalah sebagai berikut : 1. Aplikasi kendali menghubungkan diri dengan modul USR-WIFI232-G dengan komunikasi socket. 2. Pengguna memberikan instruksi melalui tombol – tombol gerakan yang telah disediakan pada antar muka aplikasi kendali. 3. Data instruksi di encoding memiliki sebuah header dan penutup. 4. Aplikasi menerima umpan balik dari mikrokontroler setelah mikrokontroler meneruskan data dalam bentuk biner.
Gambar 3.6 menjelaskan proses pengiriman data yang dilakukan oleh aplikasi pada komputer kendali. Proses encoding dilakukan pada perintah asli robot WowWee Robosapien yang disimpan pada “Variables.KirimPerintah”, setelah data selesai di encoding data tersebut dikirimkan kepada server yaitu modul USR-WIFI232-G, dan kendali komputer yang bertindak sebagai client siap menunggu acknowledge bahwa perintah telah dilakukan.
19
Gambar 3.6. Koding Pengiriman Data pada kendali komputer. Fungsi “SentData()” pada Gambar 3.6 digunakan untuk melakukan proses pengiriman data dari komputer sebagai client ke modul yang bertindak sebagai server. Instruksi asli robot disimpan pada variabel “Variables.KirimPerintah”, selanjutnya instruksi dilakukan proses encoding data dengan memberikan header “$” dan penutup “#” pada akhir perintah. Setelah instruksi di encoding menjadi paket baru dan kemudian disimpan pada variabel “data”. “Data” di encoding menjadi tipe data baru yaitu byte. Data dalam bentuk byte dikirimkan dengan fungsi “Stream.Write”, dan komputer kendali menunggu acknowledge dari server melalui fungsi ”Stream.ReadByte”. I.3.2. Perangkat Lunak pada Kendali Smart Phone Perangkat lunak yang dipasang pada mobile smart phone dibuat menggunakan aplikasi Eclipse Kepler, aplikasi ini bertugas sebagai client dari modul USRWIFI232-G. Secara umum sistem kerja perangkat lunak pada komputer kendali dapat digambarkan seperti pada Gambar 3.7.
20
Gambar 3.7. Gambaran umum perangkat lunak kendali smart phone. Penjelasan dari Gambar 3.7 adalah sebagai berikut : 1. Aplikasi kendali menghubungkan diri dengan modul USR-WIFI232-G dengan komunikasi socket. 2. Pengguna memberikan instruksi melalui tombol – tombol gerakan yang telah disediakan pada antar muka aplikasi kendali. 3. Data instruksi di encoding memiliki sebuah header dan penutup. 4. Aplikasi menerima umpan balik dari mikrokontroler setelah mikrokontroler meneruskan data dalam bentuk biner.
Gambar 3.8. Proses koneksi kendali smart phone dengan modul Wifi. Gambar 3.8 menjelaskan proses koneksi antara mobile smart phone dengan modul USR-WIFI232-G. Komunikasi dilakukan menggunaan komunikasi socket dengan mendeklarasi alamat dan port yang dituju. Pengiriman dilakukan
21
menggunakan perintah DataOutputStream dan penerimaan data dilakukan dengan perintah DataInputStream.
Gambar 3.9. Diagram Alir Perangkat Lunak Kendali Smart Phone. Pada Gambar 3.9 membahas garis besar program pada perangkat lunak kendali smart phone yang dipresentasikan melalui diagram alir. Program ini bekerja pada dua thread berbeda, satu untuk melakukan proses pengiriman, dan lainnya untuk melakukan proses penerimaan data dalam waktu bersamaan. Fungsi dari program tersebut adalah sebagai berikut : 1. Menginisialisasi Socket, DataInputStream dan DataOutputStream. 2. Menunggu instruksi dari antar muka 3. Melakukan encoding terhadap data yang akan dikirim.
22
4. Menunggu
data
masukan
atau
respon
dari
mikrokontroler,
dan
menampilkannya pada antar muka.
I.3.3. Perangkat Lunak pada Mikrokontroler Perangkat lunak yang dipasang pada mikrokontroler dibuat menggunakan aplikasi CodeVisionAVR. Mikrokontroler sebagai pengendali sistem repeater dari seluruh sistem kendali. Perangkat lunak yang tersebut ditanamkan pada mikrokontroler untuk melakukan tugas – tugas konversi dari data yang diterima modul USR-WIFI232-G menjadi bit – bit yang diteruskan dalam bentuk inframerah. Data yang diterima, pertama dilakukan proses decoding data untuk memeriksa apakah data tersebut benar merupakan data instruksi robot WowWee Robosapien, selanjutnya data tersebut diubah menjadi sekumpulan bit untuk dikirimkan dalam bentuk infra merah.
23
Gambar 3.10. Diagram Alir Sistem Repeater oleh Mikrokontroler. Pada Gambar 3.10 membahas garis besar program yang dipresentasikan melalui diagram alir. Fungsi dari program mikrokontroler sebagai repeater adalah sebagai berikut : 1. Menerima data dari modul USR-WIFI232-G dan di simpan dalam variabel buffer. 2. Melakukan decoding data yang telah diterima. 3. Mengkonversi data menjadi kumpulan bit. 4. Mengirim data dalam bentuk inframerah. 5. Mengirim acknowledge kepada client bahwa instruksi telah dilakukan.
24
Gambar 3.11. Decoding data yang diterima dari kendali. Gambar 3.11 menjelaskan proses decoding data, dari data yang diterima per karakter pada variabel “data”, ditampung pada variabel ”buffer”. Nilai masukan diperiksa, jika jumlahnya sebanyak tiga karakter, dan memiliki header “$” dan penutup “#” maka nilai tersebut dinyatakan benar merupakan instruksi gerakan robot WowWee Robosapien. Satu karakter bernilai 1 byte yang dikirimkan per bit satu per satu dari Least Significant Bit (LSB) terlebih dahulu. Gambar 3.12 menunjukkan format data yang diterima oleh USART mikrokontroler setiap byte dengan 1 buah start bit dan stop bit.
Gambar 3.12. Format paket data USART [5, h.130]. Keterangan Gambar 3.12 : St
: Start Bit, selalu low.
(n)
: Data Bit ( 0 sampai 8 ).
P
: Parity Bit ( bisa ganjil atau genap ).
SP
: Stop Bit, selalu high.
25
Instruksi yang telah melewati proses decoding akan diperiksa untuk mendapatkan nilai integer yang akan dikonversi menjadi nilai biner yang selanjutnya dikirim dalam bentuk infra merah pada fungsi “sentdata( )”. Nilai integer pertama dikonversi menjadi nilai biner dan mulai dilakukan pengiriman start bit adalah sinyal low selama 8/1200 detik, selanjutnya di periksa per bit, jika nilai biner adalah 1, maka keluaran adalah sinyal high selama 4/1200 detik dan sinyal low selama 1/1200 detik, dan jika nilai biner adalah 0, maka keluaran sinyal high selama 1/1200 detik dan sinyal low selama 1/1200 detik. Sinyal di high kembali setelah pengiriman selesai. Gambar 3.13 adalah program untuk merealisasikan pengiriman dalam bentuk sinyal infra merah.
Gambar 3.13. Proses pengiriman data per bit dalam bentuk infra merah. Data dikirimkan satu per satu tiap bit dari Most Significant Bit (MSB) dikirimkan pertama. Gambar 3.14 menunjukkan format data yang dikirimkan dalam bentuk infra merah.
Gambar 3.14. Format Paket data peniriman sinyal infra merah.
26
Keterangan Gambar 3.14 : St : Start Bit, selalu low. (n)
: Data Bit ( 0 sampai 7 ).
SP
: Stop Bit, selalu high.