• Tidak ada hasil yang ditemukan

Mengukur Getaran Mobil dengan Mengunakan Sensor Accelerometer MPU6050 dengan Interface Grafik pada PC

N/A
N/A
Protected

Academic year: 2016

Membagikan "Mengukur Getaran Mobil dengan Mengunakan Sensor Accelerometer MPU6050 dengan Interface Grafik pada PC"

Copied!
86
0
0

Teks penuh

(1)

MENGUKUR GETARAN MOBIL DENGAN MENGGUNAKAN SENSOR

ACCELEROMETER MPU6050 DENGAN INTERFACE GRAFIK PADA

PC

SKRIPSI

ANNISA FITRI

100801047

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

(2)

MENGUKUR GETARAN MOBIL DENGAN MENGGUNAKAN SENSOR

ACCELEROMETER MPU6050 DENGAN INTERFACE GRAFIK PADA

PC

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar

Sarjana Sains

ANNISA FITRI

100801047

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

(3)

Judul : Mengukur getaran mobil dengan mengunakan Sensor accelerometer MPU6050 dengan Interface grafik pada PC.

Kategori : Skripsi Nama : Annisa Fitri Nomor Induk Mahasiswa : 100801047

Program Studi : Sarjana (S1) Fisika Departemen : Fisika

Fakultas : Matematika Dan Ilmu Pengetahuan Alam Universitas Sumatera Utara

Disetujui di Medan, Mei 2015 Komisi Pembimbing :

Pembimbing 2, Pembimbing 1,

Drs. Takdir Tamba, M.Eng.Sc. Dr. Bisman P.M.Eng.Sc

NIP.196006031986011002 NIP. 195609181985011002

Disetujui Oleh

Departemen Fisika FMIPA USU Ketua,

(4)

MENGUKUR GETARAN MOBIL DENGAN MENGGUNAKAN SENSOR

ACCELEROMETER MPU6050 DENGAN INTERFACE GRAFIK PADA

PC

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri. Kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Mei 2015

(5)

Alhamdulillahirobbil’alamin

Segala puji dan syukur kepada Allah Subhanahuwata’ala yang telah melimpahkan barokah, rahmat, hidayah-Nya dan menganugerahkan kemudahan serta kelancaran sehingga penulis dapat menyelesaikan penulisan skripsi ini sesuai dengan waktu yang telah ditetapkan. Sholawat beriring salam senantiasa tercurah kepada Rasulullah sallalahu’alaihiwassalam sang pembawa petunjuk, penerang dan menjadi inspirasi tauladan bagi penulis.

Dalam penyelesaian skripsi ini penulis banyak mendapat bimbingan, petunjuk dan bantuan dari berbagai pihak yang sangat berarti dan berharga bagi penulis. Dalam kesempatan ini penulis menyampaikan terimakasih sebesar besarnya kepada pihak yang telah terkait atas selesainya skripsi ini, diantaranya kepada:

1. Bapak Dr. Bisman Perangin-angin,M.Eng,Sc selaku pembimbing 1 yang telah memberikan banyak ide serta banyak pemikiran dalam pembuatan tugas akhir ini, yang telah banyak membimbing serta meluangkan waktunya untuk penulis, sehingga dapat menyelesaikan skripsi ini

2. Bapak Drs. Takdir Tamba, M.Eng.Sc. selaku pembimbing 2 yang telah memberikan masukan dan telah banyak membimbing serta meluangkan waktunya untuk penulis, sehingga dapat menyelesaikan skripsi ini

3. Bapak Dr. Marhaposan Situmorang selaku Ketua Jurusan Fisika yang telah membierikan nasihat kepada penulis.

4. Bapak dan Ibu Dosen Pengajar Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara. Terima kasih atas ilmu dan bimbingannya selam ini semoga ilmunya akan selalu memberikan manfaat bagi banyak orang.

(6)

7. Keluarga Besar Atok Saulan ahlan, Uncu, Wo lila, Wo isa, Pebi, alm Wo imah serta Keluarga Besar Nyaik Rohani, Cing Yanti, Cing didi, Cing Jali,dll untuk dukungan moril dan materilnya serta waktu dan tenaga yang diberikan kepada penulis.

8. Sahabat seperjuangan Tiara, Bibah, Nia, Ray, Aini, bunda Lia, Sanaun, Widya, Amal, Elsa, Maizal, Nurheinida, Kharisma muhammad, Rahmat Faisal, Brilian dan teman-teman angkatan 2010 lainnya serta kepada bang Oki hadinata, bang Arbi dan Kak Sally irvina senior yang terus membantu penulis selama penelitian ini berjalan, dan kepada adik junior Fisika 2011,2012 dan D-3 Metrologi 2011 yang tidak dapat disebutkan satu per satu namanya, terima kasih atas saran dan dukungannya.

9. Teman-teman SMP Muhammadiyah 01, SMA Negri 7, Adzkia, Teknik Geofisika USK 2012 dan KERTAS USK terimakasih banyak atas dukungan dan bantuan yang tak bisa penulis bayar dengan materi.

Penulis menyadari sepenuhnya bahwa dalam pembuatan Tugas Akhir ini masih jauh dari kesempurnaan, untuk itu penulis mengharapkan kritik dan saran dari pembaca yang bersifatnya membangun dalam penyempurnaan skripsi ini.

Semoga laporan ini menjadi ibadah yang baik bagi penulis dan menjadi ilmu yang bermanfaat bagi pembaca.

Amin Yaa Rabbal’alamin

Medan, 17 Maret 2015

(7)

ABSTRAK

Telah dilakukan suatu perancang alat ukur getaran mobil menggunakan sensor accelerometer MPU 6050 dan grafik pada PC sebagai perangkat antarmukanya. Sebagai media komunikasinya digunakan jaringan nirkabel yang mana hasil pengukuran getaran mobil akan dikirimkan ke komputer melalui jaringan wireless pada frekuensi 433,31 MHz dengan Modul KYL 1020-U. Getaran yang terukur oleh accelerometer MPU6050 akan membaca seberapa besar getaran mobil yang disebabkan oleh kondisi permukaan jalan, dalam hal ini digunakan pita kejut jalan (polisi tidur), dalam satuan percepatan yaitu m/s2. Sebagai pusat penggolahan data digunakan mikrokontroller AVR ATMega8535. Pengukuran getaran mobil ini dilakukan dengan menguji alat pada mobil Daihatsu Terrios-2013. Dari hasil pengukuran dapat diketahui bahwa pada saat mobil melewati polisi tidur maka amplitudo percepatan dari mobil Daihatsu Terrios-2013 1,2 m/s2. Modul wireless ini mampu mengirim data dengan baik pada jangkauan radius 100 m.

(8)

ABSTRACT

The design of measurement equipment of car vibration using accelerometer MPU6050 and graphics in PC as its interface has been conducted. As its communication media, wireless network were used that the measurement result of car vibration would be sent to the computer by wireless network in 433.31 MHz frequency with KYL 1020-U module. Measured vibration by MPU6050 accelerometer would be measuring how big the car vibration is caused by street surface condition, in this case the shocking ribbon were used, in acceleration unit m/s2. As data processing centre, it used AVR ATMega8535 microcontroller. The measurement of car vibration underwent in car Daihatsu Terrios-2013. From the testing result, it can be shown that when the car through the shocking ribbon the amplitude of acceleration measured for Daihatsu Terrios-2013 1.2 m/s2. This wireless module could work properly in sending the data for 100 m radius.

(9)
(10)

4.2 Pengujian Keseluruhan Rangkaian 32

BAB 5 Kesimpulan dan Saran 40

5.1 Kesimpulan 40

5.2 Saran 40

(11)

Nomor Judul Halaman Tabel

2.1 Fungsi pin-pin port B 13

2.2 Fungsi pin-pin port D 14

(12)

Nomor Judul Halaman Gambar

2.1 Gambar Pengintegralan sederhana terhadap suatu sinyal 7

2.1 Gambar Blok Diagram ATMega8535 10

2.2 Gambar Konfigurasi pin ATMrga 8535 11

2.3 Gambar Peta memori program 15

2.4 Gambar Peta memori data 16

2.5 Ganbar Status Register ATMega 8535 16

3.1 Gambar Diagram blok rangkaian 24

3.2 Gambar Sistem mikrokontroller ATMega8535 25

3.3 Gambar Sistem Sensor MPU-6050 26

(13)

Nomor Judul Halaman Grafik

1 Grafik Hubungan accelerometer dengan waktu pada mobil

Daihatsu terrios1 32

2 Grafik hubungan accelerometer dengan waktu pada mobil

Daihatsu terrios2 34

3 Grafik Hubungan accelerometer dengan waktu pada mobil

Daihatsu terrios3 35

4 Grafik Hubungan accelerometer dengan waktu pada mobil

Daihatsu terrrios4 36

5 Grafik Hubungan accelerometer dengan waktu pada mobil

Daihatsu terrios5 37

6 Grafik pembesaran hasil percepatan pada mobil daihatsu

Terrios 38

7 Grafik Hubungan accelerometer dengan waktu pada mesin

(14)

Nomor Lampiran

1 Lampiran A 43

2 Lampiran B 66

(15)

ABSTRAK

Telah dilakukan suatu perancang alat ukur getaran mobil menggunakan sensor accelerometer MPU 6050 dan grafik pada PC sebagai perangkat antarmukanya. Sebagai media komunikasinya digunakan jaringan nirkabel yang mana hasil pengukuran getaran mobil akan dikirimkan ke komputer melalui jaringan wireless pada frekuensi 433,31 MHz dengan Modul KYL 1020-U. Getaran yang terukur oleh accelerometer MPU6050 akan membaca seberapa besar getaran mobil yang disebabkan oleh kondisi permukaan jalan, dalam hal ini digunakan pita kejut jalan (polisi tidur), dalam satuan percepatan yaitu m/s2. Sebagai pusat penggolahan data digunakan mikrokontroller AVR ATMega8535. Pengukuran getaran mobil ini dilakukan dengan menguji alat pada mobil Daihatsu Terrios-2013. Dari hasil pengukuran dapat diketahui bahwa pada saat mobil melewati polisi tidur maka amplitudo percepatan dari mobil Daihatsu Terrios-2013 1,2 m/s2. Modul wireless ini mampu mengirim data dengan baik pada jangkauan radius 100 m.

(16)

ABSTRACT

The design of measurement equipment of car vibration using accelerometer MPU6050 and graphics in PC as its interface has been conducted. As its communication media, wireless network were used that the measurement result of car vibration would be sent to the computer by wireless network in 433.31 MHz frequency with KYL 1020-U module. Measured vibration by MPU6050 accelerometer would be measuring how big the car vibration is caused by street surface condition, in this case the shocking ribbon were used, in acceleration unit m/s2. As data processing centre, it used AVR ATMega8535 microcontroller. The measurement of car vibration underwent in car Daihatsu Terrios-2013. From the testing result, it can be shown that when the car through the shocking ribbon the amplitude of acceleration measured for Daihatsu Terrios-2013 1.2 m/s2. This wireless module could work properly in sending the data for 100 m radius.

(17)

BAB 1

PENDAHULUAN

1.1Latar Belakang

Kerusakan jalan disebabkan antara lain karena beban lalulintas berulang yang berlebihan (overloaded), panas/suhu udara, air dan hujan, serta mutu awal produk jalan yang jelek. Oleh sebab itu disamping direncanakan secara tepat jalan harus dipelihara dengan baik agar dapat melayani pertumbuhan lalulintas selama umur rencana. Pemeliharaan jalan rutin maupun berkala perlu dilakukan untuk mempertahankan keamanan dan kenyamanan jalan bagi pengguna dan menjaga daya tahan/keawetan sampai umur rencana.

Kerusakan jalan yang terjadi di berbagai daerah saat ini merupakan permasalahan yang kompleks dan kerugian yang diderita sungguh besar terutama bagi pengguna jalan, seperti terjadinya waktu tempuh yang lama, kemacetan, kecelakaan lalu lintas dan lain-lain. Kerugian secara individu tersebut akan menjadi akumulasi kerugian ekonomi global bagi daerah tersebut.

Dengan pengetahuan teknologi yang semakin hari semakin berkembang, maka

penelitian tentang alat ukur semakin bertambah dengan menggunakan sensor (alat

pendeteksi), dalam hal ini penulis menggunakan sensor accelerometer atau sering

disebut dengan sensor percepatan untuk menghitung getaran pada mobil.

Wireless network atau jaringan tanpa kabel adalah salah satu jenis jaringan

berdasarkan media komunikasinya, yang memungkikan perangkat perangkat di

dalamnya seperti komputer, hp dan lain lain dapat berkomunikasi tanpa kabel.

Wireless network umumnya diimplentasikan menggunakan komunikasi radio.

Wireless merupakan salah satu alternatif untuk memenuhi kebutuhan monitoring

jarak jauh. Hal ini merupakan latar belakang penelitian yang berjudul

MENGUKUR GETARAN MOBIL DENGAN MENGGUNAKAN

SENSOR ACCELEROMETER MPU6050 DENGAN INTERFACE

(18)

satu syarat untuk memperoleh gelar Sarjana Sains Pada Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Sumatera Utara.

1.2Rumusan masalah

Berdasarkan uraian latar belakang masalah sebelumnya, maka penulis merumuskan beberapa hal yang menjadi masalah dalam penelitian ini. Diantaranya :

1. Bagaimana merancang suatu sistem pengukuran getaran mobil untuk di implementasikan ke PC.

2. Bagaimana membuat aplikasi antar muka di PC komunikasi wireless

1.3Batasan Masalah

Adapun batasan masalah yang akan dibahan dakam penelitian ini adalah: 1. Sistem perancangan menggunakan sensor accelerometer MPU-6050 dan

BMP085

2. Mikrokontroler yang digunakan adalah mikrokontroler jenis ATMega 8535.

3. Sistem komunikasi yang digunakan adalah dengan menggunakan wireless KYL-1020 U

4. Sistem pengukuran yang dilakukan dalam penelitian ini adalah berbasis PC

5. Data yang dikirim sesuai program pada mikrokontroler yang menggunakan program Code Vision AVR dan Delphi7 pada tampilan visual PC.

1.4Tujuan Penelitian

Tujuan yang ingin dicapai pada tugas akhir ini adalah:

1. Merancang suatu sistem untuk mengukur getaran mobil dengan interface grafik pada PC

2. Untuk mengetahui kesesuaian sensor accelerometer untuk getaran mobil. 3. Menerapkan penggunaan modul KYL 1020-U sebagai sarana komunikasi

(19)

1.5Manfaat Penelitian

Manfaat yang dapat diambil dari penelitian ini adalah untuk mengetahui sensitifitas sensor MPU6050 untuk mendeteksi getaran mobil.

1.6Tempat Penelitian

(20)

BAB 2

TINJAUAN PUSTAKA

2.1 Getaran

Gerak yang berulang dalam selang waktu yang sama disebut gerak periodik ini selalu dapat dinyatakan dalam fungsi sinus atau cosinus, oleh sebab itu gerak periodik ini bergerak bolak balik melalui lintasan yang sama disebut gertaran atau isolasi.

Waktu yang dibutuhkan untuk menempuh satu lintasan bolak balik disebut periode, sedangkan banyaknya getaran tiap satuan waktu disebut frekuensi. Hubungan antara periode T dan frekuensi f pernyataan ini adalah :

(1)

Satuan frekuensi dalam sistem SI adalah putaran per detik atau herz (Hz). Posisi pada saat resultan gaya yang bekerja pada partikel yang bergetar sama dengan nol disebut posisi seimbang.(A Rusli,1997)

Getaran bebas adalah sistem yang bergetar bukan karena ada gaya eksitasi (gaya penggetar), tetapi karena kondisi awal, yaitu berupa simpangan awal x(0) atau kecepatan awal v(0). Getaran bebas secara umum adalah getaran bebas tidak teredam dan getaran bebas teredam. Dalam kenyataannya getaran bebas tidak ada yangg tidak teredam.

Getaran bebas teredam adalah sistem yang berisolaso akibat diberi kondisi awal berupa simpangan awal x(0) atau kecepatan awal v(0), dimana osilasi tersebut akan mengecil amplitudonya. (Ramses Y Hutahean,2012)

2.2 Jalan Raya

Secara sederhana jalan didefenisikan sebagai jalur dimana masyarakat mempunyai hak untuk melewatinya tanpa diperlukan izin khusus untuk itu. Dengan

pernyataan ini jalan air (water way) dapat juga disebut sebagai jalan raya.

(21)

Cara pembentukan jalan yang umum adalah:

1. Berdasarkan kerelaan, pemilik tanah mengizinkan masyarakatnya melewatinya sehingga menjadi jalan

2. Pengaturan berdasarkan hukum yaitu peraturan jalan 1980

3. Peretujuan sebagai bagian dari rencana pengembangan kota berdasarkan peraturanperencanaan kota dan daerah ( Twon and country planning act) Jalan juga dapat diklasifikasikan berdasarkan kegunaannya, penting untuk dimengerti perbedaan antara jalan setapak dan troroat karena adanya peraturan khusus bagi pembuatan, pengalihan, dan lain lain pada jalan setapak yang tidak dapat ditetapkan pada trotoar. Klasifikasi jalan berdasarkan kegunaannya adalah sebagai berikut:

Jalan setapak adalah lajur dimana masyarakat dapat berjalan kaki. Lajur ini berada disamping lajur kendaraan, tetapi misalnya melalui lapangan, hutan dan sebagainya

Trotoar adalah bagian dari jalan. Lajur ini diperuntukkan untuk pejalan kaki, sehingga terpisah darikendaraan. Biasanya lajur pejalan kaki ini berada disamping kiri kanan lajur kendaraan.

Bridleway adalah jalan yang khusus diperuntukkan untuk masyarakat untuk lewat dengan berjalan kaki, berkuda atau memuntun kuda beban.

Lajur sepeda adalah lajur dari bagian jalan yang diperuntukkan bagi pengguna sepeda, bersama dengan pejalan kaki atau tanpa pejalan kaki.

Lajur kendaraan merupakan bagian dari jalan dimana masyarakat pengguna jalan dapat lewat dengan kendaraannya (bukan sepeda). Lajur kendaraan ini yang daoat mencakup trotoar dan jalan sepeda, paling banyak dimanfaatkan oleh masyarakat

(22)

2.3 Sensor

2.3.1 Defenisi Sensor

Dalam pendeteksian suatu sensor tidak akan terlepas dari istilah tranduser. Tranduser adalah sebuah alat yang bila di gerakkan oleh energi di dalam sebuah sistem transmisi menyalurkan energi dalam bentuk yang sama atau dalam bentuk yang berlainan ke sistem transmisi kedua. Transmisi energi ini bisa listrik, mekanik, kimia, optik (radiasi) atau termal (panas). Definisi tranduser yang luas mencakup alatalat yang mengubah gaya atau perpindahan mekanis menjadi sinyal elektrik.

Pada dasarnya sensor dan tranduser mempunyai definisi sama yaitu menerima rangsangan (gejala fisis) dari luar dan mengubahnya menjadi sinyal listrik. Proses fisis yang merupakan stimulus atau rangsangan sensor dapat berupa fluks magnetik, gaya, arus listrik, temperatur, cahaya, tekanan dan proses fisis lainnya. Sensor dan tranduser mempunyai perbedaan yang sangat kecil yaitu pada koefisien konversi energi. Sensor itu sendiri terdiri dari tranduser atau tanpa penguat atau pengolah sinyal yang terbentuk dalam satu indera. (Sinclair. 1988)

Berdasarkan prinsip kelistrikannya sensor dapat dikelompokkan menjadi dua yaitu sensor pasif dan sensor jenis pembangkit sendiri (self generating type). Sensor pasif menghasilkan perubahan dalam parameter listrik seperti halnya tahanan, kapasitansi dan lainlain yang dapat diukur sebagai suatu perubahan tegangan atau arus.

2.3.2 Sensor Accelerometer

(23)

terhadap waktu. Bertambahnya suatu kecepatan dalam suatu rentang waktu disebut juga percepatan (acceleration). Jika kecepatan semakin berkurang daripada kecepatan sebelumnya, disebut deceleration. Percepatan juga bergantung pada arah/orientasi karena merupakan penurunan kecepatan yang merupakan besaran vektor. Berubahnya arah pergerakan suatu benda akan menimbulkan percepatan pula. Percepatan didefinisikan sebagai perubahan kecepatan per satuan waktu. Dalam sistem MKS atau SI, satuan kecepatan adalah meter/detik2 atau m/s2. Seperti halnya pada kecepatan, kita juga mengenal percepatan rata-rata:

percepatan rata-rata = a rata-rata =

(2)

Secara grafis percepatan sesaat juga dapat didefinisikan sebagai gradien garis singgung dari kurva kecepatan (v) vs waktu (t) pada nilai t yang diinginkan. Proses penghitungan ini dipengaruhi oleh waktu cuplik data, sehingga jeda waktu cuplik data (dt) harus selalu konstan dan dibuat sekecil mungkin Secara sederhana, integral merupakan luas daerah di bawah suatu sinyal selama rentang waktu tertentu. Untuk lebih jelasnya dapat dilihat pada Gambar 2.1

Gambar 2.1 Pengintegralan sederhana terhadap suatu sinyal

(24)

Persamaan pengintegralan pada persamaan (2) masih memiliki error yang cukup besar.

Fitur dan Spesifikasi MPU-6050 yaitu;  Catu daya IC dari 2,375 V ~ 3,46 V

 Antarmuka kendali dan pengumpulan data lewat protokol I2C berkecepatan tinggi (Fast Mode, 400 kHz)

 Pilihan rentang skala akselerometer: ±2g (sensitivitas 16384), ±4g (8192), ±8g (4096), ±16g (2048); sensitivitas dalam LSB/g

 Data keluaran MotionFusion sebanyak 6 atau 9 sumbu dalam format matriks rotasi, quaternion, sudut Euler, atau data mentah (raw data format).

 Dengan digabungkannya akselerometer dan giroskop dalam satu sirkut terpadu menyebabkan pendeteksian gerakan menjadi lebih akurat (reduced settling effects and sensor drift) karena faktor kesalahan penyesuaian persilangan sumbu antara akselerometer dan giroskop dapat dihilangkan  DMP™ Engine mengambil alih komputasi rumit dari prosesor utama

sehingga sistem tidak terbebani kalkulasi yang kompleks (red: sebelum adanya IC ini, perancang rangkaian elektronika biasanya menggunakan chip PLD eksternal untuk mengerjakan komputasi semacam ini karena perhitungan matematika dalam kalkulasi gerak sangatlah kompleks dan terlalu membebani kerja mikrokontroler yang biasanya bertenaga terbatas).  Algoritma untuk menghitung bias dan kalibrasi kompas sudah terpasang dan

siap digunakan, tidak perlu intervensi dari pemakai

 Interupsi yang dapat diprogram untuk mendeteksi pengenal gestur (gesture recognition), pergeseran (panning), zooming, scrolling, dan shake detection

 Moda siaga hemat daya hanya mengkonsumksi arus sebesar 5µA  Dapat menoleransi guncangan hingga 10000g

(25)

pada konduktor tersebut. Accelerometer yang diletakan di permukaan bumi dapat mendeteksi percepatan 1g (ukuran gravitasi bumi) pada titik vertikalnya, untuk percepatan yang dikarenakan oleh pergerakan horizontal maka accelerometer akan mengukur percepatannya secara langsung ketika bergerak secara horizontal. Hal ini sesuai dengan tipe dan jenis sensor Accelerometer yang digunakan karena setiap jenis sensor berbeda-beda sesuai dengan spesifikasi yang dikeluarkan oleh perusahaan pembuatnya. Saat ini hamper semua sensor/tranduser accelerometer sudah dalam bentuk digital (bukan dengan sistem mekanik) sehingga cara kerjanya hanya bedasarkan temperatur yang diolah secara digital dalam satu chip.

2.4 Mikrokontroler Atmega8535

Mikrokontroller sesuai namanya adalah suatu alat atau komponen pengontrol atau pengendali yang berukuran mikro atau kecil. Sebelum ada mikrokontroler, telah ada terlebih dahulu muncul mikroprosessor. Bila dibandingkan dengan mikroprosesor, mikrokontroller jauh lebih unggul karena terdapat berbagai alasan diantaranya

a. Tersedianya I/O

I/O dalam mikrokontroller sudah tersedia sementara pada mikroprosesor dibutuhkan IC tambahan untuk menangani I/O tersebut. IC I/O yang dimaksuda= adalah PPI 8255. (Syahrul,2012)

b. Memori Internal

Memori merupakan mefia untuk menyimpan program dan data sehingga mutlak harus ada. Mikroprosesoor belum memiliki memori internal sehingga memerlukan IC memori eksternal. Dengan kelebihan kelebihan di atas, ditambah dengan harganya yang relatif murah sehingga banyak pemggemar elektronika yang kemudian beralih ke mikrokontroler. Namun demikian, meski memiliki berbagai kelemahan, mikroprosesor tetap digunakan sebagi dasar dalam mempelajari mikrokontroller.

(26)

standart memiliki arsitekrut 8-bit, dimana semua instruksi dikemas dalam kode 16-bit dan sebagian besar instruksi dieksekusi dalam satu siklus clock. Berbeda dengan instruksi MCS-51 yang membutuhkan 12 siklus clock karena memiliki arsitektur CICS (seperti komputer).(Dedi,2010)

Gambar 2.5 Blok Diagram ATMega8535

Dari gambar tersebut dapat dilihat bahwa ATMega 8535 memiliki bagian sebagai berikut:

1. Saluran I/O sebanyak 32 buah, yaitu Port A,Port B, Port C, Port D 2. ADC 10 bit sebanyak 8 saluran.

3. Tiga buah Timer/Counter dengan kemampuan pembandingan 4. CPU yang terdiri atas 32 buah register

5. Watchdog Timer dengan osilator internal. 6. SRAM sebesar 512 byte.

7. Memori Flash sebesar 8 kb dengan kemampuan Read White Write 8. Unit interupsi internal dan eksternal

9. Port antarmuka SPI

(27)

11. Antarmuka komparator analog 12. Port USART untuk komukasi serial

Secara umum, AVR dapat dikelompokkan mejadi 4 kelas, yaitu keluarga ATTiny, keluarga AT90Sxx, keluarga ATMega dan AT89RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama. Oleh karena itu, dipergunakan salah satu AVR produk Atmel, yaitu ATMega8535. Selain mudah didapat dan lebih murah ATMega8535 juga memiliki fasilitas yang lengkap untuk tipe AVR ada 3 jeni yaitu ATTiny, AVR klasik, dan ATMega. Perbedaannya hanya pada fasilitas dengan I/O yang tersedia serta fasilitas lain seperti ADC, EEPROM, dan lain sebaginya. Salah satu contohnya adalah ATMega8535. Memiliki teknologi RICS dengan kecepatan maksimal 16 MHz membuat ATMega 8535 lebih cepat bila dibandingkan dengan varian MCS 51. Dengan fasilitas yang lengkap tersebut menjadikan ATMega 8535 sebagai mikrokontroler yang powerfull.

2.4.1 Konfigurasi PIN ATMega8535

Gambar 2.6 Konfigurasi Pin ATMega8535

(28)

yang masing-masingnya terdiri atas 8 pin. Pin-pin lainnya digunakan untuk keperluan rangkaian osilator, supply tegangan, reset,serta tegangan referensi untuk ADC. Untuk lebih jelasnya, konfigurasi pin atmega8535 dapat dilihat pada gambar 2.6.

Berikut ini adalah susunan pin-pin dari atmega8535:

1. VCC merupakan pin yang berfungsi sebagai pin masukan catudaya 2. GND merupakan pin Ground

3. Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC 4. Port B (PB0..PB7) merupakam pin I/O dua arah dam pin fungsi khusus, yaitu

Timer/Counter, komparator analog, dan SPI

5. Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog, dan Timer Osilator

6. Port D (PD0..PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator analog, interupsi internal dan komunikasi serial USART

7. Reset merupakan pin yang digunakan untuk mereset mikrokontroller

8. XTAL1 dan XTAL2 merupakan pin masukkan clock eksternal (osilator menggunakan kriatal, biasanya dengan frekuensi 11,0592 MHz)

2.4.2 Port –Port Pada ATMega8535 dan Fungsinya

2.4.2.1Port A

Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit ). Output buffer Port A dapat memberi arus 20mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port A (DDRA) harus disetting terlebih dahulu sebelum port A digunakan. Bit-bit DDRA diisi 0 jika ingin menfungsikan pin-pin port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai output selain itu, kedelaan pin port A juga digunakan untuk masukan sinyal analog bagi A/D converter.

2.4.2.2Port B

(29)

Register port B (DDRB) harus di setting terlebih dahulu sebelum port B digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Pin-pin port B juga memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel berikut:

Tabel 2.1 Fungsi Pin-pin Port B

Port Pin Fungsi Khusus

PB0 T0 = timer/counter 0 eksternal counter input PB1 T1 = timer/counter 0 eksternal counter input PB2 AIN0= analog comparator positive input PB3 AIN1= analog comparator negative input PB4 SS = SPI slave select input

PB5 MOSI= SPI bus master output/slave input PB6 MISO= SPI bus master input/s;ave output PB7 SCK= SPI bus serial clock

2.4.2.3Port C

Merupakan 8-bit direction port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port C dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Directin Register port C (DDRC) harus disettimg terlebih dahulu sebelum port C digunakan. Bit-bit DDRC diisi 0 jika memfungsikan pin-pin port C yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. selain itu, dua pin pirt C (PC6 dan PC7) juga memiliki fungsi alternatif sebagai osilator untuk timer/counter.

2.4.2.4Port D

(30)

D juga memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel berikut:

Tabel 2.2 Fungsi Pin-pin Port D

Port Pin Fungsi Khusus

PD0 RDX (UART input line)

PD1 TDX (UART output line)

PD2 INT0 (external 0 input)

PD3 INT1 (external 1 input)

PD4 OCIB (timer/counter 1 output conpare B match output) PD5 OCIA (timer/counter 1 output compare A match output) PD6 ICP (timer/counter1 input capture pin)

PD7 OC2 (timer/counter2 output conpare match output)

RST pada pin ( merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama minimal 2 machine cycle maka sistem akan di-reset.

2.4.2.5XTAL1

XTAL1 adalah masukan ke inverting oscillator amplifier dan input ke internal clock operating circuit.

2.4.2.6XTAL2

XTAL2 adalah output dari inverting oscillator amplifier

2.4.2.7A Vcc

Avcc adalah kaki masukan tegangan bagi A/D converter. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter.

2.4.2.8AREF

AREF adalah kaki masukan referensi bagi A/D converter. Untuk operationalisasi ADC, suatu level tegangan antara AGND dan Avcc harus diberi ke kaki ini.

(31)

AGND adalah kaki untuk analog ground. Hubungan kaki ini ke GND, kecuali jika broad memiliki analog ground yang terpisah.

2.4.3 Peta Memori ATMega853

ATMega8535 memiliki dua jenis memori yaitu Program Memory dan Data Memory ditambah satu fitur tambahan yaitu EEPROM memory untuk penyimpana data.(Wardhana,2006)

2.4.3.1Program Memory

ATMega8535 memiliki On-Chip In-System Reprogrammable Flash Memory untuk menyimpan program. Untuk alasam keamanan, program memory dibagi menjadi dua bagian, yaitu Boot Flash Section dan Application Flash Section. Boot Flash Section digunakan untuk menyimpan Program Boot Loader, yaitu program yang harus dijalankan pada saat AVR reset atau pertama kali diaktifkan.

Application Flash Section digunakan untuk menyimpan program aplikasi yang dibuat user. AVR tidak dapat menjalankan program aplikasi ini sebelum menjalankan program Boot Loader. Besarnya memori Boot Flash Section dapat diprogram dari 128 word sampai 1024 word tergantung setting pada konfigurasi bit di register BOOTSZ. Jika Boot Loader diproteksi, maka program pada application flash section juga sudah aman. (Agus,2005)

(32)

2.4.3.2Data memory

Gambar 2.8 Peta Memori Data

Gambar berikut menunjukkan peta memori SRAM pada ATMEGA8535. Terdapat 608 lokasi address data memori 96 lokasi address digunakan untuk register file dan I/O memory sementara 512 lokasi address lainnya digunakan untuk internal data SRAM. Register file terdiri dari 32 general purpose working register, I/O register terdiri dari 64 register.

2.4.3.3Status Register (SREG)

Status register adalah register berisi status yang dihasilkan pada setiap operasi yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU mikrokontroller.

(33)

 Bit 7- I : Global Interrupt Enable

Jika bit global interrupt enabel diset, maka g=fasilitas interupsi dapat dijalankan. Bit ini akan clear ketika ada interupt yang dipicu dari hardware, setelah program interupt dieksekusi, maka bit ini harus di set kembali dengan interuksi SEI

 Bit 6-T : Bit Copy Stroag

Interuksi bit copy BLD dan BST menggunakan bit T sebagai sumber atau tujuan dalam operasi bit.

 Bit 5-H ; Half carry flag

 Bit 4-S : Sign Bit

Bit S merupakan hasil exklusive or dari negative flag N dan two’s complement overflow flag V

 Bit 3- V : Two’s complement overflow flag Digunakan dalam operasi aritmatika

 Bit 2-N : Negative flag

Jika operasi aritmatika menghasilkan bilangan negative maka bit ini akan set

 Bit 1- Z : Zero Flag

Jika operasi aritmatika menghasilkan bilangan nol, maka bit ini akan set

 Bit 0-C : Carry Flag

Jika suatu operasi menghasilkan Carry, maka bit ini akan set.

2.4.4 Komunikasi Serial

(34)

sisi penerima. Sedangkan komunikasi data serial asinkron tidak diperlukan clock karena data dikirimkan dengan kecepatan tertentu. Baik pada pengirim maupun penerima.

2.4.4.1Komunikasi Serial pada ATMega8535

Peralatan komunikasi serial pada Atmega8535 sudah terintegrasi pada system chip. Dan masing-masing registernya baik data maupun kontrol dihubungkan dengan register input-output atau port, sebagaimana peralatan lainnya. Sehingga user (kita) cukup hanya mengaskses register-register yang berhubungan dengan serial inilah untuk mempengaruhi atau memanipu;asi peralatan tersebut. Data dikirim melalui bebrapa jalur data. Biasanya masing-masing dengan kabel tersendiri. Pada prinsipnya register-register peralatan ini hanya 5 buah. UDR, UCSRA, UCSRB, dan UBRR.

USART merupakan komunikasi yang memiliki fleksibelitas tinggi, yang dapat digunakan untuk melakukan transfer data baik antar mikrokontroller maupun dengan modul-modul eksternal termasuk PC yang memiliki fitur UART.(Wardhana,2006)

2.5 Modul Wireless

LAN nirkabel adalah suatu jaringan nirkabel yang menggunakan frekuensi radio untuk komunikasi antara perangkat komputer dan akhirnya titik akses yang merupakan dasar dari transiver radio dua arah yang tipikalnya bekerja di bandwith 2,4 GHz (802.11b, 802.11g) atau 5 GHz (802.11a). kebanyakan peralatan mempunyaai kualifikasi Wi-Fi, IEEE 802.11b atau akomodasi IEEE 802.11g dan menawarkan beberapa level keamanan seperti WEP dan atau WPA. Teknologi Wireless LAN menjadi sangat popular daat ini banyak aplikasi.Setelah evaluasi terhadap teknologi tersebut dilakukan, menjadikan para pengguna merasa puas dan meyakini realiability teknologi ini dan siap untuk digunakan dalam skala luas dan komplek pada jaringan tanpa kabel.(Mulyanta,2007)

(35)

 Mobility, sistem wireless LAN bisa menyediakan user dengan informasi access yang real-time, dimana saja dalam suatu organisasi. Mobilitas semacam ini sangat mendukung produktivitas dan peningkatan kualitas pelayanan apabila dibandingkan dengan jaringan kabel.

 Installation speed and simplicity, instalasi sistem wireless LAN bisa cepat dan sangat mudah dan bisa mengeliminasi kebutuhan penarikan kabel yang memalui atap atau pun tembok

 Installation flexibility, teknologi wireless memungkinkan suatu jaringan untuk bisa mencapai tempat-tempat yang tidak dapat dicapai dengan jaringan kabel.

 Reduced cost-of-ownership, meskipun investasi awal yang dibutuhkan oleh wireless LAN untuk membeli perangkat hardware bisa lebih tinggi daripada biaya yang dibutuhkan oleh perangkat wire LAN hardware, namun bila di perhitungkan secara keseluruhan, instalasi dan life-cycle costnya, maka secara signifikan lebih murah. Dan bila digunakan dalam lingkungan kerja yang dinamis yang sangat membutuhkan seringnya pergerakan dan perubahan yang sering maka keuntungan jangka panjanganya pada suatu wireless LAN akan jauh kebih besar bila dibandingkan dengan wired LAN.

 Scalability, sistem wireless LAN bisa dikonfigurasi dalam berbagai macam topologi untuk memenuhi kebutuhan pangguna yang beragam, konfigurasi dapat dengan mudah diubah mulai dari jaringan peer-to-peer yang sesuai untuk jumlah pengguna yang kecil sampai ke full infrastructure network yang mampu melayani ribuan user dan memungkinkan roaming dalam area yang luas.

2.6 Bahasa Pemograman Mikrokontroller dengan CodeVisionAVR

(36)

penulisan program, compile, link, pembuatan kode mesin (assembler) dan download program ke chip AVR dapat dilakukan dengan CodeVision, selain itu ada fasilitas terminal, yaitu melakukan komunikasi serial dengan mikrokontroller yang sudah di program. Proses download program ke IC mikrokontroller AVR dapat mengggunakan System programmable Flash on-Chip mengizinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI.

Salah satu keistinewaan bahasa pemograman CodeVision ini adalah memiliki library standart C dan library tertentu untuk keperluam sebagai berikut: a. Modul LDC alphanumeric

b. Bus I2C dari philips

c. Sensor suhu LM75 dari National Semiconductor

d. Real-Time Clock: PCF8563, PCF8583 dari philips, DSI 302 dan DSI307 dari maxim/dallas semiconductor

e. Protokol 1-Wire dari maxim/dallas semiconductor

f. Sensor suhu DS1820, DS18S20, dan DS18B20 dari Maxim/Dallas Semiconductor

g. Termometer/Termostat DS1621 dari Maxim/Dallas Semiconductor h. EEPROM DS2430 dan DS2433 dari Maxim/Dallas Semiconductor i. SPI

j. Power management k. Delay

l. Konversi ke Kode Gray

CodeVisionAVR juga mempunyai Automatic Program Generator bernama CodeWizardAVR, yang dapat nenpermudah programmer dalam menulis kode-kode program yang bersifat umum, antara lain:

a. Set-up akses memori eksternal b. Inisialisasi port input/output c. Inisialisasi interupsi eksternal d. Inisialisasi timer/counter e. Inisialisasi Watchdog-Timer

(37)

g. Inisialisasi perbandingan analog h. Inisialisasi ADC

i. Inisialisasi Antarmuka SPI j. Inisialisasi Antarmuka Two-Wire k. Inisialisasi Antarmuka CAN

l. Inisialisasi Bus I2C, Sensor Suhu LM375, Thermometer/Thermostat DS1621 dan Real-Time Clock PCF8563, PCF8583, DS1307, dan DS1320

m. Inisialisasi Bus 1-Wire dan Sensor Suhu DS1820, DS18S20 n. Inisialisasi modul LCD. (Setiawan,.2001)

2.7 Delphi7

Delphi adalah sebuah bahasa pemrograman dan lingkungan pengembangan perangkat lunak. Produk ini dikembangkan oleh CodeGear sebagai divisi pengembangan perangkat lunak milik Embarcadero, divisi tersebut sebelumnya adalah milik Borland. Bahasa Delphi, atau dikenal pula sebagai OBJECT PASCAL (pascal dengan ekstensi pemrograman berorientasi objek (PBO/OOP)) pada mulanya ditujukan hanya untuk Microsoft Windows, namun saat ini telah mampu digunakan untuk mengembangkan aplikasi untuk Linux dan Microsoft .NET framework. Dengan menggunakan Free Pascal yang merupakan proyek opensource, bahasa ini dapat pula digunakan untuk membuat program yang berjalan di sistem operasi Mac OS X dan Windows CE.

Delphi adalah sebuah perangkat lunak (bahasa pemrograman) untuk membuat program atau aplikasi komputer berbasis windows. Delphi merupakan bahasa pemrograman berbasis obyek, artinya semua komponen yang ada merupakan obyek – obyek. Ciri sebuah obyek adalah memiliki nama, properti, dan method / prosedur

2.7.1 Lingkungan Kerja Delphi

(38)

diperlukan untuk mendesain aplikasi, menjalankan dan menguji apakah sebuah aplikasi disajikan dengan baik untuk memudahkan pengembangan program (Madcoms, 2003). IDE Delphi terbagi menjadi enam bagian utama, yaitu Main Window, ToolBar, Component Palette, Form Designer, Code Editor, dan Object Inspector.

2.7.2 Main Window

Main window adalah bagian IDE yang mempunyai fungsi yang sama dengan semua fungsi utama dari program aplikasi Windows lainnya. Main window Delphi terbagi menjadi tiga bagian, berupa main window, toolbar dan component palette.

2.7.3 ToolBar

Delphi memiliki beberapa toolbar yang masing – masing memiliki perbedaan fungsi dan setiap tombol pada bagian toolbar berfungsi sebagai pengganti suatu menu perintah yang sering digunakan. Toolbar terletak pada bagian bawah garis menu. Pada kondisi default Delphi memiliki enam bagian toolbar, antara lain Standard, View, Debug, Desktop, Custom, dan Component Palette.

2.7.4 Component Palette

Component Palette berisi kumpulan ikon yang melambangkan komponen – komponen yang terdapat pada VCL (Visual Component Library).

2.7.5 Form Designer

Merupakan suatu objek yang dapat dipakai sebagai tempat untuk merancang program aplikasi. Form berbentuk sebuah meja kerja yang dapat diisi dengan komponen – komponen yang diambil dari Component Palette.

(39)

form mengandung unit yang berfungsi untuk mengendalikan form, yang dapat dikendalikan dengan menggunakan Object Inspector dan Code Editor

2.7.6 Code Editor

Merupakan tempat untuk menuliskan kode program dan menuliskan pernyataan – pernyataan objek Pascal. Keuntungan menggunakan delphi adalah kita tidak perlu menuliskan kode – kode sumber, karena Delphi telah menyediakan kerangka penulisan sebuah program

2.7.7 Object Inspector

Object Inspector digunakan untuk mengubah properti atau karakteristik dari sebuah komponen. Object Inspector terdiri dari dua tab, yaitu Properties dan Events.

2.7.8 Tab Properties

Digunakan untuk mengubah properti komponen.

2.7.9 Tab Events

(40)

BAB 3

PERANCANGAN SISTEM

3.1 Tempat dan Waktu Penelitian

Penelitian ini dilakukan di Laboraturium Terpadu Fisika, Universitas Sumatera Utara meliputi perancangan dan perakitan sistem elektronika. Untuk keperluan pengujian siste sensor dan rangkaian dilakukan di jalan Universitas pintu 1 komplek Universitas Sumatera utara.

Waktu penelitian dilakukan pada tanggal 15 November 2014 sampai dengan 10 Maret 2015.

3.2 Perancangan Alat

3.2.1 Diagram Blok rangkaian

Adapun diagram blok dari system yang dirancang seperti yang di perlihatkan pada gambar 3.1

ACCELEROMETER

Gambar 3.1 Diagram Blok Rangkaian

(41)

percepatan (accelerometer), dimana sensor tersebut akan mengindentifikasi getaran yang ada kemudian dibaca oleh mikrokontroller dan dikirimkan melalui wireless transmiter dan diterima oleh wireless receiver kemudian ditampilka di PC dalam bentuk grafik.

3.1.2 Rangkaian Mikrokontroller Atmega8535

Pada gambar 3.2 menampilkan rangkaian sistem minimum mikrokontroller atmega8535, atau dengan kata lain rangkaian yang harus ada untuk menjalankan suatu mikrokontroller

Gambar 3.2 Sistem mikrokontroller AT mega 8535

(42)

isolator untuk mikrokomtroller. Nilai x-tal 11,0593MHz diatur dengan pertimbangan untuk menghasilkan nilai baund rate tanpa error saat berkomunikasi dengan modul wireless 433,3MHz kesisi penerima, nilai baundrate yag digunakan adalah 9600bps. Sistem reset otomatis menggunakan kapasitro 10uF/16V dan sebuah resistor senilai 10KΩ. Dengan pemasangan kapasitor dan resistor ini, pada saat power supply dinyalakan maka mikrokontroller akan reset secara otomatis, kemudian bekerja secara normal. Hal ini disebabkan oleh proses pengisian dan pengosongan pada komponen kapasitor. Pada kaki-kaki PD0 dan PD1 dihubungkan ke Wireless untuk jalur komunikasi data serial yang akan dikirimkan ke PC.

3.2.2 Rangkaian Sensor Accelerometer MPU6050

Pada gambar 3.3 menampilkan rangkaian sistem minimum sensor modul accelerometer MPU 6050

Gambar 3.3 Sistematika Sensor MPU 6050

(43)

nilai logika 0 ke logika 1 sehingga diberikan resistor pull-up dimana resistor tersebut berfungsi menaikkan tegangan ke nilai logika 1 pada serial data (SDA). Data yang dikirimkan berupa data digital selaras dengan clock yang dikirimkan, sensor modul accelerometer MPU 6050 menggunakan jalur komunikasi data I2C (inter intergrated circuit). Pada saat adanya getaran ada perubahan nilai kapasitansi yang di konvert menjadi nilai tegangan yang dibaca oleh sensor kemudian dirubah dalam bentuk digital oleh modul itu sendiri sebagai mikroteknologi sehingga keluaran dari modul sensor ini berupa data digital dalam serial data (SDA).

3.2.3 Sistem rangkaian wireless

Pada gambar 3.4 menampilkan rangkaian sistem minimum wireless KYL1020-U pada rangkaian sistem minimum.

Gambar 3.4 Sistem minimun Rangkaian Wireless 1020-U

(44)

3.3 Flowchart

mulai

Inisialisasi port

Baca sensor accelerometer

Kirim ke PC via port serial

Tampilkan Di PC

(45)

Alur kerja diagram alir adalah sebagai berikut: 1. Start dimulainya program

2. Pertama-tama dilakukan untuk inisialisasi port, proses ini berfungsi untuk mendefenisikan pin pin I/O mikrokontroller yang akan digunakan dalam rangkaian.

3. Proses pembacaan sensor accelerometer mpu6050

4. Setelah proses pembacaan sensor maka hasil pembacaan akan dikirim ke PC melalui port serial yang kemudian akan ditampilkan pada PC

(46)

BAB 4

PENGUJIAN ALAT DAN PROGRAM

4.1 Pengujian Rangkaian

4.1.1 Pengujian Rangkaian Mikrokontroller ATMega8535

Pengujian pada rangkaian mikrokontroller ATMega8535 ini dapat dilakukan dengan menghubungan rangkaian ini dengan rangkaian power supply sebagai sumber tengangan. Kaki 40 dihubungkan dengan sumber tegangan 5 volt, sedangkan kaku 20 dihubungkan dengan ground. Kemudian tegangan pada kaki 40 diukur dengan menggunakan Voltmeter. Dari hasil pengujian didapatkan tegangan pada kaki 40 sebesar 4,9 Volt. Langkah selanjutnya adalah memberikan program sederhana pada mikrokontroller ATMega8535, program yang diberikan adalah sebagai berikut

#include <mega8535.h> #include <delay.h> #include <stdio.h>

While (1) {

// place your code here While ( ir == 1) {}; While ( ir == 0) {

delay_us(100); count ++; }

(47)

KYL Transmiter

KYL Receiver

4.1.2 Pengujian Sensor Accelerometer

Sensor ini bekerja dengan sangat baik, sesuai dengan datasheet yang dikeluarkan pihak pabrikan. Sensor ini sudah menjadi sensor standar internasional. Pengujian sensor ini menggunakan software delphi 7.

4.1.3 Pengujian Modul Kyl 1020-U

Pengujian terhadap modul wireless ini dilakukan dengan melakukan pengiriman data dari transmiter ke receiver, kemudian data yang dikirim dibandingkan dengan data yang diterima. Model pengujian yang lain adalah dengan menguji kemampuan daya pancar modul wireless tersebut dengan memberikan variasi jarak antara transmiter dengan receiver.

Gambar 4.1 Bagan Pengambilan data dari Wireless KYL

Untuk pengujian dilakukan dengan cara menampilkan di layar PC yang ada pada bagian transmiter (pengirim). Dari hasil pengamatan antara data yang tampil di layar PC di peroleh bahwa data yang dapat terkirim adalah:

4.1 Tabel Pengujian wireless

Jarak (m) Hasil pengiriman

(48)

100 Terkirim 110 Tidak Terkirim 120 Tidak Terkirim

Dari data diatas diketahui bahwa hasil dari pengujian wireless ini dapat menerima data sejauh 100 meter.

4.2 Pengujian Keseluruhan Rangkaian

Pengujian sistem secara keseluruhan ini dilakukan dengan menggabungkan semua peralatan dalam sebuah sistem yang terintegrasi. Tujuannya untuk mengetahui bahwa rangkaian yang dirancang telah bekerja sesuai yang diharapkan, lalu diberi arus melalui baterai 9 volt diteruskan kerangkaian system minimun dan rangkaian wireless KYL 1020-U, dan PC.

Sebagai pengujian alat ini, dilakukan pengukuran dengan meletakkan system mininum dibagian depan mobil, mobil yang digunakan adalah daihatsu terrios 2013 di Jalan Universitas depan Gedung Fasilkom-TI USU sampai di depan Fakultas Kedokteran (pintu1) USU dengan jarak 404,34m. Berikut adalah hasil dari pengujian alat ini yang dilakukan berulang sebanyak 5 kali:

1. Hasil pengujian getaran mobil pertama

Grafik 1. Grafik hubungan accelometer dengan waktu pada mobil

(49)

Dari grafik diatas dapat dilihat bahwa getaran yang terjadi pada mobil daihatsu terrios ketika melewati gundukan atau sering disebut polisi tidur mengalami percepatan sebessar 1,2 m/s2 pada gundukan setebal 5 cm.

Pada grafik diatas diketahui bahwa jarak antar gundukan pertama dengan gundukan kedua ialah 321m atau 0,321 km. Dimana jarak tempuh antar gundukan ialah 83 sekon dengan kecepatan secara teori 20km/h.

s = 0,321 km

t = 69 s = = 0,019 h

v = =

= 16,89 km/h

maka ralat yang terjadi pada alat adalah: % ralat =

= × 100 %

(50)

2. Pengujian percepatan mobil terrios kedua kali

Grafik 2. Grafik hubungan accelometer dengan waktu pada mobil

daihatsu terrios 2

Pada grafik diatas didapatkan waktu yang ditempuh mobil pada saat melalui gundukan pertam sampai digundukan kedua adalah 66 s dengan jarak antar gundukan 321m atau 0,321 km dengan kecepatan teori konstan 20 km/h/

s = 0,321 km

t = 66 s =

= 0,0183 h v = =

= 17,54 km/h

maka ralat yang terjadi pada alat adalah: % ralat =

= × 100 %

(51)

3. Pengujian percepatan mobil terrios ke-3

Grafik 3. Grafik hubungan accelometer dengan waktu pada mobil

daihatsu terrios 3

Pada grafik diatas didapatkan waktu yang ditempuh mobil pada saat melalui gundukan pertam sampai digundukan kedua adalah 65 s dengan jarak antar gundukan 321m atau 0,321 km dengan kecepatan teori konstan 20 km/h/

s = 0,321 km

t = 65 s = = 0,018 h

v = =

= 17,83 km/h

(52)

= × 100 % = 10,8%

4. Pengujian percepatan mobil terrios ke-3

Grafik 4. Grafik hubungan accelometer dengan waktu pada mobil

daihatsu terrios 4

Pada grafik diatas didapatkan waktu yang ditempuh mobil pada saat melalui gundukan pertam sampai digundukan kedua adalah 70 s dengan jarak antar gundukan 321m atau 0,321 km dengan kecepatan teori konstan 20 km/h/

s = 0,321 km

t = 70 s =

= 0,0194 h v = =

= 16,54 km/h

(53)

% ralat =

= × 100 %

= 17,3%

5. pengujian percepatan mobil terrios ke-5

Grafik 5. Grafik hubungan accelometer dengan waktu pada mobil

daihatsu terrios 5

Pada grafik diatas didapatkan waktu yang ditempuh mobil pada saat melalui gundukan pertam sampai digundukan kedua adalah 67 s dengan jarak antar gundukan 321m atau 0,321 km dengan kecepatan teori konstan 20 km/h.

s = 0,321 km

t = 67 s =

= 0,0186 h v = =

(54)

% ralat =

= × 100 %

= 13,7%

6. Pembesaran grafik getaran mobil di gundukan pertama

Grafik 6. Grafik pembesaran hasil percepatan pada mobil daihatsu

terrios

(55)

7. Hasil pengujian Getaran mesin mobil pada mobil daihatsu terrios 2013

Grafik 7. Hubungan accelerometer dengan waktu pada mesin mobil daihatsu terrios

Pengujian getaran mesin dilakukan dengan meletakkan rangkaian alat di mesin mobil dengan merekatkannya pada tali kemudian mobil dihidupkan dengan cara di starter dalam keadaan diam, pada saat mobil tersebut dinyalakan maka dihasilkan getaran percepatan mesin ±0,6 m/s2, pada saat getaran mesin stabil maka percepatannya menjadi ±0,3 m/s2 dan pada saat mobil mulai dimatikan dihasilkan getaran percepatan sebesar ±0,15 m/s2.

(56)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan Penelitian yang telah dilaksanakan penulis memperoleh kesimpulan sebagai berikut:

1. Sistem secara umum sudah dapat bekerja sesuai dengan yang diharapkan, berjalan sesuai dengan rancangan yang dibuat. Pada saat mobil melalu polisi tidur di dapat data percepatan pada mobil daihatsu terrios sebesar 1,2 m/s2.

2. Dari hasil yang diperoleh diketahui bahwa sensor accelerometer dapat bekerja sesuai dengan data sheet sehingga diperoleh data berupa percepatan dengan satuan m/s2

3. Jarak jangkauan pengiriman data dengan menggunakan wireless KYL 1020-U data masih dapat diterima dengan baik sejauh 100 m.

5.2 Saran

Beberapa hal yang dapat disarankan dari pelaksanna tugas akhir ini adalah: 1. Untuk perancangan sistem ini lebih lanjut hendaknya digunakan sensor

yang lebih baik untuk mendapatkan hasil yang lebih baik

2. Perlu dilakukan desain ulang pada hardware (perancangan perangkat kerasnya) termasuk pemilihan sensor dan mikrokontrollernya agar didapatkan rangkaian yang lebih sempurna.

(57)

DAFTAR PUSTAKA

Alma’i,Rahman dkk.2009. Aplikasi Sensor Accelerometer Pada Posisi. Semarang. Universitas Diponegoro.

Bejo,Agus.2005. C & AVR Rahasia Kemudahan Bahasa C dalam Mikrokontroller AT-Mega 8535.Edisi Pertama, Yogyakarta,Penerbit Griya Media.

Hibban,Hafizh.2013. Sistem Pengukuran dan Monitoring kecepatan gerak kendaraan bermotor. Riau.Poloteknik caltex riau

Hutahaean,Y Ramses.2012.Getaran Mekanik.Yogyakatya,Penerbit Andi. Mulyanta,Edi.2007.Pengenalan Protokol Jaringan Wireless Komputer Yogyakarta,Andi Yogyakarta.

Rahmat,Rafuddin.2007. Belajar sendiri mikrokontroller AVR dari Atmega 8535 Yogyakarta, Andi Yogyakarta.

Rusli.A.1997. Fisika Dasar 1. Jakarta. P.T Gramedia Pustaka Utama Setiawan,Afrie.2001. Aplikasi Mikrokontroller atmega8535 & atmega 16

Menggunakan Bascom-AVR.Yogyakarta,Andi Yogyakarta.

Syahrul.2012.Mikrokontroller Dengan AVR atmega 8535 (Dengan assembler) Bandung,Informatika.

Susilo,Deddy.2008.48 Jam Kupas tuntas Mikrokontroler MCS51 & AVR. Yogyakarta. Penerbit Andi.

Wardhana,Lingga. 2006. Belajar Sendiri Mikrokontroller AVR Seri atmega 8535 Yogyakarta. C.V. Andi Offset.

Wignall,Athur.dkk.1994.Proyek Jalan. Edisi Keempat. Jakarta.Erlangga. http://wirasetiawan29.wordpress.com/2014/04/06/accelerometer/

(58)

LAMPIRAN A

Program pada mikrokontroler

/******************************************************* This program was created by the

CodeWizardAVR V3.12 Advanced

Project : gelombang Version : Revisi 4 Date : xx/xx/2015 Author : Nisa

Company : Fisika s-1 FMIPA USU 2010 Comments: ganbatte

****************************************************** /#include <mega32a.h

// I2C Bus functions #include <i2c.h> #include <stdlib.h> #include <delay.h> #include <math.h>

// Declare your global variables here

//---// #define DATA_REGISTER_EMPTY (1<<UDRE)

(59)

#define DATA_OVERRUN (1<<DOR) // USART Receiver buffer

#define RX_BUFFER_SIZE 8 char rx_buffer[RX_BUFFER_SIZE]; #if RX_BUFFER_SIZE <= 256

unsigned char rx_wr_index=0,rx_rd_index=0; #else

unsigned int rx_wr_index=0,rx_rd_index=0; #endif

#if RX_BUFFER_SIZE < 256 unsigned char rx_counter=0; #else

unsigned int rx_counter=0; #endif

// This flag is set on USART Receiver buffer overflow bit rx_buffer_overflow;

// USART Receiver interrupt service routine interrupt [USART_RXC] void usart_rx_isr(void) {

char status,data; status=UCSRA; data=UDR;

if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)

{

(60)

#if RX_BUFFER_SIZE == 256

// special case for receiver buffer size=256 if (++rx_counter == 0) rx_buffer_overflow=1; #else

if (rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE)

{

rx_counter=0;

rx_buffer_overflow=1; }

#endif } }

#ifndef _DEBUG_TERMINAL_IO_

// Get a character from the USART Receiver buffer #define _ALTERNATE_GETCHAR_

#pragma used+ char getchar(void) {

char data;

while (rx_counter==0);

data=rx_buffer[rx_rd_index++]; #if RX_BUFFER_SIZE != 256

if (rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0; #endif

(61)

--rx_counter; #asm("sei") return data; }

#pragma used- #endif

// USART Transmitter buffer #define TX_BUFFER_SIZE 8 char tx_buffer[TX_BUFFER_SIZE]; #if TX_BUFFER_SIZE <= 256

unsigned char tx_wr_index=0,tx_rd_index=0; #else

unsigned int tx_wr_index=0,tx_rd_index=0; #endif

#if TX_BUFFER_SIZE < 256 unsigned char tx_counter=0; #else

unsigned int tx_counter=0; #endif

// USART Transmitter interrupt service routine interrupt [USART_TXC] void usart_tx_isr(void) {

if (tx_counter) --tx_counter;

(62)

if (tx_rd_index == TX_BUFFER_SIZE) tx_rd_index=0; #endif

} }

#ifndef _DEBUG_TERMINAL_IO_

// Write a character to the USART Transmitter buffer #define _ALTERNATE_PUTCHAR_

#pragma used+ void putchar(char c) {

while (tx_counter == TX_BUFFER_SIZE); #asm("cli")

if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0)) {

tx_buffer[tx_wr_index++]=c; #if TX_BUFFER_SIZE != 256

if (tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0; #endif

++tx_counter; }

else UDR=c; #asm("sei") }

(63)

// Standard Input/Output functions #include <stdio.h>

//---ADDRESS REGISTER VARIABEL SENSOR---//

#define MPU6050_ADDRESS 0xD0 // Address with end write bit #define MPU6050_RA_XG_OFFS_TC 0x00 //[7] PWR_MODE, [6:1] XG_OFFS_TC, [0] OTP_BNK_VLD

#define MPU6050_RA_YG_OFFS_TC 0x01 //[7] PWR_MODE, [6:1] YG_OFFS_TC, [0] OTP_BNK_VLD

#define MPU6050_RA_ZG_OFFS_TC 0x02 //[7] PWR_MODE, [6:1] ZG_OFFS_TC, [0] OTP_BNK_VLD

#define MPU6050_RA_X_FINE_GAIN 0x03 //[7:0] X_FINE_GAIN #define MPU6050_RA_Y_FINE_GAIN 0x04 //[7:0] Y_FINE_GAIN #define MPU6050_RA_Z_FINE_GAIN 0x05 //[7:0] Z_FINE_GAIN #define MPU6050_RA_SMPLRT_DIV 0x19

#define MPU6050_RA_CONFIG 0x1A

#define MPU6050_RA_GYRO_CONFIG 0x1B #define MPU6050_RA_ACCEL_CONFIG 0x1C #define MPU6050_RA_FF_THR 0x1D

#define MPU6050_RA_FF_DUR 0x1E #define MPU6050_RA_MOT_THR 0x1F #define MPU6050_RA_MOT_DUR 0x20 #define MPU6050_RA_ZRMOT_THR 0x21 #define MPU6050_RA_ZRMOT_DUR 0x22 #define MPU6050_RA_FIFO_EN 0x23

(64)
(65)
(66)

#define MPU6050_RA_EXT_SENS_DATA_16 0x59 #define MPU6050_RA_EXT_SENS_DATA_17 0x5A #define MPU6050_RA_EXT_SENS_DATA_18 0x5B #define MPU6050_RA_EXT_SENS_DATA_19 0x5C #define MPU6050_RA_EXT_SENS_DATA_20 0x5D #define MPU6050_RA_EXT_SENS_DATA_21 0x5E #define MPU6050_RA_EXT_SENS_DATA_22 0x5F #define MPU6050_RA_EXT_SENS_DATA_23 0x60 #define MPU6050_RA_MOT_DETECT_STATUS 0x61 #define MPU6050_RA_I2C_SLV0_DO 0x63

#define MPU6050_RA_I2C_SLV1_DO 0x64 #define MPU6050_RA_I2C_SLV2_DO 0x65 #define MPU6050_RA_I2C_SLV3_DO 0x66

#define MPU6050_RA_I2C_MST_DELAY_CTRL 0x67 #define MPU6050_RA_SIGNAL_PATH_RESET 0x68 #define MPU6050_RA_MOT_DETECT_CTRL 0x69 #define MPU6050_RA_USER_CTRL 0x6A

#define MPU6050_RA_PWR_MGMT_1 0x6B #define MPU6050_RA_PWR_MGMT_2 0x6C #define MPU6050_RA_BANK_SEL 0x6D

#define MPU6050_RA_MEM_START_ADDR 0x6E #define MPU6050_RA_MEM_R_W 0x6F

(67)

#define MPU6050_RA_FIFO_R_W 0x74 #define MPU6050_RA_WHO_AM_I 0x75

//---END---/

//---FUNGSI-FUNGSI PADA SENSOR---//

void nulis_i2c(unsigned char alamatt,unsigned char regg, unsigned char dataa) {

i2c_start();

i2c_write(alamatt | 0); i2c_write(regg); i2c_write(dataa); i2c_stop(); delay_ms(10); }

char baca_i2c(unsigned char alamat,unsigned char reg) {

unsigned char baca; i2c_start();

i2c_write(alamat |0); i2c_write(reg); i2c_start();

i2c_write(alamat |1); baca=i2c_read(0); i2c_stop();

(68)

}

void tes_i2c() {

unsigned char Datax = 0x00;

do{Datax=baca_i2c(MPU6050_ADDRESS, MPU6050_RA_WHO_AM_I);

if(Datax == 0x68) {

printf("cek berhasil"); }

else {

printf("cek gagal"); }

delay_ms(1000); } while(Datax!=0x68); }

//setelah sesuai dengan register who am i kita lanjut ke setting register : void setup_mpu6050()

{

//f sample ratenya 1k karena DPLF aktif 1000/1+1 = 500Hz

(69)

nulis_i2c(MPU6050_ADDRESS,MPU6050_RA_CONFIG,0x03); //Disable gyro self tests, scale of 250 degrees/s

nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_GYRO_CONFIG, 0x00); //Disable accel self tests, scale of +-2g, no DHPF

nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_ACCEL_CONFIG, 0b00000000);

//Freefall threshold of |0mg|

nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_FF_THR, 0x00); //Freefall duration limit of 0

nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_FF_DUR, 0x00); //Motion threshold of 0mg

nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_MOT_THR, 0x00); //Motion duration of 0s

nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_MOT_DUR, 0x00); //Zero motion threshold

nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_ZRMOT_THR, 0x00); //Zero motion duration threshold

nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_ZRMOT_DUR, 0x00); //Disable sensor output to FIFO buffer

nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_FIFO_EN, 0x00); //i2c MST CLOCK 348 kHz divider 23 dari 8Mhz mpu6050 internal clk nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_I2C_MST_CTRL, 0x00); //Setup AUX I2C slaves

(70)

nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_I2C_SLV1_ADDR, 0x00); nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_I2C_SLV1_REG, 0x00); nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_I2C_SLV1_CTRL, 0x00); nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_I2C_SLV2_ADDR, 0x00); nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_I2C_SLV2_REG, 0x00); nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_I2C_SLV2_CTRL, 0x00); nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_I2C_SLV3_ADDR, 0x00); nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_I2C_SLV3_REG, 0x00); nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_I2C_SLV3_CTRL, 0x00); nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_I2C_SLV4_ADDR, 0x00); nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_I2C_SLV4_REG, 0x00); nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_I2C_SLV4_DO, 0x00); nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_I2C_SLV4_CTRL, 0x00); nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_I2C_SLV4_DI, 0x00); //MPU6050_RA_I2C_MST_STATUS //Read-only

//Setup INT pin and AUX I2C pass through

nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_INT_PIN_CFG, 0x00); //Enable data ready interrupt

nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_INT_ENABLE, 0x00); //Slave out, dont care

(71)

nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_I2C_MST_DELAY_CTRL, 0x00);

//Reset sensor signal paths

nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_SIGNAL_PATH_RESET, 0x00);

//Motion detection control

nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_MOT_DETECT_CTRL, 0x00);

//Disables FIFO, AUX I2C, FIFO and I2C reset bits to 0

nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_USER_CTRL, 0x00); //Sets clock source to gyro reference w/ PLL

nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_PWR_MGMT_1, 0b00000010);

//Controls frequency of wakeups in accel low power mode plus the sensor standby modes

nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_PWR_MGMT_2, 0x00); nulis_i2c(MPU6050_ADDRESS, MPU6050_RA_FIFO_R_W, 0x00); printf("setup done");

delay_ms(1000); }

//setelah menulis register-register ini sensor data sensor siap di akuisisi. pertama akusisi data accelero

//contoh programnya seperti dibawah: void akusisi_accel()

{

(72)

axx_yl = baca_i2c(MPU6050_ADDRESS,MPU6050_RA_ACCEL_YOUT_L); axx_zh = baca_i2c(MPU6050_ADDRESS,MPU6050_RA_ACCEL_ZOUT_H); axx_zl = baca_i2c(MPU6050_ADDRESS,MPU6050_RA_ACCEL_ZOUT_L); axx_x = ((axx_xh<<8)|axx_xl)/100;

axx_y = ((axx_yh<<8)|axx_yl)/100; axx_z = ((axx_zh<<8)|axx_zl)/100;

axx_sudut_x =(float) 57.295*atan((float)axx_y/

// Declare your local variables here // Input/Output Ports initialization // Port A initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);

// Port B initialization

(73)

DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);

// Port C initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);

// Port D initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=0xFF // OC0 output: Disconnected

(74)

TCNT0=0x00; OCR0=0x00;

// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Disconnected // OC1B output: Disconnected // Noise Canceler: Off

// Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off

TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);

TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10);

(75)

// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=0xFF // OC2 output: Disconnected ASSR=0<<AS2;

TCCR2=(0<<PWM2) | (0<<COM21) | (0<<COM20) | (0<<CTC2) | (0<<CS22) | (0<<CS21) | (0<<CS20);

TCNT2=0x00; OCR2=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (0<<OCIE0) | (0<<TOIE0);

// External Interrupt(s) initialization // INT0: Off

// INT1: Off // INT2: Off

MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00); MCUCSR=(0<<ISC2);

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On

Gambar

Gambar 2.1 Pengintegralan sederhana terhadap suatu
Gambar 2.5 Blok Diagram ATMega8535
Gambar 2.6 Konfigurasi Pin ATMega8535
Tabel 2.2 Fungsi Pin-pin Port D
+7

Referensi

Dokumen terkait