T1 612009053 BAB III
BAB III
PERANCANGAN ALAT
Pada bab tiga ini akan dijelaskan mengenai perancangan dari perangkat keras dan perangkat lunak yang digunakan pada alat ini. Dimulai dari uraian perangkat keras lalu uraian perancangan lunak.
Perangkat keras yang digunakan pada alat ini terdiri dari modul GPS receiver, modul Arduino Mega 2560, dan moduldot matrix displayP10. Sedangkan perancangan perangkat lunak akan dijelaskan dari pengolahan data GPS, penentuan titik koordinat suatu daerah, dan program untuk menampilkan data didot matrix display.
3.1. Gambaran Sistem
Pada gambar 3.1 menunjukan blok diagram sistem dari keseluruhan alat yang dibuat.
Gambar 3.1. Blok Diagram Sistem Secara Keseluruhan Catu Daya Didalam Bus 220V AC
Catu Daya 9 Volt
GPS Neo 6M NE
Arduino Mega
2560
TXRX
PWM SCK MOSI
Catu Daya 5 Volt
3,3V
(2)
Dilihat dari gambar 3.1 terlihat jelas bahwa sistem ini memiliki tiga bagian utama rangkaian modul, yaitu modul GPS Neo 6M , Arduino Mega 2560 , dandot matrix display.
3.2. Gambaran Kinerja Alat
Seluruh alat akan ditempatkan di dalam bus. Posisi peletakan GPS di dalam bus yaitu pada pinggir kaca atau di depan dashboard pengemudi. Hal ini dilakukan agar modul GPS dapat lebih mudah mendapatkan sinyal dari satelit.Sedangkan modul dot matrix display akan dipasang pada bagian depan interior bus, namun tidak menutupi LCD TV dari bus itu sendiri. Sehingga seluruh penumpang dari posisi duduk paling depan sampai belakang dapat membaca informasi yang tertampil pada dot matrix displaydan juga masih dapat menonton TV.
GPS Neo 6M memakai standar protokol NMEA 0183 (National Marine Electronics Association) yang mengirimkan pesan berupa GGA , GVA, RMC, GSV, GLL, VTG, dan TXT. Lalu data pesan yang diterima oleh modul GPS receiver akan dikirimkan secara serial menuju mikrokontroler Arduino Mega 2560 untuk pengolahan data sehingga didapatkan berupa titik koordinat lintang, titik koordinat bujur, waktu, ketinggian, dan kecepatan. Selanjutnya titik koordinat lintang dan bujur yang didapatkan akan menentukan posisi bus tersebut saat itu juga. Data kecepatan akan digunakan untuk menentukan perkiraan waktu tiba pada tujuan akhir bus.Setelah semua proses pengolahan data selesai akan ditampilkan langsung pada dot matrix display dan penumpang mendapat informasi secara langsung posisi bus berada, waktu, ketinggian daratan yang dilewati, dan perkiraan waktu tiba pada tujuan akhir bus. Alat ini dapat bekerja dalam ruang terbuka yang mendapat sinyal dari satelit GPS.
3.3. Perancangan Perangkat Lunak
Perancangan perangkat lunak yang dipakai di dalam alat ini terdiri dari program pengolahan data GPS, program penentuan titik koordinat batas wilayah daerah, program penghitung perkiraan waktu tiba, dan program penampil data agar dapat ditampilkan pada dot matrix display P10. Pada bagian ini dijelaskan mengenai perancangan perangkat lunak yang dijelaskan dalam diagram alir keseluruhan alat.
(3)
tidak ada tidak ya ya tidak
Gambar 3.2. Diagram Alir Alat Start
Apakah ada data dari GPS?
Mengambil data yang diperlukan pada format pesan
GGA dan RMC
Apakah titik koordinat sesuai
rangedaerah yang ditentukan?
Penambahan data waktu untuk ditampilkan Penambahan data ketinggian
untuk ditampilkan
Perkiraan waktu tiba di kota terakhir ditampilkan
Menampilkan data padadot matrix displaysesuai dengan kondisi yang diperoleh
Nama Perusahaan Otobus
Nama Perusahaan Otobus
Data jarak daerah dibagi dengan data kecepatan untuk mendapatkan perkiraan waktu tiba
Apakah perkiraan waktu tiba melebihi 24 jam?
Penambahan data waktu untuk ditampilkan
Penambahan data ketinggian untuk ditampilkan
(4)
Penjelasan gambar diagram alir alat :
Saat alat diberi supply 220V AC yang tersedia dalam bus, alat dapat langsung bekerja. Namun, mikrokontroler masih belum mendapatkan data dari GPS
receiver dikarenakan memerlukan waktu untuk GPS menangkap sinyal dari satelit (cold start).
Dalam proses menunggu GPS menangkap sinyal dari satelit yang memerlukan waktu, tampilan padadot matrix display adalah hanya nama Perusahaan Otobus tersebut sampai GPS receiver sudah dapat menangkap sinyal yang baik dari satelit.
Jika GPS receiver sudah dapat terhubung baik dengan satelit maka data data pesan dari GPS receiver akan diolah pada mikrokontroler. Data yang diambil adalah yang berformat GGA dan RMC.
Pengolahan data yang pertama yaitu pada titik koordinat lintang dan bujur yang didapatkan dari GPS receiver. Dalam proses ini data titik koordinat akan dibandingkan dengan data titik koordinat yang sudah ada di dalam program. Data titik koordinat yang sudah didalam program beruparangeatau rentang titik koordinat, ada empat buah titik sebagai batas dari suatu daerah. Batas yang digunakan adalah batas utara, batas selatan, batas timur, dan batas barat. Jika data titik koordinat yang didapat sesuai dengan data titik koordinat yang ada, maka nama daerah yang sesuai denganrangetersebut akan ditampilkan padadot matrix display.
Setelah proses menampilkan nama daerah atau nama Perusahaan Otobus, proses selanjutnya yaitu menampilkan data waktu yang didapatkan dari data GPS. Data waktu ini masih harus ditambahkan tujuh dikarenakan data waktu yang didapatkan berupa waktu patokan dunia yaituGreenwitch Mean Time(GMT).
Tampilan ketiga dari alat ini adalah data ketinggian. Data ketinggian menggunakan satuan meter. Data ketinggian ini mengukur ketinggian posisi modul GPS dengan permukaan laut. Sehingga dalam tampilannya pada dot matrix displaymenggunakan keterangan meter diatas permukaan laut (MDPL).
Berikutnya data kecepatan akan digunakan untuk menghitung perkiraan waktu tiba dengan cara membagi jarak daerah dengan data kecepatan.
(5)
Jika perkiraan waktu tiba lebih dari 24 jam, maka perkiraan waktu tiba tidak ditampilkan. Sehingga yang ditampilkan pada dot matrix display hanya nama daerah, waktu, dan ketinggian.
Tapi di saat perkiraan waktu tiba kurang dari 24 jam, maka perkiraan waktu tiba ikut ditampilkan pada dot matrix display. Sehingga yang ditampilkan pada dot matrix displayadalah nama daerah, waktu, ketinggian, dan perkiraan waktu tiba.
Namun di saat data titik koordinat yang diterima tidak sesuai dengan data titik koordinat yang sudah ada pada program, maka yang akan ditampilkan pada dot matrix display adalah nama Perusahaan Otobus tersebut ditambah dengan data waktu dan data ketinggian.
3.4. Perancangan Perangkat Keras
Perangkat keras yang digunakan didalam alat ini terdiri dari modul GPS
receiver, modul mikrokontroler dan moduldot matrix display.
3.4.1.Modul GPSreceiver
Modul GPS receiver dalam alat ini berfungsi untuk menangkap informasi data melalui sinyal yang dikirimkan oleh satelit GPS. Data informasi yang didapatkan nantinya akan diolah didalam mikrokontroler sehingga didapatkan data berupa titik koordinat lintang, titik koordinat bujur, data waktu, data ketinggian, dan data kecepatan.Data titik koordinat merupakan data paling vital pada alat ini, karena titik koordinat lintang dan bujur yang menentukan posisi dari bus tersebut berada.
Data informasi dari modul GPS receiver yang digunakan adalah berformat GPGGA dan GPRMC. Di dalam pesan kedua format ini terdapat data ketinggian pada format GPGGA sedangkan data titik koordinat, kecepatan, dan waktu berada dalam format GPRMC. Proses pengambilan data pada tiap format pesan yaitu mengambil nilai yang diperlukan dengan menghitung jumlah koma didalam format pesan itu. Sebagai contoh format GPRMC :
(6)
Pada format pesan GPRMC setelah koma pertama merupakan data waktu,bila dilihat dari contoh diatas berarti menunjukan waktu pukul 12:35:19. Data selanjutnya yang diperlukan untuk alat skripsi ini adalah titik koordinat. Setelah koma ketiga merupakan titik koordinat lintang. Selanjutnya setelah koma keempat , huruf N menunjukanNorth yang berarti utara. Sedangkan setalah koma kelima merupakan data titik koordinat bujur. Data selanjutnya setelah koma keenam adalah E menujukan East
yang berarti timur.
Saat data titik koordinat sudah diperoleh , baik lintang dan bujur , letak titik tersebut dibandingkan dengan ketentuan jika titik koordinat lintang berada pada posisi selatan maka nilai dari titik koordinat tersebut bernilai negatif sebaliknya jika titik koordinat lintang berada pada posisi utara maka nilainya positif. Sedangkan untuk titik koordinat bujur jika berada pada posisi timur maka nilai dari titik tersebut adalah positif sebaliknya jika berada pada posisi barat maka bernilai negatif. Langkah ini bertujuan untuk dapat mempermudah proses selanjutnya dalam menentukan batas batas daerah, selain itu juga menyelaraskan dengan penggunaan standart nilai titik koordinat yang digunakan GPS pada umumnya.
Proses koneksi modul GPS receiver dengan Arduino Mega2560 menggunakan komunikasi serial. Protokol yang digunakan dalam GPS receiver ini adalah NMEA yang berisi pesan informasi berformat GSV, RMC, GSA, GGA, GLL, VTG, dan TXT denganbaud rate9600.
Penempatan letak GPS receiver merupakan kunci utama dalam proses pengambilan data dari sinyal satelit. Seperti yang sudah diketahui, sinyal satelit dapat menembus material seperti kaca atau plastik namun tidak dengan bangunan, dibawah air, atau dibawah tanah. Maka penempatan GPS receiver yang paling efektif didalam bus yaitu pada dekat kaca depan atau dashboard depan pengemudi. Hal tersebut sangat membantu kelancaran GPSreceivermenangkap sinyal.
(7)
Modul GPS receiver yang digunakan pada alat ini adalah GPS Ublox Neo 6M. Berikut adalah gambaran dari GPS Ublox Neo 6M :
Gambar 3.3. GPS Ublox Neo 6M
Modul GPS Ublox Neo 6M memiliki spesifikasi sebagai berikut[5] :
Waktu yang dibutuhkan untuk menentukan posisi dari kondisi mati total (cold start) kurang dari 27 detik. Jika sudah dala keadaan hidup (hot start) waktu yang dibutuhkan untuk menentukan posisi kurang dari satu detik.
Sumber catu daya antara 3 5 volt.
Akurasi kecepatan : 0,1 meter per detik.
Akurasi penetapan lokasi GPS secara horizontal : 2,5 meter.
Akurasi arah (heading accuracy) : 0,5d.
Batas operasi : daya tarik maksimum 4 kali gravitasi, ketinggian maksimum 50 km, kecepatan maksimum 500 meter per detik (1800 km per jam).
Tabel 3.1. Konfigurasi Pin GPS Neo 6M
No.
PIN Nama I/O Desckripsi
1 Reserved I Reserved
2 SS_N I SPI Slave Select
3 TIMEPULSE O Timepulse(1PPS)
4 EXTINTO I External Interrupt Pin
(8)
6 USB_DP I/O Data USB
7 VDDUSB I Sumber data USB
8 Reserved Penggabungan perangkat keras manual Pin 8 dan 9 harus terhubung bersama
9 VCC_RF O Tegangan keluaran bagian RF Pin 8 dan 9
harus terhubung bersama-sama
10 GND I Ground
11 RF_IN I Masukan sinyal GPS
12 GND I Ground
13 GND I Ground
14 MOSI/CFG_COM0 O/I SPI MOSI / Konfigurasi Pin. Terputus jika tidak digunakan.
15 MISO/CFG_COM1 I SPI MISO / Konfigurasi Pin. Terputus jika tidak digunakan.
16 CFG_GPS0/SCK I Mode Power Konfigurasi Pin / SPI Clock. Terputus jika tidak digunakan
17 Reserved I Reserved
18 SDA2 I/O Data DDC
19 SCL2 I/O DDC Clock
20 TxD1 O SerialPort 1
21 RxD1 I SerialPort 1
22 V_BCKP I Sumber tegangan cadangan
23 VCC I Sumber tegangan
24 GND I Ground
Penjelasan pin yang digunakan pada skripsi ini adalah sebagai berikut :
1. VCC adalah pin input tegangan untuk modul GPS Neo 6M dengan besar 3.3 volt.
2. TxD1 adalah pin output dari modul GPS Neo 6M. Pin ini akan mengirimkan data data informasi yang diterima dari satelit GPS berupa data titik koordinat lintang , data titik koordinat bujur, data ketinggian, data waktu, dan data kecepatan.
3. RxD1 adalah pin input dari modul GPS Neo 6M. Pin ini menerima data informasi dari mikrokontroler.
(9)
3.4.2. Modul Mikrokontroler
Mikrokontroler adalah sebagai pusat sistem kendali dari keseluruhan alat yang digunakan. Pada skripsi ini mikrokontroler yang digunakan adalah Arduino Mega 2560.
Gambar 3.4. Arduino Mega 2560
Konfigurasi penggunaan pin/port mikrokontroler Arduino Mega 2560 dapat dilihat dalam tabel 3.2 dan skema board mikrokontroler dapat dilihat dalam gambar 3.4
Tabel 3.2. Konfigurasi Penggunaan Pin/Port Arduino Mega 2560
Pin Port Keterangan
PWM 6 A pada dot matrix
PWM 7 B pada dot matrix
PWM 8 SCLK pada dot matrix PWM 9 nOe pada dot matrix
C14 (TX) RX pada GPS
C15 (RX) TX pada GPS
D51 (MOSI) R pada dot matrix D52 (SCK) CLK pada dot matrix
(10)
Mikrokontroler ATmega 2560
Dot Matrix Display
nOe PWM
PWM PWM PWM
A B SCLK
SCK CLK
MOSI R
GND GND
GPS
VCC VCC
TX
TX RX
RX
GND GND
Gambar 3.5. Skematikboardmikrokontroler
Pada penentuan batas pada tiap daerah yang di lewati bus malam, penulis memerlukan bantuan peta elektronik yang dalam pembuatan alat ini menggunakan
Google Earth dan peta administrasi dari Pemerintah Kabupaten. Google Earth
digunakan untuk mengetahui titik koordinat, sedangkan peta administrasi dari Pemerintah Kabupaten digunakan untuk mengetahui batas batas wilayah kecamatan atau kotamadya. Setiap daerah memerlukan empat buah titik koordinat sebagai batas daerah. Titik tersebut adalah batas paling utara, batas paling selatan, batas paling barat, dan batas paling timur dari setiap daerah.
(11)
Gambar 3.7. Peta padaGoogle Earth
Setelah ditentukan empat buah titik koordinat sebagai batas daerah, selanjutnya dapat dilihat pada gambar 3.8. Keempat buah titik tersebut akan membentuk sebuah persegi yang dimana persegi tersebut adalah daerah yang dikehendaki.
Gambar 3.8. Penentuan batas daerah
3.4.3. ModulDot Matrix Display
Dot matrix merupakan susunan led yang disusun secara vertikal maupun horizontal yang dapat diatur hidup atau padamnya led tersebut, sehingga menghasilkan suatu tampilan atau karakter sesuai program yang dijalankan. Dot matrix display yang digunakan pada skripsi ini adalah dot matrix display P10. Mempunyai dimensi per modulnya panjang 32 cm dan lebar 16 cm. Dengan susunan led secara horizontal 32 buah led dan secara vertikal 16 buah led[10].
(12)
Gambar 3.9.Dot Matrix Display64×16
Dalam perancangan skripsi ini menggunakan dua buah module dot matrix display P10 yang disusun secara horizontal. Sehingga ukuran dimensi dot matrix display yang digunakan dalam skripsi ini mempunyai panjang 64 cm dan lebar 16 cm, dengan led yang disusun horizontal sebanyak 64 buah led dan yang vertikal sebanyak 16 buah led. Tampilan dari dot matrix display ini secara berturut - turut yaitu nama daerah yang dilalui, waktu, ketinggian, dan perkiraan waktu tiba. Informasi informasi tersebut akan ditampilkan secara bergeser dari sisi kanan ke sisi kiri. Hal tersebut dilakukan karena agar dapat memberi ruang informasi yang mempunyai karakter yang banyak, terutama nama daerah yang mempunyai nama yang panjang agar dapat ditampilkan semua tanpa harus menyingkat kata.
Dalam sekali tampilan yang berupa nama daerah, waktu, ketinggian, dan perkiraan waktu tiba alat ini mempunyai maksimal jumlah karakter yang dapat ditampilkan yaitu sebanyak 256 buah. Karakter tersebut diinput melalui program yang datanya sudah tersedia untuk nama daerah dan data lainnya dari GPS berupa ASCII. Program yang digunakan untuk menampilkan karakter karakter tersebut menggunakan bantuan library yang sudah tersedia pada Arduino. Data data yang akan ditampilkan dimasukan pada format data string, data tersebut akan dipanggil satu persatu sesuai urutan dari nama daerah sampai perkiraan waktu tiba.
Karakter ini akan berbentukfont Arial Blackpada saat ditampilkan, bantuanfont library ini menyediakan data font dalam bentuk Arial Black. Setiap karakter font tersebut mempunyai nilai yang nantinya akan menjadi patokan led yang akan menyala. Ukuran dari setiap karakter ini mempunyai tinggi 16 pixel dan lebar 10 pixel. Setelah diketahui banyaknya karakter dalam sebuah data string maka langkah selanjutnya
(13)
mencetak susunan karakter tersebut dengan cara bergeser dari sisi kanan ke sisi kiri dot matrix display. Langkah yang digunakan adalah menggeser tiap pixel sebuah karakter dengan mengurangi satu nilai dari nilai sebelumnya. Pengurangan nilai ini berpatokan pada sumbu x atau horizontal, karena sumbu x sisi paling kiri dot matrix display
mempunyai nilai nol. Pergeseran ini dilakukan sampai semua karakter dalam sebuah
stringmencapai sisi paling kiri tersebut.
(1)
6 USB_DP I/O Data USB
7 VDDUSB I Sumber data USB
8 Reserved Penggabungan perangkat keras manual Pin 8 dan 9 harus terhubung bersama
9 VCC_RF O Tegangan keluaran bagian RF Pin 8 dan 9
harus terhubung bersama-sama
10 GND I Ground
11 RF_IN I Masukan sinyal GPS
12 GND I Ground
13 GND I Ground
14 MOSI/CFG_COM0 O/I SPI MOSI / Konfigurasi Pin. Terputus jika tidak digunakan.
15 MISO/CFG_COM1 I SPI MISO / Konfigurasi Pin. Terputus jika tidak digunakan.
16 CFG_GPS0/SCK I Mode Power Konfigurasi Pin / SPI Clock. Terputus jika tidak digunakan
17 Reserved I Reserved
18 SDA2 I/O Data DDC
19 SCL2 I/O DDC Clock
20 TxD1 O SerialPort 1
21 RxD1 I SerialPort 1
22 V_BCKP I Sumber tegangan cadangan
23 VCC I Sumber tegangan
24 GND I Ground
Penjelasan pin yang digunakan pada skripsi ini adalah sebagai berikut :
1. VCC adalah pin input tegangan untuk modul GPS Neo 6M dengan besar 3.3 volt.
(2)
3.4.2. Modul Mikrokontroler
Mikrokontroler adalah sebagai pusat sistem kendali dari keseluruhan alat yang digunakan. Pada skripsi ini mikrokontroler yang digunakan adalah Arduino Mega 2560.
Gambar 3.4. Arduino Mega 2560
Konfigurasi penggunaan pin/port mikrokontroler Arduino Mega 2560 dapat dilihat dalam tabel 3.2 dan skema board mikrokontroler dapat dilihat dalam gambar 3.4
Tabel 3.2. Konfigurasi Penggunaan Pin/Port Arduino Mega 2560
Pin Port Keterangan
PWM 6 A pada dot matrix
PWM 7 B pada dot matrix
PWM 8 SCLK pada dot matrix PWM 9 nOe pada dot matrix
C14 (TX) RX pada GPS
C15 (RX) TX pada GPS
D51 (MOSI) R pada dot matrix D52 (SCK) CLK pada dot matrix
(3)
Mikrokontroler ATmega 2560 Dot Matrix Display nOe PWM PWM PWM PWM A B SCLK SCK CLK MOSI R GND GND GPS VCC VCC TX TX RX RX GND GND
Gambar 3.5. Skematikboardmikrokontroler
Pada penentuan batas pada tiap daerah yang di lewati bus malam, penulis memerlukan bantuan peta elektronik yang dalam pembuatan alat ini menggunakan
Google Earth dan peta administrasi dari Pemerintah Kabupaten. Google Earth
digunakan untuk mengetahui titik koordinat, sedangkan peta administrasi dari Pemerintah Kabupaten digunakan untuk mengetahui batas batas wilayah kecamatan atau kotamadya. Setiap daerah memerlukan empat buah titik koordinat sebagai batas daerah. Titik tersebut adalah batas paling utara, batas paling selatan, batas paling barat, dan batas paling timur dari setiap daerah.
(4)
Gambar 3.7. Peta padaGoogle Earth
Setelah ditentukan empat buah titik koordinat sebagai batas daerah, selanjutnya dapat dilihat pada gambar 3.8. Keempat buah titik tersebut akan membentuk sebuah persegi yang dimana persegi tersebut adalah daerah yang dikehendaki.
Gambar 3.8. Penentuan batas daerah
3.4.3. ModulDot Matrix Display
Dot matrix merupakan susunan led yang disusun secara vertikal maupun horizontal yang dapat diatur hidup atau padamnya led tersebut, sehingga menghasilkan suatu tampilan atau karakter sesuai program yang dijalankan. Dot matrix display yang digunakan pada skripsi ini adalah dot matrix display P10. Mempunyai dimensi per modulnya panjang 32 cm dan lebar 16 cm. Dengan susunan led secara horizontal 32
(5)
Gambar 3.9.Dot Matrix Display64×16
Dalam perancangan skripsi ini menggunakan dua buah module dot matrix display P10 yang disusun secara horizontal. Sehingga ukuran dimensi dot matrix display yang digunakan dalam skripsi ini mempunyai panjang 64 cm dan lebar 16 cm, dengan led yang disusun horizontal sebanyak 64 buah led dan yang vertikal sebanyak 16 buah led. Tampilan dari dot matrix display ini secara berturut - turut yaitu nama daerah yang dilalui, waktu, ketinggian, dan perkiraan waktu tiba. Informasi informasi tersebut akan ditampilkan secara bergeser dari sisi kanan ke sisi kiri. Hal tersebut dilakukan karena agar dapat memberi ruang informasi yang mempunyai karakter yang banyak, terutama nama daerah yang mempunyai nama yang panjang agar dapat ditampilkan semua tanpa harus menyingkat kata.
Dalam sekali tampilan yang berupa nama daerah, waktu, ketinggian, dan perkiraan waktu tiba alat ini mempunyai maksimal jumlah karakter yang dapat ditampilkan yaitu sebanyak 256 buah. Karakter tersebut diinput melalui program yang datanya sudah tersedia untuk nama daerah dan data lainnya dari GPS berupa ASCII. Program yang digunakan untuk menampilkan karakter karakter tersebut menggunakan bantuan library yang sudah tersedia pada Arduino. Data data yang akan ditampilkan
(6)
mencetak susunan karakter tersebut dengan cara bergeser dari sisi kanan ke sisi kiri dot matrix display. Langkah yang digunakan adalah menggeser tiap pixel sebuah karakter dengan mengurangi satu nilai dari nilai sebelumnya. Pengurangan nilai ini berpatokan pada sumbu x atau horizontal, karena sumbu x sisi paling kiri dot matrix display
mempunyai nilai nol. Pergeseran ini dilakukan sampai semua karakter dalam sebuah
stringmencapai sisi paling kiri tersebut.