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.
Gambaran Sistem I.1.
Gambar 3.1. Gambaran Umum Rancangan Sistem Kendali Robot
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.
Perancangan Perangkat Keras I.2.
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.
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 USR-WIFI232-G dengan mikrokontroler. Komunikasi antara modul dengan
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.
Nama Net PIN
UART_TX 39 UART Communication Pin PIN.D0 RXD
UART_RTS 40 UART Communication Pin -
UART_RX 41 UART Communication Pin PIN.D1 TXD
Perancangan Perangkat Lunak I.3.
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-WIFI232-G. 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
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 USR-WIFI232-G. Secara umum sistem kerja perangkat lunak pada komputer kendali
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.
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
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.
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.
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 ).
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.
Keterangan Gambar 3.14 : St : Start Bit, selalu low.