Institutional Repository | Satya Wacana Christian University: Perancangan Sistem Indikator Peringatan Berbelok dan Perlambatan pada Helm Sepeda Berbasis Android Smarthone T1 612010036 BAB II
BAB II
DASAR TEORI
Pada bab ini akan dijelaskan teori-teori penunjang yang diperlukan dalam
merancang dan merealisasikan skripsi ini. Bab ini dimulai dari pengenalan singkat dari
komponen elektronik utama yang dipakai. Yaitu yang pertama mikrokontroler, disini
dipakai mikrokontroler jenis Arduino Nano sebagai pengendali utama dari sistem,
kemudian modul Bluetooth HC-05 sebagai media komunikasi antara mikrokontroler
dengan android smartphone, sensor akselerometer digital ADXL 345, LED, dan baterai.
Selanjutnya adalah pembahasan tentang perangkat lunak yang dipakai untuk membuat
aplikasi user interface pada android smartphone.
2.1.
Arduino Nano
Arduino merupakan board sistem minimum mikrokontroler yang mempunyai
sifat open source. Board Arduino ini menggunakan IC mikrokontroler AVR yang
merupakan produk dari Atmel.
Pada Arduino Nano digunakan IC mikrokontroler ATmega 328 (Arduino Nano
3.x) atau ATmega 168 (Arduino Nano 2.x). Selain bersifat open source Arduino juga
memiliki bahasa pemprograman sendiri berupa bahasa C. Arduino Nano memiliki DC
power jack, port USB Mini-B yang digunakan untuk upload source code program ke
dalam mikrokontroler.[2]
Gambar 2.1. Arduino Nano tampak depan.
Gambar 2.2. Arduino Nano tambak belakang.
6
2.1.1. Spesifikasi
Arduino Nano ini memiliki beberapa spesifikasi, antara lain[2]:
1. Menggunakan mikrokontroler Atmel ATmega 168 atau ATmega
328.
2. Memiliki tegangan operasi sebesar 5 V.
3. Tegangan input yang direkomendasikan sebesar 7 – 12 V.
4. Limit tegangan input 6 – 20 V.
5. Memiliki 14 pin digital I/O (6 diantaranya mendukung output
PWM).
6. Memiliki 8 pin input analog.
7. Arus DC per pin I/O 40 mA.
2.1.2. Power
Arduino Nano dapat diberi power melalui koneksi Mini-B USB,
pada pin 30 dapat diberi power sebesar 6 – 20 volt, dan pada pin 27 dapat
diberi power sebesar 5 volt. Tegangan power tersebut dapat diperoleh
melalui koneksi USB, catu daya DC, atau dari baterai.
2.1.3. Input dan Output
Ada 14 pin digital pada Arduino Nano yang dapat digunakan
sebagai input ataupun output dengan menggunakan fungsi perintah
pinMode(), digitalWrite(), digitalRead(). Input/output ini bekerja pada
tegangan 5 V. Setiap pinnya dapat menghasilkan dan menerima arus
maksimal sebesar 40 mA.
2.2.
Modul Bluetooth HC-05
Pada perancangan skripsi ini dibutuhkan koneksi antara android smartphone
dengan mikrokontroler secara nirkabel, maka digunakan media Bluetooth sebagai
sarana komunikasi.
Modul Bluetooth yang digunakan adalah tipe HC-05. Modul Bluetooth HC-05
merupakan modul Bluetooth yang dapat diatur sebagai master atau slave. Mode master
7
adalah mode dimana Bluetooth dapat berfungsi sebagai pengirim dan penerima data,
sedang mode slave Bluetooth hanya dapat berfungsi sebagai penerima saja.
Modul Bluetooth tipe HC-05 ini memiliki beberapa spesifikasi antara lain
adalah[3]:
1. Memakai Bluetooth Chip dengan standar ver 2.0.
2. Menggunakan tegangan rendah sebesar 3,3 volt.
3. Dimensi: 28 mm × 15 mm × 2,35 mm.
4. Jangkauan 10 meter.
Gambar 2.3. Modul Bluetooth HC-05.
2.3.
Sensor Akselerometer Digital ADXL 345
Dalam perancangan dan pembuatan skripsi ini akan digunakan sensor
akselerometer sebagai pendeteksi percepatan translasi. Yang kemudian percepatan
translasi yang terukur akan diolah, jika mengalami perlambatan akan menyalakan LED
indikator.
Untuk keperluan tersebut maka akan digunakan sensor akselerometer digital tipe
ADXL 345. Sensor ini bisa mengukur percepatan konstan seperti percepatan gravitasi
bumi ataupun percepatan gerak translasi, dan mampu mengukur percepatan tersebut
pada tiga sumbu yaitu sumbu x, y, dan z. Sensor akselerometer digital ADXL 345 ini
memiliki jangkauan pengukuran yang dapat diatur oleh pengguna dengan jangkauan
antara 2 g sampai 16 g. Satuan g merupakan satuan dari percepatan gravitasi bumi,
dimana 1 g adalah 9.8 m/s2 . Sensor ADXL 345 ini dapat diakses melalui antar muka
I2C ataupun SPI [4].
8
Berikut ini akan dijelaskan mengenai sumbu pengukuran dari sensor ADXL 345
yaitu sumbu x, y, dan z yang akan ditunjukkan pada Gambar 2.4. Kemudian akan
dijelaskan mengenai keluaran data dari setiap sumbu sensor tersebut yang ditunjukan
pada Gambar 2.5.
Gambar 2.4. Sumbu sensor akselerometer digital ADXL 345.
Gambar 2.5. Keluaran data dari sensor akselerometer ADXL 345 pada setiap sumbu
terhadap percepatan gravitasi.
Tampak seperti pada Gambar 2.5, untuk mendapatkan nilai data pengukuran
yang positif, maka arah percepatan gravitasi berlawanan dengan arah sumbu positif dari
sensor [5].
Gambar 2.6. Konfigurasi pin akselerometer ADXL 345.
9
Tabel 2.1. Penjelasan pin akselerometer ADXL 345.
Nomor
Pin
Nama Pin
Fungsi dari Pin
1
2
3
4
5
6
VDD I/O
GND
Reserved
GND
GND
VS
7
CS
8
9
10
INT1
INT2
NC
11
Reserved
12
SDO/ALT
ADDR
Sumber daya pin I/O
Pin terhubung ke ground
Dihubungkan ke VS atau tidak terkoneksi
Pin terhubung ke ground
Pin terhubung ke ground
Sumber daya sensor
Pemilihan mode komunikasi
1: mode I²C
0: mode SPI
Interap output 1
Interap output 2
Not connected
Dihubungkan ke GND atau tidak
terkoneksi
Output data seriat untuk komunikasi SPI
Alternative alamat untuk komunikasi I²C
13
SDA/SDI/SDIO
Data serial komunikasi I²C / input data
serial SPI-4 wire/input dan output serial
data SPI-3 wire
14
SCL/SCLK
Pulsa komunikasi serial.
SCI untuk I²C, SCLK untuk SPI
Dalam menggunakan sensor akselerometer digital ADXL 345 ini, sangat penting
untuk mengetahui spesifikasi dan karakteristik dari sensor ini. Beberapa parameter
penting dari ADXL 345 antara lain resolusi, sensitivitas, serta tegangan operasional
sensor.
Tabel
2.2
menjelaskan spesifikasi
serta
parameter-parameter
sensor
akselerometer digital ADXL 345.
Tabel 2.2. Spesifikasi Akselerometer Digital ADXL 345
Parameter
Jangkaun
pengukuran
Kondisi Pengujian
Min
dipilih user
2
Resolusi
2, full resolution
10
Typ
10
Max
Satuan
16
g
Bits
4g, full resolution
11
Bits
8g, full resolution
12
Bits
16g, full resolution
13
Bits
2, 10-bits resolution
230
256
282
LSB/g
4g, 10-bits resolution
115
128
141
LSB/g
8g, 10-bits resolution
57
64
71
LSB/g
16g, 10-bits resolution
29
32
35
LSB/g
2, 10-bits resolution
3.5
3.9
4.3
mg/LSB
4g, 10-bits resolution
7.1
7.8
8.7
mg/LSB
8g, 10-bits resolution
14.1
15.6
17.5
mg/LSB
16g, 10-bits resolution
28.6
31.2
34.5
mg/LSB
Tegangan
pengoperasian (Vs)
2
2.5
3.6
V
Tegangan pin I/O
(Vdd I/O)
1.7
1.8
Vs
V
Sensitivitas
Scale Factor
I2C Address
ALT ADDRESS = VDD
0x1D
heksa
ALT ADDRESS = GND
0x53
heksa
Terlihat dari Tabel 2.2, akselerometer ADXL 345 memiliki jangkauan
pengukuran antara 2 g sampai 16 g dengan resolusi 10 – 13 bit. Pemilihan resolusi ini
perlu memperhatikan sensitivitas dan scale factor. Misalkan dipilih jangkauan
pengukuran 2 g, maka sensor akan memberikan nilai antara 230 – 282 pada setiap
sumbunya. Begitu pula dalam pemilihan resolusi yang lain. Jadi jika diinginkan untuk
mengukur percepatan yang tinggi harus dipilih skala yang tinggi, dan sebaliknya.
Idealnya sensor akan memberikan nilai typical sensitivitas untuk setiap skala.
Namun tidak bisa dijamin sensor ADXL 345 akan memberikan nilai yang ideal di setiap
sumbunya, dan tidak bisa dijamin pula pada ketiga sumbunya akan memberikan nilai
sensitivitas yang sama. Sehingga jika diperlukan sensor bisa dikalibrasi lebih lanjut.
11
2.4.
Light-Emitting Diode (LED).
LED merupakan suatu komponen elektronika yang dapat memancarkan cahaya
monokromatik saat diberikan tegangan. Seperti namanya light-emiting diode, LED
adalah komponen berupa diode yang terbuat dari bahan semikonduktor. Warna yang
dipancarkan tergantung dari bahan semikonduktor yang dipakai untuk membuatnya.
Dan karena tidak seperti lampu pijar yang memerlukan pembakaran filament, maka
LED tidak menimbulkan panas dalam menghasilkan cahaya.[6]
Pada skripsi ini LED digunakan sebagai lampu indikator yang terpasang pada
helm, yang berfungsi antara lain sebagai indikator perlambatan, sein kiri, sein kanan,
dan lampu depan.
Gambar 2.7. LED.
2.5.
Baterai.
Karena pada perancangan dan pembuatan skripsi kali ini akan dibuat sebuah alat
yang portable maka akan digunakan baterai untuk menyuplai tegangan pada
mikrokontroler, sensor dan aktuator. Baterai yang dipakai adalah baterai sekunder
(baterai yang dapat diisi ulang) yang memiliki tegangan sebesar 5 volt, yaitu besar
tegangan yang dibutuhkan oleh mikrokontroler, sensor, dan modul Bluetooth untuk
bekerja.
2.6.
Eclipse IDE
Eclipse merupakan sebuah IDE (Integrated Development Environment) yang
digunakan dalam pengembangan perangkat lunak dan dapat dijalankan pada semua
platform/OS. Berikut akan dijelaskan beberapa sifat dari Eclipse:[3]
12
1. Multi-platform. Target sistem operasi Eclipse antara lain mencakup Microsoft
Windows, Linux, Solaris, AIX, HP-UX, dan Mac OS X.
2. Multi-language. Eclipse dikembangkan dengan bahasa pemprograman Java,
tetapi
eclipse
mendukung
pengembangan
aplikasi
berbasis
bahasa
pemprograman lain seperti C++, Cobol Pyton, Perl, PHP, dan lain
sebagainya.
3. Multi-role. Selain sebagai IDE untuk pengembangan apliksi. Eclipse juda
digunakan dalam pengembangan perangkat lunak seperti dokumentasi, tes
perangkat lunak, dan pengembangan web.
13
DASAR TEORI
Pada bab ini akan dijelaskan teori-teori penunjang yang diperlukan dalam
merancang dan merealisasikan skripsi ini. Bab ini dimulai dari pengenalan singkat dari
komponen elektronik utama yang dipakai. Yaitu yang pertama mikrokontroler, disini
dipakai mikrokontroler jenis Arduino Nano sebagai pengendali utama dari sistem,
kemudian modul Bluetooth HC-05 sebagai media komunikasi antara mikrokontroler
dengan android smartphone, sensor akselerometer digital ADXL 345, LED, dan baterai.
Selanjutnya adalah pembahasan tentang perangkat lunak yang dipakai untuk membuat
aplikasi user interface pada android smartphone.
2.1.
Arduino Nano
Arduino merupakan board sistem minimum mikrokontroler yang mempunyai
sifat open source. Board Arduino ini menggunakan IC mikrokontroler AVR yang
merupakan produk dari Atmel.
Pada Arduino Nano digunakan IC mikrokontroler ATmega 328 (Arduino Nano
3.x) atau ATmega 168 (Arduino Nano 2.x). Selain bersifat open source Arduino juga
memiliki bahasa pemprograman sendiri berupa bahasa C. Arduino Nano memiliki DC
power jack, port USB Mini-B yang digunakan untuk upload source code program ke
dalam mikrokontroler.[2]
Gambar 2.1. Arduino Nano tampak depan.
Gambar 2.2. Arduino Nano tambak belakang.
6
2.1.1. Spesifikasi
Arduino Nano ini memiliki beberapa spesifikasi, antara lain[2]:
1. Menggunakan mikrokontroler Atmel ATmega 168 atau ATmega
328.
2. Memiliki tegangan operasi sebesar 5 V.
3. Tegangan input yang direkomendasikan sebesar 7 – 12 V.
4. Limit tegangan input 6 – 20 V.
5. Memiliki 14 pin digital I/O (6 diantaranya mendukung output
PWM).
6. Memiliki 8 pin input analog.
7. Arus DC per pin I/O 40 mA.
2.1.2. Power
Arduino Nano dapat diberi power melalui koneksi Mini-B USB,
pada pin 30 dapat diberi power sebesar 6 – 20 volt, dan pada pin 27 dapat
diberi power sebesar 5 volt. Tegangan power tersebut dapat diperoleh
melalui koneksi USB, catu daya DC, atau dari baterai.
2.1.3. Input dan Output
Ada 14 pin digital pada Arduino Nano yang dapat digunakan
sebagai input ataupun output dengan menggunakan fungsi perintah
pinMode(), digitalWrite(), digitalRead(). Input/output ini bekerja pada
tegangan 5 V. Setiap pinnya dapat menghasilkan dan menerima arus
maksimal sebesar 40 mA.
2.2.
Modul Bluetooth HC-05
Pada perancangan skripsi ini dibutuhkan koneksi antara android smartphone
dengan mikrokontroler secara nirkabel, maka digunakan media Bluetooth sebagai
sarana komunikasi.
Modul Bluetooth yang digunakan adalah tipe HC-05. Modul Bluetooth HC-05
merupakan modul Bluetooth yang dapat diatur sebagai master atau slave. Mode master
7
adalah mode dimana Bluetooth dapat berfungsi sebagai pengirim dan penerima data,
sedang mode slave Bluetooth hanya dapat berfungsi sebagai penerima saja.
Modul Bluetooth tipe HC-05 ini memiliki beberapa spesifikasi antara lain
adalah[3]:
1. Memakai Bluetooth Chip dengan standar ver 2.0.
2. Menggunakan tegangan rendah sebesar 3,3 volt.
3. Dimensi: 28 mm × 15 mm × 2,35 mm.
4. Jangkauan 10 meter.
Gambar 2.3. Modul Bluetooth HC-05.
2.3.
Sensor Akselerometer Digital ADXL 345
Dalam perancangan dan pembuatan skripsi ini akan digunakan sensor
akselerometer sebagai pendeteksi percepatan translasi. Yang kemudian percepatan
translasi yang terukur akan diolah, jika mengalami perlambatan akan menyalakan LED
indikator.
Untuk keperluan tersebut maka akan digunakan sensor akselerometer digital tipe
ADXL 345. Sensor ini bisa mengukur percepatan konstan seperti percepatan gravitasi
bumi ataupun percepatan gerak translasi, dan mampu mengukur percepatan tersebut
pada tiga sumbu yaitu sumbu x, y, dan z. Sensor akselerometer digital ADXL 345 ini
memiliki jangkauan pengukuran yang dapat diatur oleh pengguna dengan jangkauan
antara 2 g sampai 16 g. Satuan g merupakan satuan dari percepatan gravitasi bumi,
dimana 1 g adalah 9.8 m/s2 . Sensor ADXL 345 ini dapat diakses melalui antar muka
I2C ataupun SPI [4].
8
Berikut ini akan dijelaskan mengenai sumbu pengukuran dari sensor ADXL 345
yaitu sumbu x, y, dan z yang akan ditunjukkan pada Gambar 2.4. Kemudian akan
dijelaskan mengenai keluaran data dari setiap sumbu sensor tersebut yang ditunjukan
pada Gambar 2.5.
Gambar 2.4. Sumbu sensor akselerometer digital ADXL 345.
Gambar 2.5. Keluaran data dari sensor akselerometer ADXL 345 pada setiap sumbu
terhadap percepatan gravitasi.
Tampak seperti pada Gambar 2.5, untuk mendapatkan nilai data pengukuran
yang positif, maka arah percepatan gravitasi berlawanan dengan arah sumbu positif dari
sensor [5].
Gambar 2.6. Konfigurasi pin akselerometer ADXL 345.
9
Tabel 2.1. Penjelasan pin akselerometer ADXL 345.
Nomor
Pin
Nama Pin
Fungsi dari Pin
1
2
3
4
5
6
VDD I/O
GND
Reserved
GND
GND
VS
7
CS
8
9
10
INT1
INT2
NC
11
Reserved
12
SDO/ALT
ADDR
Sumber daya pin I/O
Pin terhubung ke ground
Dihubungkan ke VS atau tidak terkoneksi
Pin terhubung ke ground
Pin terhubung ke ground
Sumber daya sensor
Pemilihan mode komunikasi
1: mode I²C
0: mode SPI
Interap output 1
Interap output 2
Not connected
Dihubungkan ke GND atau tidak
terkoneksi
Output data seriat untuk komunikasi SPI
Alternative alamat untuk komunikasi I²C
13
SDA/SDI/SDIO
Data serial komunikasi I²C / input data
serial SPI-4 wire/input dan output serial
data SPI-3 wire
14
SCL/SCLK
Pulsa komunikasi serial.
SCI untuk I²C, SCLK untuk SPI
Dalam menggunakan sensor akselerometer digital ADXL 345 ini, sangat penting
untuk mengetahui spesifikasi dan karakteristik dari sensor ini. Beberapa parameter
penting dari ADXL 345 antara lain resolusi, sensitivitas, serta tegangan operasional
sensor.
Tabel
2.2
menjelaskan spesifikasi
serta
parameter-parameter
sensor
akselerometer digital ADXL 345.
Tabel 2.2. Spesifikasi Akselerometer Digital ADXL 345
Parameter
Jangkaun
pengukuran
Kondisi Pengujian
Min
dipilih user
2
Resolusi
2, full resolution
10
Typ
10
Max
Satuan
16
g
Bits
4g, full resolution
11
Bits
8g, full resolution
12
Bits
16g, full resolution
13
Bits
2, 10-bits resolution
230
256
282
LSB/g
4g, 10-bits resolution
115
128
141
LSB/g
8g, 10-bits resolution
57
64
71
LSB/g
16g, 10-bits resolution
29
32
35
LSB/g
2, 10-bits resolution
3.5
3.9
4.3
mg/LSB
4g, 10-bits resolution
7.1
7.8
8.7
mg/LSB
8g, 10-bits resolution
14.1
15.6
17.5
mg/LSB
16g, 10-bits resolution
28.6
31.2
34.5
mg/LSB
Tegangan
pengoperasian (Vs)
2
2.5
3.6
V
Tegangan pin I/O
(Vdd I/O)
1.7
1.8
Vs
V
Sensitivitas
Scale Factor
I2C Address
ALT ADDRESS = VDD
0x1D
heksa
ALT ADDRESS = GND
0x53
heksa
Terlihat dari Tabel 2.2, akselerometer ADXL 345 memiliki jangkauan
pengukuran antara 2 g sampai 16 g dengan resolusi 10 – 13 bit. Pemilihan resolusi ini
perlu memperhatikan sensitivitas dan scale factor. Misalkan dipilih jangkauan
pengukuran 2 g, maka sensor akan memberikan nilai antara 230 – 282 pada setiap
sumbunya. Begitu pula dalam pemilihan resolusi yang lain. Jadi jika diinginkan untuk
mengukur percepatan yang tinggi harus dipilih skala yang tinggi, dan sebaliknya.
Idealnya sensor akan memberikan nilai typical sensitivitas untuk setiap skala.
Namun tidak bisa dijamin sensor ADXL 345 akan memberikan nilai yang ideal di setiap
sumbunya, dan tidak bisa dijamin pula pada ketiga sumbunya akan memberikan nilai
sensitivitas yang sama. Sehingga jika diperlukan sensor bisa dikalibrasi lebih lanjut.
11
2.4.
Light-Emitting Diode (LED).
LED merupakan suatu komponen elektronika yang dapat memancarkan cahaya
monokromatik saat diberikan tegangan. Seperti namanya light-emiting diode, LED
adalah komponen berupa diode yang terbuat dari bahan semikonduktor. Warna yang
dipancarkan tergantung dari bahan semikonduktor yang dipakai untuk membuatnya.
Dan karena tidak seperti lampu pijar yang memerlukan pembakaran filament, maka
LED tidak menimbulkan panas dalam menghasilkan cahaya.[6]
Pada skripsi ini LED digunakan sebagai lampu indikator yang terpasang pada
helm, yang berfungsi antara lain sebagai indikator perlambatan, sein kiri, sein kanan,
dan lampu depan.
Gambar 2.7. LED.
2.5.
Baterai.
Karena pada perancangan dan pembuatan skripsi kali ini akan dibuat sebuah alat
yang portable maka akan digunakan baterai untuk menyuplai tegangan pada
mikrokontroler, sensor dan aktuator. Baterai yang dipakai adalah baterai sekunder
(baterai yang dapat diisi ulang) yang memiliki tegangan sebesar 5 volt, yaitu besar
tegangan yang dibutuhkan oleh mikrokontroler, sensor, dan modul Bluetooth untuk
bekerja.
2.6.
Eclipse IDE
Eclipse merupakan sebuah IDE (Integrated Development Environment) yang
digunakan dalam pengembangan perangkat lunak dan dapat dijalankan pada semua
platform/OS. Berikut akan dijelaskan beberapa sifat dari Eclipse:[3]
12
1. Multi-platform. Target sistem operasi Eclipse antara lain mencakup Microsoft
Windows, Linux, Solaris, AIX, HP-UX, dan Mac OS X.
2. Multi-language. Eclipse dikembangkan dengan bahasa pemprograman Java,
tetapi
eclipse
mendukung
pengembangan
aplikasi
berbasis
bahasa
pemprograman lain seperti C++, Cobol Pyton, Perl, PHP, dan lain
sebagainya.
3. Multi-role. Selain sebagai IDE untuk pengembangan apliksi. Eclipse juda
digunakan dalam pengembangan perangkat lunak seperti dokumentasi, tes
perangkat lunak, dan pengembangan web.
13