23
6 BAB II TINJAUAN PUSTAKA 2.1 HC-SR04 Ultrasonic Range Finder HC-SR04 merupakan sensor ultrasonik yang dapat digunakan untuk mengukur jarak antara penghalang dan sensor. Konfigurasi pin dan tampilan sensor HC-SR04 diperlihatkan pada Gambar 2.1. Gambar 2.1 Konfigurasi pin dan tampilan sensor ultrasonik HC-SR04 (http://www.accudiy.com/ download/HC-SR04_Manual.pdf , 2015) HC-SR04 memiliki 2 komponen utama sebagai penyusunnya yaitu ultrasonic transmitter dan ultrasonic receiver. Fungsi dari ultrasonic transmitter adalah memancarkan gelombang ultrasonik dengan frekuensi 40 KHz kemudian ultrasonic receiver menangkap hasil pantulan gelombang ultrasonik yang mengenai suatu objek. Waktu tempuh gelombang ultrasonik dari pemancar hingga sampai ke penerima sebanding dengan 2 kali jarak antara sensor dan bidang pantul seperti yang diperlihatkan pada Gambar 2.2 Gambar 2.2 Prinsip kerja HC-SR04 Prinsip pengukuran jarak menggunakan sensor ultrasonik HC-SR04 adalah, ketika pulsa trigger diberikan pada sensor, transmitter akan mulai memancarkan gelombang ultrasonik, pada saat yang sama sensor akan menghasilkan output TTL transisi naik menandakan sensor mulai menghitung waktu pengukuran, setelah receiver menerima

sensor jarak

Embed Size (px)

Citation preview

Page 1: sensor jarak

6

BAB II

TINJAUAN PUSTAKA

2.1 HC-SR04 Ultrasonic Range Finder

HC-SR04 merupakan sensor ultrasonik yang dapat digunakan untuk mengukur

jarak antara penghalang dan sensor. Konfigurasi pin dan tampilan sensor HC-SR04

diperlihatkan pada Gambar 2.1.

Gambar 2.1 Konfigurasi pin dan tampilan sensor ultrasonik HC-SR04 (http://www.accudiy.com/

download/HC-SR04_Manual.pdf, 2015)

HC-SR04 memiliki 2 komponen utama sebagai penyusunnya yaitu ultrasonic

transmitter dan ultrasonic receiver. Fungsi dari ultrasonic transmitter adalah

memancarkan gelombang ultrasonik dengan frekuensi 40 KHz kemudian ultrasonic

receiver menangkap hasil pantulan gelombang ultrasonik yang mengenai suatu objek.

Waktu tempuh gelombang ultrasonik dari pemancar hingga sampai ke penerima

sebanding dengan 2 kali jarak antara sensor dan bidang pantul seperti yang

diperlihatkan pada Gambar 2.2

Gambar 2.2 Prinsip kerja HC-SR04

Prinsip pengukuran jarak menggunakan sensor ultrasonik HC-SR04 adalah, ketika

pulsa trigger diberikan pada sensor, transmitter akan mulai memancarkan gelombang

ultrasonik, pada saat yang sama sensor akan menghasilkan output TTL transisi naik

menandakan sensor mulai menghitung waktu pengukuran, setelah receiver menerima

Page 2: sensor jarak

7

pantulan yang dihasilkan oleh suatu objek maka pengukuran waktu akan dihentikan

dengan menghasilkan output TTL transisi turun. Jika waktu pengukuran adalah t dan

kecepatan suara adalah 340 m/s, maka jarak antara sensor dengan objek dapat dihitung

dengan menggunakan Persamaan 2.1.

푠 = 푡 × ⁄ (2.1)

Dimana :

s = Jarak antara sensor dengan objek (m)

t = Waktu tempuh gelombang ultrasonik dari transmitter ke receiver (s)

Pemilihan HC-SR04 sebagai sensor jarak yang akan digunakan pada penelitian ini

karena memiliki fitur sebagai berikut; kinerja yang stabil, pengukuran jarak yang akurat

dengan ketelitian 0,3 cm, pengukuran maksimum dapat mencapai 4 meter dengan jarak

minimum 2 cm, ukuran yang ringkas dan dapat beroperasi pada level tegangan TTL

Prinsip pengoperasian sensor ultrasonik HC-SR04 adalah sebagai berikut ; awali

dengan memberikan pulsa Low (0) ketika modul mulai dioperasikan, kemudian berikan

pulsa High (1) pada trigger selama 10 μs sehingga modul mulai memancarkan 8

gelombang kotak dengan frekuensi 40 KHz, tunggu hingga transisi naik terjadi pada

output dan mulai perhitungan waktu hingga transisi turun terjadi, setelah itu gunakan

Persamaan 2.1 untuk mengukur jarak antara sensor dengan objek. Timing diagram

pengoperasian sensor ultrasonik HC-SR04 diperlihatkan pada Gambar 2.3

Gambar 2.3 Timing diagram pengoperasian sensor ultrasonik HC-SR04 (http://www.accudiy.com/

download/HC-SR04_Manual.pdf, 2015)

Page 3: sensor jarak

8

2.2 CMPS11 Tilt Compensated Magnetic Compass

CMPS11 merupakan sensor kompas generasi ke 3 yang diimbangi dengan sensor

kemiringan. Dalam sensor ini terkandung sebuah magnetometer 3 sumbu, sensor gyro 3

sumbu dan sebuah sensor percepatan 3 sumbu. Untuk mengurangi eror yang disebabkan

oleh kemiringan PCB maka digunakan sebuah Kalman Filter dalam mengkombinasikan

sensor gyro dan sensor percepatan, fitur ini cocok diterapkan pada kacamata tuna netra,

karena pergerakan kepala pengguna akan mengakibatkan kemiringan kompas menjadi

tidak selalu stabil. CMPS11 menghasilkan output berupa nilai dari 0-3599 desimal

untuk data 16 bit atau 0-255 desimal untuk data 8 bit yang mewakili 0°-359,9°,

sehingga mikrokontroller dengan lebar data 8 bit dapat digunakan dalam melakukan

perhitungan. Pada pengoperasiannya CMPS11 memerlukan sumber tegangan 3.6V

sampai 5V dan memerlukan arus 25 mA. Adapun tampilan sensor kompas CMPS11

diperlihatkan pada Gambar 2.4

Gambar 2.4 Tampilan fisik sensor kompas CMPS11 (http://www.robot-electronics.co.uk/htm/cmps11

doc.htm, 2015)

Salah satu mode yang disediakan untuk berkomunikasi dengan modul ini adalah

mode serial Universal Asynchronous Receiver/Transmitter (UART) yang juga dimiliki

oleh mikrokontroller AT89S52. Keterangan pin sensor kompas CMPS11 diperlihatkan

pada Gambar 2.5. Pengoperaian CMPS11 dengan mode UART dilakukan dengan

mengkoneksikan pin Mode ke ground

Gambar 2.5 Keterangan Masing-masing pin sensor kompas CMPS11(http://www.robot-electronics.co.

uk/htm/cmps11doc.htm, 2015)

Page 4: sensor jarak

9

Secara default baud-rate yang digunakan pada mode serial adalah 9600 bps, tanpa

parity dan dengan 2 stop bits. Level sinyal komunikasi serial yang digunakan adalah

3,6V sampai 5V. Perintah yang harus dikirim ke modul kompas CMPS11 untuk

memperoleh data yang diinginkan diperlihatkan pada Tabel 2.1.

Tabel 2.1 Perintah dan data yang diperoleh dalam komunikasi serial CMPS11 (http://www.robot-

electronics.co.uk/htm/cmps11ser.htm, 2015)

Perintah Nama Byte diperoleh Deskripsi data yang diperoleh

0x11 GET VERSION 1 Versi software CMPS11 0x12 GET ANGLE 8 BIT 1 Sudut sebagai byte tunggal 0-255

0x13 GET ANGLE 16 BIT 2 Sudut sebagai 2 byte 0-3599, byte tertinggi diperoleh pertama

0x14 GET PITCH 1 Sudut tanjakan ± 0-85° dengan Kalman filter

0x15 GET ROLL 1 Sudut kemiringan ± 0-85° dengan Kalman filter

0x16 GET PITCH NO KAL 1 Sudut tanjakan ± 0-85° tanpa Kalman filter

0x17 GET ROLL NO KAL 1 Sudut kemiringan ± 0-85° tanpa Kalman filter

0x19

GET MAG RAW

6

Data mentah untuk medan magnet, penerima 16 bit dengan data X High,X Low, Y High, Y Low, Z High, Z Low

0x20

GET ACCEL RAW

6

Data mentah untuk percepatan, penerima 16 bit dengan data X High,X Low, Y High, Y Low, Z High, Z Low

0x21 GET GYRO RAW

6 Data mentah gyro, penerima 16 bit dengan data X High,X Low, Y High, Y Low, Z High, Z Low

0x22 GET TEMP

2 Temperatur sebagai 2 byte, byte tertinggi dikirim di awal dengan resolusi 8LSB/°C

0x23 GET ALL

4 Sudut tertinggi, sudut terendah (0-3599), sudut tanjakan (± 0-85), sudut kemiringan (± 0-85)

0xF0 CALIBRATE BYTE 1 1 Tanda OK (0x55) 0xF5 CALIBRATE BYTE 2 1 Tanda OK (0x55)

0xF6 CALIBRATE BYTE 2 FULL 1 Tanda OK (0x55)

0xF7 CALIBRATE BYTE 2 FLAT 1 Tanda OK (0x55)

0xF8 CALIBRATE EXIT 1 Tanda OK (0x55) 0x6A RESTORE 1 1 Tanda OK (0x55)

Page 5: sensor jarak

10

0x7C RESTORE 2 1 Tanda OK (0x55) 0x81 RESTORE 3 1 Tanda OK (0x55) 0xA0 BAUD 19200 1 Tanda OK (0x55) 0xA1 BAUD 38400 1 Tanda OK (0x55)

Jika diperlukan sensor kompas CMPS11 dapat dikalibrasi untuk menambah

keakurasian sensor. Untuk mengkalibrasi sensor, letakkan sensor pada posisi horisontal,

kemudian kirimkan 3 kode perintah dalam format heksa secara berturut-turut 0xF0,

0xF5 dan kemudian 0xF6 untuk masuk ke mode kalibrasi, dengan catatan; pada saat

setelah mengirimkan setiap kode perintah, byte konfirmasi dari sensor perlu dibaca

terlebih dahulu sebelum mengirimkan kode perintah selanjutnya. Setelah hal ini

dilakukan maka LED akan padam, selanjutnya putar sensor kompas CMPS11 ke semua

arah dalam 3 dimensi yang berbeda. Jika keadaan maksimum yang baru untuk setiap

dimensi terdeteksi, maka LED akan berkedip. Jika LED tidak pernah berkedip keluarlah

dari kondisi kalibrasi dengan perintah 0xF8. Pastikan tidak terdapat benda logam yang

dapat menginduksikan medan magnet di sekitar kompas serta perlu diingat selama

melakukan kalibrasi sensor kompas CMPS11 harus diputar dengan perlahan.

Untuk mengembalikan kalibrasi standar yang telah dilakukan oleh pabrik,

kirimkan secara berturut-turtut 3 kode perintah 0x6A, 0x7C dan 0x81 (baca byte

konfirmasi dari sensor setelah mengirimkan masing-masing kode).

Untuk mengubah kecepatan transmisi data atau baud rate sensor kompas

CMPS11, maka dapat mengirim kode perintah 0xA0 untuk mengubah baud rate

menjadi 19200 bps dan kode perintah 0xA1 untuk mengubah baud rate menjadi 38400

bps. Setelah mengirimkan kode perintah, sensor akan merespon dengan mengrimkan

kode OK (0x55).

2.3 Chip-Corder Information Storage Device 1400 (ISD1400)

ISD 1400 pada penelitian ini digunakan untuk menyimpan informasi berupa suara

serta menghasilkan suara keluaran sesuai dengan alamat penyimpanan suara yang

ditentukan pada proses perekaman sebelumnya. ISD 1400 dapat dibagi menjadi 2 yaitu

ISD 1420 yang dapat menyimpan informasi suara selama 20 detik dan ISD 1416 selama

16 detik. Namun seri yang digunakan dalam penelitian ini adalah ISD1420 untuk

memperoleh durasi yang lebih panjang. Diagram blok dari ISD 1400 diperlihatkan pada

Gambar 2.6.

Page 6: sensor jarak

11

Gambar 2.6 Diagram blok chip-corder ISD 1400 (http://www.ee.mut.ac.th/datasheet/doc/ISD1400_A.

pdf, 2014)

Sesuai dengan diagram blok yang diperlihatkan pada Gambar 2.6 maka

konfigurasi pin ISD 1400 adalah seperti yang diperlihatkan pada Gambar 2.7

Gambar 2.7 Konfigurasi pin ISD 1400 (http://www.ee.mut.ac.th/datasheet/doc/ISD1400_A.pdf, 2014)

Penjelasan masing-masing pin ISD1400 yang diperlihatkan oleh Gambar 2.7

ditunjukkan pada Tabel 2.2

Tabel 2.2 Deskripsi masing-masing pin chip-corder ISD 1400 (http://www.ee.mut.ac. th/datasheet/doc/ ISD1400_A.pdf, 2014)

Nama Pin Nomor Pin Fungsi

A0-A7 1-6, 9, 10 Address Input : pin ini memiliki dua fungsi tergantung dari 2

alamat bit tertinggi atau MSB (Most Significant Bit). Jika

salah satu atau kedua MSB bernilai Low maka semua input

di intepretasikan sebagai pengalamatan bit dan digunakan

Page 7: sensor jarak

12

sebagai alamat awal untuk proses perekaman yang akan

berlangsung, Alamat yang diberikan dikunci oleh transisi

turun dari pin PLAYE, PLAYL atau REC.

Jika kedua MSB (A6 dan A7) bernlai High maka

pengalamatan pada inputnya akan dianggap sebaga mode

operasi khusus.

NC 7, 8, 11, 12 NC : tidak terhubung ( Not Conected )

VSSD,

VSSA

12, 13 Ground : Rangkaian analog dan digital yang terdapat di

dalam IC ISD 1420 menggunakan ground yang terpisah

untuk mengurangi noise.

SP+, SP- 14,15 Pin keluaran untuk speaker dengan impedansi 16 ohm

VCCA,

VCCD

16,28 Supply Voltage : ISD 1420 juga menggunakan koneksi yang

terpisah untuk rangkaian analog dan digital yang terdapat

dalam IC untuk mengurangi noise.

MIC 17 Microphone : pin ini perfungsi untuk mengirim sinyal suara

ke preamplifier yang terdapat di dalam chip perekeam ini.

Sebuah Automatic Gain Control (AGC) yang juga terdapat

dalam chip ini mengontrol penguatan tersebut dengan

rentang dari -15 dB sampai 24 dB.

MIC REF 18 Microphone Refrence : Masukan dari MIC REF merupakan

masukan minus (-) pada preamplifire yang digunakan oleh

pin MIC. Pin ini berguna untuk membatalkan noise yang

masuk atau penolakan terhadap mode diam yang berada

dibawah referensi ke ISD 1400

AGC 19 Automatic Gain Control (AGC) : AGC mengatur penguatan

dari preamplifire secara dinamis, untuk mengimbangi sinyal

masukan dari mikrofon yang memiliki level masukan

dengan jangkauan yang besar

ANA IN 20 Pin ini berfungsi untuk mengirim sinyal yang diperoleh ke

chip guna direkam. Untuk input yang berasal dari mikrofon

ANA OUT harus disambungkan ke ANA IN melalui sebuah

kapasitor external.

Page 8: sensor jarak

13

ANA

OUT

21 Analog Output : Pin ini menghasilkan keluaran yang

diperoleh dari output preamplifier

PLAYL 23 Playback, Level Activated : Ketika masukan untuk pin ini

ditahan pada logika LOW, pemutaran suara dimulai hingga

pin ini dikembalikan ke logika HIGH atau ketika pnanda

EOM dideteksi.

PLAYE 24 Playback, Edge Activated : ketika pin ini diberikan transisi

turun (dari logika HIGH ke LOW), pemutaran suara dimulai.

Pengembalian pin ini ke logika HIGH tidak akan

menghentikan pemutaran suara yang sedang berlangsung.

Proses pemutaran akan berhenti ketika penanda EOM

dicapai.

RECLED 25 Record LED : Keluaran dari pin ini bernilai LOW selama

proses perekaman. Pin ini juga sewaktu-waktu bernilai LOW

ketika EOM (End-Of-Message) dicapai saat proses

pemutaran berlangsung.

XCLK 26 External Clock : Pin ini dapat dihubungkan ke ground jika

ingin menggunakan internal clock yang sudah terdapat

dalam ISD 1420. Namun jika mengininkan presisi yang

lebih baik dapat menggunakan external clock dan

dihubungkan ke pin ini. Sample rate dari external clock

yang harus digunakan dapat dilihat pada datasheet di

Lampiran

REC 27 Record input : Dengan memberikan logika LOW pada pin

ini, maka proses perekaman segera dimulai. Proses

perekaman berlangsug selama Logika LOW ditahan pada pin

ini dan akan berakhir ketika dikembalikan ke logika HIGH

atau ruang memori yang tersedia sudah terisi penuh. Pin ini

lebih diprioritaskan dibanding PLAYL dan PLAYE

sehingga proses pemutaran akan berakhir kerika proses

perekaman dimulai.

Page 9: sensor jarak

14

Pengaplikasian chip corder ISD 1400 dalam proses perekaman dan pemutaran

suara harus memperhatikan timing diagram yang disediakan untuk berkomunikasi

dengan IC tersebut, sehingga suara yang direkam dapat tersimpan dengan sempurna

pada chip dan suara yang dikeluarkan sesuai dengan kehendak . Timing diagram untuk

proses perekaman suara dperlihatkan pada Gambar 2.8

Gambar 2.8 Timing diagram proses perekaman suara dengan ISD1400 (http://www.ee.mut.ac.th/

datasheet/doc/ISD1400_A.pdf, 2014)

Sedangkan pada proses pemutaran (playback) dengan atau tanpa menggunakan

program perlu memperhatikan timing diagram yang diperlihatkan pada Gambar 2.9.

Gambar 2.9 Timing diagram proses pemutaran suara dengan ISD1400 (http://www.ee.mut.ac.th/

datasheet/doc/ISD1400_A.pdf, 2014)

Keterangan simbol-simbol yang terdapat pada Timing diagram proses perekaman

dan pemutaran suara menggunakan ISD1420 driperlihatkan pada Tabel 2.3

Page 10: sensor jarak

15

Tabel 2.3 Data timing diagram proses perekaman dan pemutaran suara menggunakan ISD 1420 (http://www.ee.mut.ac.th/ datasheet/doc/ISD1400_A.pdf, 2014)

Symbol Characteristic Min Typ Max Unit TREC Record duration 20 - - Sec TPLAY Playback duration 20 - - TLED1 RECLED on delay - 5 -

msec

TLED2 RECLED off delay 40 48,6 110 TRUPD Record power up delay - 32 - TRPDD Record power down delay - 32 - TPPUD Play power up delay - 32 - TPPDD Play power down delay - 8,1 - TEOM EOM Pulse width - 15,625 - TSET Address setup time 300 - - nsec THOLD Address hold time 0 - -

2.4 Mikrokontroler AT89S52

AT89S52 merupakan seri mikrokontroler MCS-51 yang memiliki kapasitas

penyimpanan flash sebesar 8KB. Pinout dan instruksi pemrograman yang disediakan

pada mikrokontroler ini memiliki kesesuaian dengan standar 80C51. Penanaman dan

penghapusan program ke dalam memori flash dapat dilakukan hingga 10.000 kali.

Selain harga yang rendah, pemilihan AT89S52 sebagai basis kontrol pada

penelitian ini adalah karena memiliki fitur standar yang cukup menunjang diantaranya ;

Random Access Memory (RAM) sebesar 256 byte, 32 jalur input/output (I/O), Pewaktu

Wacthdog, dua buah data pointer, tiga buah timer/counter berukuran 16 bit, memiliki

fitur interupsi 6 vektor dan 2 level, port serial dengan fitur komunikasi full-duplex serta

memiliki osilator dan rangkaian pewaktu internal. Adapun konfigurasi pinout dari

mikrokontroler AT89S52 diperlihatkan pada Gambar 2.10.

Gambar 2.10 Konfigurasi pinout mikrokontroler AT89S52 (www.atmel.com/images/doc1919.pdf,

2015)

Page 11: sensor jarak

16

Adapun fungsi dari masing-masing pinout mikrokontroler AT89S52 adalah;

1. VCC : Input tegangan Catu untuk mengaktifkan mikrokontroler AT89S52.

2. GND : Ground

3. Port 0 : Port 0 merupakan jalur komunikasi dua arah input dan output 8 bit yang

tidak memiliki pull-up internal, sehingga jika menulis logika 1 (High) ke port 0,

port ini dapat digunakan sebagai masukan dengan impedansi tinggi. Port 0 juga

dikonfigurasikan sebagai 8 bit alamat terbawah saat digunakan untuk mengakses

program dan data memori eksternal.

4. Port 1: Port 1 merupakan jalur komunikasi dua arah 8 bit yang memiliki pull-up

internal sehingga ketika menulis logika 1 ke port 1 akan dihasilkan tegangan

dengan nilai 1, keadaan ini dapat digunakan sebagai masukan dengan memberi

logika low secara eksternal sehingga mengubah keadaan 1 menjadi keadaan 0

(Low) dan dapat dibaca oleh program. Sebagai tambahan P1.0 dan P1.1 dapat

dikonfigurasikan menjadi timer / counter 2 seperti pada Tabel 2.4

Tabel 2.4 Fungsi alternatif Port 1 AT89S52 (www.atmel.com/images/doc1919.pdf, 2015)

Port Pin Fungsi Alternatif P1.0 T2 (penghitung masukan eksternal untuk Timer/Counter 2) dan dapat

berfungsi sebagai pewaktu P1.1 T2EX (pengontrol arah dan penangkap triger untuk Timer/Counter 2) P1.5 MOSI (digunakan pada saat pemrograman chip) P1.6 MISO (digunakan pada saat pemrograman chip) P1.7 SCK (digunakan pada saat pemrograman chip)

5. Port 2 : Port 2 merupakan komunikasi 2 arah I/O dengan pull-up internal. Sama

halnya dengan port 1, port 2 dapat digunakan sebagai masukan dengan

menuliskan logika 1. Port 2 juga disediakan untuk keperluan pembacaan program

dan memori external. Port 2 menjadi byte tertinggi diatas Port 1 pada saat

mengakses memori dan program eksternal.

6. Port 3 : Port 3 merupakan jalur komunikasi 2 arah I/O dengan pull-up internal.

Sama halnya dengan port 1, penulisan logika 1 mengakibatkan port 3 dapat

berfungsi sebagai masukan. Port 3 juga menyediakan fungsi alternatif lain, yaitu

menjadi jalur beberapa fitur khusus yang dimiki oleh mikrokontroler AT89S52

seperti yang diperlihatkan pada Tabel 2.5.

Page 12: sensor jarak

17

Tabel 2.5 Fungsi alternatif Port 3 AT89S52 (www.atmel.com/images/doc1919 .pdf, 2015)

Port Pin Fungsi alternatif P3.0 RXD (port masukan pada komunikasi serial) P3.1 TXD (port eluaran pada komunikasi serial) P3.2 INT0 (Interupsi eksternal 0) P3.3 INT1 (Interupsi eksternal 1) P3.4 T0 (Masukan eksternal Timer 0) P3.5 T1 (Masukan eksternal Timer 1) P3.6 WR (strobe penulisan untuk data memori eksternal) P3.7 RD (strobe pembacaan untuk data memori eksternal)

7. RST : RST merupakan masukan untuk perintah reset. Pemberian logika 1 pada pin

ini selama 2 siklus mesin ketika osilator masih berjalan akan mereset pembacaan

program.

8. ALE/PROG : Address Lactch Enable (ALE). Selama pengaksesan memori

eksternal ALE menghasilkan pulsa keluaran untuk mengunci alamat byte

terendah. Pin ini juga berfungsi sebagai penerima masukan pulsa program

(PROG) saat pemrograman flash. Pada operasi normal, ALE menghasilkan pulsa

dengan kecepatan konstan sebesar 1/6 dari frekuensi osilator yang digunakan.

9. PSEN : Program Store Enable (PSEN) merupakan strobe pembacaan untuk

program memori eksternal. Ketika AT89S52 mengeksekusi kode dari memori

eksternal, PSEN diaktifkan dua kali setiap siklus mesin.

10. EA/VPP : External Acces Enable (EA) harus dihubungkan langsung ke ground

jika mikrokontroler AT89S52 digunakan untuk mengambil kode dari memori

eksternal pada alamat awal 0000H sampai FFFFH. Sedangkan untuk

mengeksekusi program pada memori internal EA harus dihubungkan langsung ke

VCC.

11. XTAL1 : Merupakan pin masukan untuk osilator dan pewaktu internal.

12. XTAL2 : Merupakan pin keluaran untuk osilator dan pewaktu internal.

2.5 Interupsi

Salah satu fitur yang dimanfaatkan dari mikrokontroler AT89S52 adalah interupsi.

Interupsi merupakan sebuah proses yang dilakukan ketika ada permintaan dalam

pemanggilan interupsi tersebut. Pada saat interupsi dipanggil proses normal akan

dihentikan sementara selama proses interupsi dijalankan, (Pascal dalam Nugroho, 2010)

Page 13: sensor jarak

18

Mikrokontroller AT89S52 menyediakan 6 vektor interupsi yang berbeda,

diantaranya ; 2 buah eksternal interupsi yaitu INT1 dan INT0, 3 buah interupsi Timer

yaitu timer 1, 2 dan 3, serta sebuah interupsi port serial. Masing-masing interupsi dapat

diaktifkan dan dipadamkan secara tersendiri dengan mengatur setiap bit pada Special

Function Register (SFR) Interrupt Enable (IE). Pada register IE juga terdapat sebuah bit

EA yang berfungsi untuk mengaktifkan atau memadamkan keseluruhan interupsi yang

di set. Isi dari SFR IE diperlihatkan pada Tabel 2.6

Tabel 2.6 Isi SFR IE AT89S52(www.atmel.com/images/doc1919.pdf, 2015)

Bit Ke- Simbol Fungsi 7 EA Memadamkan keseluruhan interupsi. Jika EA = 0, semua interupsi

padam. Jika EA = 1, interupsi yang di set akan aktif 6 - Dalam proses pengembangan untuk produk AT89 berikutnya 5 ET2 Bit untuk mengaktifkan interupsi Timer 2 4 ES Bit untuk mengaktifkan interupsi port serial 3 ET1 Bit untuk mengaktifkan interupsi Timer 1 2 EX1 Bit untuk mengaktifkan interupsi eksternal 1 1 ET0 Bit untuk mengaktifkan interupsi Timer 0 0 EX0 Bit Untuk mengaktifkan interupsi eksternal 0

Pada penelitian ini digunakan dua buah interupsi yaitu interupsi Timer 0 dan

interupsi port serial dengan baud rate dihasilkan oleh Timer 1. Timer 0 dan Timer 1

pada AT89S52 dapat diatur untuk bekerja sebagai salah satu dari 4 mode yang tersedia

diantaranya ; mode 0, mode 1, mode 2 dan mode 3.

Mode 0 merupakan mode pencacah 13 bit, dimana TL dianggap sebagai counter 5

bit dan TH dianggap sebagai counter 8 bit. Limpahan dari TL digunakan untuk

menaikkan hitungan pada TH, kemudian limpahan pada TH digunakan untuk men-set

Timer Flag (TF) sehingga interupsi dipanggil

Mode 1 merupakan mode pencacah 16 bit, dimana TL dianggap sebagai counter 8

bit dan TH dianggap sebagai counter 8 bit. Cara kerja dari mode ini adalah sama dengan

Mode 0.

Mode 2 merupakan mode pencacah auto-reload. Pada mode ini TL dan TH

dianggap sebagai counter 8 bit. Pencacahan dilakukan hanya pada TL, dan

menggunakan limpahannya untuk men-set TF. Pada saat yang sama limpahan yang

terjadi pada TL mengakibatkan isi dari TH dimuat ke TL.

Page 14: sensor jarak

19

Mode 3 pada Timer 0 dan Timer 1 memiliki fungsi yang berbeda. Pada Timer 0,

mode 3 mengakibatkan TL0 dan TH0 beroperasi sebagai timer 8 bit yang berbeda,

mode ini disediakan untuk pengaplikasian yang membutuhkan 8 bit Timer/Counter

tambahan. Sedangkan pada Timer 1, mode 3 mengakibatkan Timer 1 dihentikan dan

menahan hitungannya.

2.6 Universal Asynchronous Receiver/Transmitter (UART)

Untuk berkomunikasi dengan modul kompas CMPS 11 maka dimanfaatkan fitur

UART yang dimiliki oleh mikrokontroler AT89S52. UART merupakan media

komunikasi yang digunakan untuk berkomunikasi antar perangkat yang memiliki CPU.

UART dapat melakukan konversi data paralel ke serial pada perangkat pengirim data

(transmitter) dan konversi data serial ke paralel pada perangkat penerima data

(receiver).

Dalam komunikasi serial antar perangkat terdapat parameter yang sangat penting

untuk diperhatikan yaitu Baud rate. Baud rate merupakan bilangan yang menunjukkan

jumlah bit yang dikirim per satu detik atau bit per second (bps). Baud rate standar yang

digunakan diantaranya 110, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 38400,

56000, 115200, 128000, dan 26500 (Setiawan, S, 2006). Baud rate antar perangkat yang

menggunakan komunikasi serial UART harus memiliki nilai yang sama, jika tidak

pengiriman data akan gagal atau data menjadi rusak.

Mikrokontroler AT89S52 menyediakan fasilitas UART dengan 4 piliham mode

diantaranya:

1. Mode 0 : Pada mode ini serial data masuk dan keluar melalui RXD pin. TXD

berfungsi sebagai penghasil shift clock. Bit yang ditransmisikan berjumlah 8 dan

bit terendah (LSB) dikirim paling awal. Baud rate pada mode ini ditetapkan

sebesar 1/12 dari frekuensi osilator.

2. Mode 1 : Pada mode ini 10 bit ditransmisikan melalui pin TXD atau diterima

melalui pin RXD. Urutan pengiriman yang dilakukan adalah; diawali dengan

start bit (0), 8 data bit (LSB dikirim terlebih dahulu), dan sebuah stop bit (1).

Baud-rate pada mode 1 dapat diatur. Timing diagram UART pada mode 1

dapat dilihat pada Gambar 2.11

Page 15: sensor jarak

20

Gambar 2.11 Timing diagram UART mode 1 pada AT89S52 (http://www.atmel.com/images/

doc4316.pdf, 2015)

3. Mode 2 : Pada mode 2, 11 bit dikirim melalui pin TXD atau diterima melalui pin

RXD. Urutan pengiriman data yang dilakukan adalah; diawali dengan start bit

(0), 8 data bit (LSB dikirim terlebih dahulu), data bit ke-9 yang dapat diprogram

dan sebuah stop bit (1). Pada transmitter data bit ke-9 merupakan Transmitter

bit 8 (TB8) pada Serial Control Register (SCON) yang dapat diisi dengan nilai

0 atau 1. Pada receiver data bit ke-9 masuk ke Receiver Bit 8 (RB8) pada SCON

dan stop bit diabaikan. Baud rate dapat diprogram menjadi 1/32 atau 1/64 dari

frekuensi osilator.

4. Mode 3 : Pada mode 3, 11 bit dikirim melalui pin TXD atau diterima melalui pin

RXD. Urutan pengiriman data pada mode 3 sama dengan mode 2, perbedaannya

adalah baudrate pada mode 3 dapat diatur. Timing diagram UART pada mode 2

dan 3 dapat dilihat pada Gambar 2.12

Gambar 2.12 Timing diagram UART mode 2 dan 3 pada AT89S52 (http://www.atmel.com/

images/doc4316.pdf, 2015)

Timer 1 dapat digunakan sebagai baud rate generator bagi UART mode 1 dan 3.

Ketika Timer 1 digunakan sebagai baud rate generator, baud rate pada mode 1 dan 3

ditentukan oleh kecepatan limpahan dan nilai SMOD.

Penggunaan Timer 1 sebagai baud rate generator mengharuskan interupsi Timer 1

dihentikan dan Timer 1 diatur untuk menjadi timer dalam mode auto-reload dengan

mengatur nibble atas dari TMOD menjadi 0010B. Pada kasus ini nilai baud-rate yang

diinginkan dapat ditentukan dengan menggunakan persamaan 2.2 dan menghitung nilai

TH1 untuk menghasilkan kecepatan limpahan yang tepat (Setiawan, S, 2006).

푓 = 2 × × ×[ ( )] (2.2)

Page 16: sensor jarak

21

Keterangan:

푓 : Frekuensi baud rate (bps)

푆푀푂퐷 : Bit 1 mode port serial untuk UART

푓푟푒푘푢푒푛푠푖 푘푟푖푠푡푎푙 : frekuensi kristal yang digunakan (Hz)

푇퐻1 : Byte tertinggi pengitung register dari Timer 1

2.7 Liquid Crystal Display M1632 (LCD M1632)

LCD M1632 merupakan sebuah komponen elektronika yang berfungsi untuk

menampilkan huruf atau karakter yang digunakan sebagai penampil data saat proses

kalibrasi dalam penelitian ini. LCD terbuat dari suatu bahan kristal cair yang merupakan

komponen organik yang dapat bersifat seperti optik misalnya Kolesteril nonanoat dan

P-azoxyanisole (Umami, 2010). Tampilan LCD M1632 dapat dilihat pada Gambar 2.13

Gambar 2.13 Tampilan LCD M1632

LCD M1632 merupakan alat penampil dengam resolusi dot 5 x 8 per karakter

beserta kursor. Jumlah baris yang disediakan adalah 2 dengan jumlah kolom 16,

sehingga jumlah karakter maksimal yang dapat ditampilkan adalah 32. Penomoran pin

dari LCD M1632 diperlihatkan pada Gambar 2.14, nomor pin dihitung dari kiri ke

kanan dengan urutan 1 sampai 16.

Gambar 2.14 Konfigurasi pin LCD M1632 (http://www.dfrobot.com/image/data/FIT0127/datasheet.pdf

, 2015)

Page 17: sensor jarak

22

Untuk menghubungkan LCD M1632 dengan mikrokontroler maka perlu diketahui

fungsi dari masing-masing pin yang terdapat pada modul LCD M1632. Fungsi masing-

masing pin yang terdapat pada modul ini diperlihatkan pada Tabel 2.7

Tabel 2.7 Fungsi masing-masing pin LCD M1632 (Setiawan, 2006)

No. Simbol Level Fungsi 1 VSS -

Power Suplay 0V (GND)

2 VCC - 5V ± 10% 3 VCC - LCD Drive 4 RS H/L H : Data In L : Instruction In 5 R/W H/L H : Read L : Write 6 E H,↓ Sinyal Enable 7 DB0 H/L

Data Bus

8 DB1 H/L 9 DB2 H/L

10 DB3 H/L 11 DB4 H/L 12 DB5 H/L 13 DB6 H/L 14 DB7 H/L 15 V+BL - Back Light

Suply 4 - 4,2V , 50 – 200 mA

16 V-BL - 0V (GND)

Untuk menulis data atau instruksi ke modul LCD M1632 perlu memperhatikan

Timing diagram seperti yang diperlihatkan pada Gambar 2.15

Gambar 2.15 Timing diagram penulisan data atau instruksi ke modul LCD M1632 (Xiamen Amotec

Display CO.,LTD, 2008)

Dari Gambar 2.15 dapat diketahui bahwa untuk mengirimkan data atau instruksi,

pin enable harus pada keadaan High terlebih dahulu, kemudian data dikirim melalui pin

Page 18: sensor jarak

23

DB, setelah itu kembalikan pin enable ke Low, sehingga akan terjadi transisi turun, dan

data siap di proses oleh modul LCD M1632. Lama pewaktuan yang diperlukan

diperlihatkan pada Tabel 2.8

Tabel 2.8 Data timing diagram LCD M1632 (Xiamen Amotec Display CO.LTD, 2008)

Parameter Symbol Test Pin Min Max Unit Enable cycle time tC

E 500 -

ns

Enable pulse time tW 300 Enable rise/fall time tr, tf - 25 RS; R/W setup time tSU1 RS; R/W 100 - RS; R/W Address hold time th1 10 - Read data output delay tSU2 DB0 –

DB7 60 -

Read data hold time th2 10 -

2.8 Low Voltage Audio Power Amplifier LM386

LM386 merupakan rangkaian terpadu penguat daya yang didesain untuk

penerapan pada rangkaian audio dengan konsumsi tegangan rendah. Pada penelitian ini

LM386 digunakan untuk memperkuat dan mengatur volume suara yang dihasilkan oleh

ISD1420 sehingga dapat didengar dengan baik dan nyaman. Adapun diagram skematik

LM386 diperlihatkan pada Gambar 2.16. Penguatan yang terdapat pada IC ini sudah di

set secara internal sebesar 20 untuk meminimalisir penggunaan komponen external,

tetapi penambahan kapasitor dan resistor external diantara pin 1 dan pin 8 akan

meningkatkan nilai penguatan dari 20 hingga 200.

Gambar 2.16 Diagram skematik IC penguat daya audio LM386 (http://www.ti.com/lit/ds/symlink/

lm386.pdf, 2015)

Masukan yang diterima LM386 direferensialkan terhadap ground sementara

output yang dihasilkan secara otomatis dibiaskan terhadap satu-setengah dari catu

Page 19: sensor jarak

24

tegangan yang diterima. Daya yang diserap pada keadaan diam hanya 24 miliwatt ketika

beroprasi dengan catu tegangan 6 volt, hal ini menjadikan LM386 ideal jika ingin

dioperasikan dengan menggunakan baterai.

Adapun beberapa fitur yang menjadi pertimbangan dalam pengguanaan IC ini

diantaranya ; tidak menggunakan komponen internal yang banyak, catu tegangan yang

dapat diterapkan luas yaitu 4V – 12V atau 5V – 18V serta distorsi yang dihasilkan

rendah yaitu sekitar 0.2 % dari masukan yang diterima pada kreteria Penguatan (AV)=

20, Catu tegangan (VS) = 6V, hambatan beban (RL) = 8 Ω , daya (PO)= 125 mW dan

frekuensi (f) = 1 kHz

LM386 tersedia dalam bentuk paket Molded Mini Smal Outline, and Dual in Line

Package (MSOP) seperti yang diperlihatkan pada Gambar 2.17

Gambar 2.17 Konfigurasi pin IC penguat daya audio LM386 (http://www.ti.com/lit/ds/symlink/lm386

.pdf, 2015)

2.9 IC LM2596

LM2596 merupakan regulator tegangan step-down dengan mode switching yang

mampu mengalirkan arus ke beban hingga 3 Ampere. IC ini tersedia dalam versi

regulator 3,3 volt, 5 volt, 12 volt dan versi tegangan keluaran yang dapat diatur.

LM2596 beroperasi pada frekuensi switching yang tetap yaitu 150 kHz sehingga

memperbolehkan penggunaan nilai komponen filter yang lebih kecil dibandingkan

regulator switching dengan frekuensi yang lebih rendah. Keuntungan yang paling

mendasar dari penggunaan regulator dengan mode switching adalah efesiensi. Menurut

datasheet LM2596 dari Texas Instrument, penggunaan tegangan masukan 12 VDC

untuk memperoleh tegangan keluaran 5 VDC akan menghasilkan efesiensi sebesar 80%,

sehingga sumber tegangan masukan dapat bertahan lebih lama jika dibandingkan

dengan penggunaan regulator linier. Namun dalam pengaplikasiannya, regulator

Page 20: sensor jarak

25

switching perlu penanganan yang lebih khusus untuk mencegah tegangan transien pada

keluarannya. Untuk mengatasi hal ini penggunaan komponen filter dengan Equivalent

Series Resistance (ESR) yang sesuai perlu diperhatikan dan teknik grounding yang baik

merupakan hal yang wajib diterapkan. Adapun konfigurasi pin dari LM2596

diperlihatkan pada Gambar 2.18

Gambar 2.18 Konfigurasi pin LM2596 (http://www.ti.com/lit/ds/symlink/lm2596.pdf, 2015)

2.10 Bahasa Assembly

Bahasa assembly merupakan salah satu tipe dari bahasa pemrograman aras rendah

(low-level programming language) setelah bahasa mesin. Bahasa pemrograman aras

rendah merupakan sebuah bahasa yang langsung mengarah ke instruksi mesin atau lebih

mendekati bahasa mesin sehingga memerlukan lebih sedikit memori dan waktu dalam

mengeksekusi setiap intruksinya dibandingkan dengan bahasa pemrograman aras

menengah (middle-level language) dan aras tinggi (high-level language programming).

Oleh karena itu penggunaan bahasa assembly sangat baik diterapkan pada penelitian ini,

karena dalam pengukuran jarak menggunakan sensor HC-SR04, memerlukan

penghitung waktu yang akurat dan cepat untuk mengurangi kesalahan dalam

pengukuran.

Mesin penghitung atau computer hanya dapat mengerti dan mengeksekusi

instruksi bahasa yang membentuk sistem nomer biner 0 dan 1 karena bahasa

pemrograman aras rendah berorientasi pada mesin, sehingga dalam pembuatan sebuah

program, seorang programmer bahasa assembly harus memiliki pengetahuan yang baik

tentang arsitektur computer seperti perangkat keras dan konfigurasinya.

Bahasa assembly menggunakan simbol alphanumerik sebagai operand dan

operasi serta digit biner dalam penulisan sintax-nya. Bahasa assembly juga dapat

disebut Bahasa Pemrograman Tersimbol (Simbolic Programming Language), karena

untuk mempresentasikan setiap kode operasi mesin dan lokasi penyimpanan digunakan

simbol-simbol alphanumerik untuk mempermudah dalam membaca program oleh

Page 21: sensor jarak

26

manusia. Adapun beberapa contoh alih kode bahasa mesin menjadi kode dalam bahasa

assembly diperlihatkan pada Tabel 2.9

Tabel 2.9 Beberapa contoh hubungan kesesuaian bahasa mensin terhadap bahasa assembly

(Kahanwal, 2013)

Language Code (Machine) (16 bit instruction set)

Assembly Language Code (Equivalent)

1000000100100101 LOAD R1 5 1000000101000101 LOAD R2 5 1010000100000110 ADD R0 R1 R2 1000001000000110 SAVE R0 6 1111111111111111 HALT Walaupun cara pengetikan dari setiap perintah bahasa assembly adalah sederhana,

namun penggunaannya tidak mudah karena sangat banyak detail-detail teknis yang

harus diingat oleh proggrammer.

2.11 Transistor 2N2222 / PN2222 Sebagai Penguat Daya

Transistor 2N2222 atau PN2222 merupakan jenis transistor NPN yang digunakan

untuk switching, dimana transistor ini memiliki kemampuan untuk merubah besar arus

yang mengalir dari kolektor ke emiter dari posisi potensial terendah hingga pontensial

tertinggi dan sebaliknya dengan kecepatan tinggi, dimana besar arus tersebut

bergantung pada besar arus yang mengalir pada basis dengan hubungan seperti yang

diperlihatkan pada persamaan 2.3

퐼 = 퐼 × 훽 (2.3)

Dimana :

퐼 : Arus yang mengalir pada kolektor (Ampere)

퐼 : Arus yang mengalir pada basis (Ampere)

훽 : Penguatan transistor disebut juga ℎ

Pada penelitian ini transistor 2N2222 atau PN2222 digunakan sebagai penguat

daya dari suara beep yang dihasilkan oleh P2.0 mikrokontroller AT89S52. Penggunaan

transistor sebagai penguat daya diperlihatkan pada Gambar 2.19.

Page 22: sensor jarak

27

Gambar 2.19. Rangkaian penguat daya dengan transistor NPN (Horowitz, P., et.al., 1989)

C1 dan C2 berfungsi sebagai high pass filter dan coupling capacitor yang haya

melewatkan sinyal AC. R1 dan R2 berfungsi sebagai pembagi tegangan yang berfungsi

untuk menjaga tegangan pada basis setengah dari tegangan VCC – Ground agar sinyal

keluaran (arus kolektor) dapat berayun dengan baik sesuai dengan sinyal masukan yang

diterima sehingga tidak terjadi pemotongan terhadap sinyal keluaran, untuk itu juga

diperluan RE untuk menjaga tegangan keluaran berada setengah dari VCC – Ground dan

membatasi arus yang mengalir dari kolektor ke emiter. C2 harus lebih besar dari C1

untuk mencegah terjadinya atenuasi, karena kedua kapasitor ini membentuk high pass

filter bertumpuk (Horowitz, P., et.al., 1989).

2.12 Kerangka Konsep

Kerangka konsep aplikasi sensor kompas dan sensor jarak pada kaca mata bagi

kaum tuna netra dengan output suara manusia berbasis mikrokontroller AT89S52

ditunjukkan pada Gambar 2.19

Sensor kompas CMPS11 Sensor Jarak HC-SR04 Tombol arah mata angin

Antarmuka: UART, protokol : 2 stop-bit tanpa parity dengan

kecepatan 9600 bps

Antarmuka: Input : Pulsa High (5V)

selama 10 μs Output : Pulsa PWM

Antarmuka: Output : sinyal transisi

turun 5V ke 0V

TX RX Echo Trigger

1 2 3 4 5

Page 23: sensor jarak

28

Gambar 2.20 Kerangka konsep aplikasi sensor kompas dan sensor jarak pada kaca mata bagi kaum tuna

netra berbasis mikrokontroller AT89S52

1 2 3 4 5

UART mode 3, protokol : 1 stop-bit dan 1 parity seolah 2 stop bit, dengan

kecepatan 9600 bps

Pin TXD Pin RXD Pin 1 Pin 2 Pin 3

Kirim perintah ambil data sudut

kompas

Set High selama 10μs

tPWM(high)/59 (μs/cm)

= jarak (cm)

Pengolahan data oleh AT89S52

Timer 0 mode 2 (Auto

reload) dengan pengaturan

interupsi setiap 59 μs

Aktifkan interupsi Timer 0

Hitung waktu dan periksa

keadaan Pin 1

Timer 1 mode 2 (Auto

reload) dengan

pengatu-ran

sebagai baud rate generator

Data 8 bit mempresentasikan

sudut kompas

Tampung data jarak pada register

Data alamat suara rekaman

Konversikan data menjadi alamat suara yang sesuai

Chip-corder ISD1420

Data 8 bit Pin kontrol

Feedback

Penguat daya audio berbasis LM386

Output Suara

Atur penghitung delay untuk suara beep

Aktifkan suara beep kemudian delay

Penguat daya audio berbasis transistor 2N2222