• Tidak ada hasil yang ditemukan

SISTEM OTOMASI DISPENSER MENGGUNAKAN SENSOR ULTRASONIK BERBASIS ATMEGA32 TUGAS AKHIR DESY ROSRIANI PURBA

N/A
N/A
Protected

Academic year: 2022

Membagikan "SISTEM OTOMASI DISPENSER MENGGUNAKAN SENSOR ULTRASONIK BERBASIS ATMEGA32 TUGAS AKHIR DESY ROSRIANI PURBA"

Copied!
80
0
0

Teks penuh

(1)

SISTEM OTOMASI DISPENSER MENGGUNAKAN SENSOR ULTRASONIK BERBASIS ATMEGA32

TUGAS AKHIR

DESY ROSRIANI PURBA 132408012

PROGRAM STUDI D-3 FISIKA DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN

2016

(2)

SISTEM OTOMASI DISPENSER MENGGUNAKAN SENSOR ULTRASONIK BERBASIS ATMEGA32

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya

DESY ROSRIANI PURBA 132408012

PROGRAM STUDI D-3 FISIKA DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN

2016

(3)

PERSETUJUAN

Judul : Sistem Otomasi Dispenser Menggunakan Sensor Ultrasonik Berbasis Atmega32

Kategori : Tugas Akhir

Nama : Desy Rosriani Purba

NIM : 132408012

Program Studi : Diploma (D3) Fisika Departemen : Fisika

Fakultas : Matematika Dan Ilmu Pengetahuan Alam Universitas Sumatera Utara

Disetujui di Medan, Juni 2016

Disetujui Oleh

Ketua Program Studi, Pembimbing,

Dr. Susilawati M.Si Dr. Kerista Sebayang, M.S.

NIP: 197412072000122001 NIP: 19580623196011001

(4)

PERNYATAAN

SISTEM OTOMASI DISPENSER MENGGUNAKAN SENSOR ULTRASONIK BERBASIS ATMEGA32

TUGAS AKHIR

Saya mengaku bahwa Tugas Akhir ini adalah hasil karya sendiri. Kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Juni 2016

DESY ROSRIANI PURBA NIM. 132408012

(5)

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa, dengan limpahan rahmat-Nya penulisan laporan Tugas Akhir ini dapat diselesaikan dengan baik. Ucapan terima kasih penulis sampaikan kepada pihak yang telah membantu penulis dalam penyelesaian laporan Tugas Akhir ini yaitu kepada:

1. Bapak Dr. Kerista Sebayang, M.S. selaku Dekan FMIPA USU sekaligus sebagai dosen Pembimbing yang luar biasa, dosen yang pengertian, dan baik hatinya, yang senantiasa membimbing penulis hingga laporan selesai.

2. Ibu Dr. Susilawati, M.Si selaku Ketua Prodi D3 Fisika FMIPA USU.

3. Seluruh Staff Pengajar/ Pegawai Program Studi FMIPA USU.

4. Kedua orang tua yang telah memberikan doa restu, kasih sayang, dan dukungan yang luar biasa, sekaligus menjadi tempat terbaik bagi penulis untuk mencurahkan semua keluh kesah penulis, semoga kalian sehat selalu, panjang umur, dan dapat menjadi saksi kesuksesan

5. Senior kami Fathurrahman yang telah membantu dan memotivasi penulis.

6. Teman saya Intan Humairah yang selama ini selalu mendampingi penulis baik suka maupun duka, semoga kita dapat sehat dan sukses selalu.

7. Terimaksih kepada kakak dan abang saya semuanya, juga kepada adik kandung saya satu-satunya Vify Yusnita Purba, dan tidak lupa kepada Bang Weldy Ramayanto Daud atas segala dukungannya kepada penulis, dan atas kesabarannya menghadapi keegoisan penulis, semoga pertengkaran kecil selama ini dapat membuat kita lebih dewasa.

8. Rekan Fisika D3 yang memberikan dukungan dan bantuan kepada penulis untuk menyelesaikan Laporan Proyek ini.

9. Seluruh pihak yang tidak dapat Penulis sebutkan satu persatu, atas bantuan dan doa restu yang telah diberikan demi terselesaikannya laporan ini.

Laporan ini didedikasikan untuk semua yang yang tersayang. Akhir kata, semoga laporan ini dapat bermanfaat bagi pembaca sekalian.

Medan, Juni 2016 Penulis

(6)

SISTEM OTOMASI DISPENSER MENGGUNAKAN SENSOR ULTRASONIK BERBASIS ATMEGA 32

ABSTRAK

Teknologi dispenser air terus berkembang. Namun, pengguna dispenser air harus mengeluarkan energi untuk menekan keran. Dan juga harus tetap memusatkan perhatiannya agar air yang dikucurkan dispenser ke dalam cangkir tidak melimpah. Dengan dasar inilah, penulis mencoba memberikan kemudahan bagi pengguna dispenser air dengan melakukan otomatisasi pada keran dispenser air.

Pengguna cukup meletakkan cangkir dan menentukan volume air yang akan diisi ke dalam gelas, kemudian air akan secara otomatis keluar dari kran. Kemudian ketika volume air yang diisi telah mencapai titik tertentu , maka pompa akan otomatis mati. Pada dispenser air otomatis ini, mikrokontroler digunakan sebagai komponen utama dalam sistem pengendali. Sementara itu dispenser air otomatis ini menggunakan sensor ultrasonik untuk mendeteksi adanya cangkir dan potensiometer untuk mengukur volume cangkir tersebut.

Kata Kunci : Mikrokontroler ATMega32, Sensor Ultrasonik, Dispenser Otomatis

(7)

WATER DISPENSER AUTOMATION SYSTEM USES ULTRASONIC SENSOR BASED THE ATMEGA 32

ABSTRACT

Water dispenser technology continues to evolve. However, the user of water dispenser must expend energy to suppress the tap. And also must remain focused so that water being poured into the cup dispenser does not overflow. With this basis, the author tries to make it easy for users. Namely by automate the water dispenser on the dispenser faucet water. Users simply place the cup and determine the volume of water to be filled into the cup, then the water will automatically come out of the faucet. Then when the water volume that is loaded has reached a certain point, the pump will automatically turn off. In this automatic water dispenser, the microcontroller is used as the main component in the control system. While the automatic water dispenser uses an ultrasonic sensor to detect the presence of the cup and potentiometer to measure the volume of the cup.

Keywords : Microcontroller ATMega32, Ultrasonic Sensor, Automatic water dispenser

(8)

DAFTAR ISI

Halaman PERSETUJUAN

PERNYATAAN

PENGHARGAAN ... i

ABSTRAK ... ii

ABSTRACT ... iii

DAFTAR ISI ... iv

DAFTAR TABEL ... vi

DAFTAR GAMBAR ... vii

BAB 1 PENDAHULUAN 1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 2

1.3 Tujuan Penulisan ... 3

1.4 Batasan Masalah ... 3

1.5 Sistematika Penulisan ... 4

BAB 2 LANDASAN TEORI 2.1 Bahasa Pemrograman C ... 6

2.1.1 Struktur Program Bahasa C ... 6

2.1.2 Dokumentasi Program ... 7

2.1.3 Pengarah Prapengolahan ... 8

2.1.4 Deklarasi Global ... 8

2.1.5 Fungsi Main () ... 9

2.1.6 Fungsi Buatan Pemrograman ... 9

2.1.7 Pembatas ... 9

2.1.8 Akhir Pernyataan ... 10

2.1.9 Style Program ... 10

2.2 Mikrokontroler Atmega32 ... 10

2.2.1 Arsitektur Mikrokontroler AVR ATmega32 ... 11

2.2.2 Konfigurasi Pin ATMega32 ... 14

2.2.3 Peta Memori Mikrokontroler ATMega32 ... 19

2.3 Bahasa Pemrograman Mikrokontroler ... 21

2.3.1 CodevisionAVR ... 22

2.4 LCD (Liquid Crystal Display) ... 23

2.4.1 Pengendali / Kontroler LCD ... 25

2.4.2 Konfigurasi Pin LCD ... 26

2.5 Sensor Ultrasonik HC-SR04 ... 28

2.5.1 Prinsip Kerja Sensor Ultrasonik ... 30

2.6 Pompa ... 30

2.7 Potensiometer ... 32

2.8 Relay ... 32

(9)

BAB 3 PERANCANGAN DAN PEMBUATAN

3.1 Diagram Blok Rangkaian ... 33

3.1.1 Fungsi Tiap Blok ... 34

3.2 Rangkaian Regulator ... 34

3.3 Rangkaian Mikrokontroller Atmega32 ... 35

3.4 Rangkaian Potensiometer ... 36

3.5 Rangkaian Sensor Jarak ... 37

3.6 Rangkaian Push Button ... 38

3.7 Rangakain Driver Relay dan Solenoid Valve ... 38

3.8 Rangkaian LCD (Liquid Crystal Display) ... 40

3.9 Flowchart Sistem ... 41

BAB 4 PENGUJIAN DAN HASIL 4.1 Pengujian Rangkaian Power Supply ... 43

4.2 Pengujian Rangkaian Mikrokontroler Atmega32 ... 43

4.3 Pengujian Rangkaian Sensor Jarak ... 44

4.4 Pengujian Rangkaian Push Button ... 46

4.5 Pengujian Rangkaian Driver Relay ... 46

4.6 Pengujian Interfacing LCD 2×16 ... 47

4.7 Pengujian Potensiometer ... 49

4.8 Pengujian Keseluruhan ... 50

BAB 5 PENUTUP 5.1 Kesimpulan ... 65

5.2 Saran ... 66 DAFTAR PUSTAKA

LAMPIRAN

(10)

DAFTAR TABEL

Halaman

Tabel 2.1 Fungsi Khusus Port A ... 14

Tabel 2.2 Fungsi Khusus Port B ... 15

Tabel 2.3 Fungsi Khusus Port C ... 16

Tabel 2.4 Fungsi Khusus Port D ... 17

Tabel 2.5 Operasi Dasar LCD ... 27

Tabel 2.6 Konfigurasi Pin LCD ... 27

Tabel 2.7 Konfigurasi LCD ... 27

Tabel 4.1 Data Hasil Percobaan ... 64

(11)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Arsitektur AVR Atmega 32 ... 13

Gambar 2.2 Konfigurasi Pin-Pin Atmega32 ... 18

Gambar 2.3 Organisasi Memori Atmega32 ... 19

Gambar 2.4 Register I/O ... 21

Gambar 2.5 LCD 2×16 ... 24

Gambar 2.6 Konfigurasi Pin LCD ... 26

Gambar 2.7 Sensor Ultrasonik HC-SR04 ... 29

Gambar 2.8 Ilustrasi Prinsip Kerja Sensor Ultrasonik ... 30

Gambar 2.9 Pompa air 12V DC ... 31

Gambar 2.10 Potensiometer Mono ... 32

Gambar 3.1 Diagram Blok Sistem ... 33

Gambar 3.2 Gambar Rangkaian Regulator ... 34

Gambar 3.3 Rangkaian Sistem Minimum Mikrokontroler ATMega32 .... 35

Gambar 3.4 Rangkaian Potentiometer ... 36

Gambar 3.5 Rangkaian Skematik Sensor Ultrasonik PING ... 37

Gambar 3.6 Rangkaian Push Button ... 38

Gambar 3.7 Rangkaian Relay Motor ... 38

Gambar 3.8 Rangkaian LCD ... 40

Gambar 3.9 Flowchart Sistem ... 41

Gambar 4.1 Informasi Signature Mikrokontroler ... 44

Gambar 4.2 Grafik Waktu vs Volume... 64

(12)

BAB 1 PENDAHULUAN

1.1 Latar Belakang Masalah

Dispenser merupakan teknologi buatan manusia yang digunakan sebagai tempat atau wadah penampung air minum yang bertujuan untuk membantu manusia dalam flexybilitas penempatan maupun pengambilan air minum. Teknologi dispenser yang beredar dipasaran indonesia saat ini adalah dispenser Hot and Cool, yaitu dispenser yang digunakan dengan pilihan antara panas atau dingin

dengan sebelumnya menekan tombol On untuk menghidupkan sistem pemanas atau pendingin air yang selanjutnya air minum dapat diambil dengan cara membuka kran dispenser air panas atau air dingin secara manual sesuai dengan yang dikehendaki. Penggunaan dispenser dengan kran manual ini dinilai kurang menguntungkan karena ketika proses pengambilan air minum besar kemungkinan terdapat tumpahan air yang disebabkan air dalam gelas terlalu penuh ataupun karena penempatan gelas pada posisi yang kurang tepat.

Berdasarkan hal–hal tersebut diatas, memunculkan gagasan bagi penulis untuk merancang sebuah dispenser yang dapat mengisi air secara otomatis ke dalam gelas. Dalam tugas akhir ini dibahas perancangan dispenser yang dapat mengisi gelas secara otomatis sesuai volume gelas tersebut. Dispenser otomatis ini dibuat dengan menggunakan sensor ultrasonic HCSR04 dan timer yang dikontrol dengan mikrokontroler ATMega 32. Gelas dideteksi keberadaannya di bawah keran oleh modul sensor ultrasonik HCSR04, kemudian diukur volume wadah yang akan diisi dengan potensiometer. Setelah itu gelas diisi air panas atau

(13)

dingin sesuai pilihan pengguna. Pengisian air dikontrol dengan aktivasi pompa yang disesuaikan dengan hasil pengukuran volume air dalam gelas, dan timer untuk menentukan lamanya air yang dikucurkan ke dalam cangkir.

Untuk itulah penulis mencoba untuk membuat suatu alat dan Penulisan Tugas Akhir dengan judul “Sistem Otomasi Dispenser Menggunakan Sensor Ultrasonik Berbasis ATmega 32”.

1.2 Rumusan Masalah

Dalam merancang Sistem Otomasi Dispenser Menggunakan Sensor Ultrasonik Berbasis ATmega 32, penulis akan membahas dan menganalisa rangkaian tersebut secara blok per blok. Komponen yang di gunakan dalam perancangan akan di bahas fungsinya secara umum dan karakteristik tidak di bahas. Perencanaan dan analisa rangkaian, di jelaskan secara blok per blok. Tidak di bahas bagaimana cara pembuatan program dan hasil nya hanya sekilas tentang bagaimana program tersebut berkerja. Untuk mendapatkan pembahasan yang semaksimal mungkin dan dapat muah dipahami, maka penulis merumuskan masalah yang akan dibahas dalam laporan ini sebagai berikut :

1. Bagaimana bentuk rancang bangun sistem otomasi aliran air pada dispenser berdasarkan volume wadah?

2. Bagaimana merencanakan rangkaian sistem minimum mikrokontroler Atmega32 yang dilengkapi rangkaian masukan data dari sensor jarak jarak ultrasonik?

3. Bagaimana membuat program sistem agar dapat mengisi wadah sesuai dengan volume setiap satuan waktu ?

(14)

1.3 Tujuan Penulisan

Adapun tujuan umum penulisan laporan ini adalah memberikan kesempatan kepada mahasiswa D3 Fisika Universitas Sumatera Utara untuk memperluas wawasan mengenai masalah yang terjadi pada bidang-bidang tertentu dan dapat membandingkan materi yang diperoleh selama perkuliahan dengan keadaan sebenarnya. Adapun tujuan khusus dari laporan ini adalah:

1. Untuk mengaplikasikan sistem dispenser manual ke otomatis.

2. Memahami prinsip dan cara kerja dari komponen-komponen apa saja yang digunakan pada alat yang dibuat.

3. Mendapat pengalaman praktis di lapangan dalam pembuatan alat yang nantinya akan berguna untuk mengembangkan pengetahuan dibidang teknik elektronika.

1.4 Batasan Masalah

Dalam perencanaan penulisan ini terdapat batasan masalah sebagai berikut:

1. Penggunaan dispenser harus diawali dengan menyambungkan alat ke catu listrik 220V dan menyalakan saklar untuk dispenser yang terletak berdampingan dengan saklar untuk heater.

2. Rangakaian Mikrokontroller yang digunakan adalah mikrokontroller ATMega32

3. Sensor yang digunakan adalah sensor ultrasonik HC-SR04, yaitu untuk mendeteksi keberadaan gelas.

4. Peletakkan gelas harus tepat dan presisi di bawah keran dan sesuai dengan garis bantu yang telah diberikan pada dinding dispenser.

(15)

1.5 Sistematika Penulisan

Untuk mempermudah pembahasan dan penulisan laporan ini, penulis membuat susunan bab-bab yang membentuk laporan ini dalam sistematika penulisan laporan dengan urutan sebagai berikut :

BAB 1 PENDAHULUAN

Dalam bab ini berisikan mengenai latar belakang, tujuan penulisan, rumusan masalah, batasan masalah, dan sistematika penulisan.

BAB 2 LANDASAN TEORI

Dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian dan bahasa program yang digunakan, serta karakteristik dari komponen-komponen pendukung.

BAB 3 PERANCANGAN DAN PEMBUATAN

Bab ini berisikan tentang proses perancangan dan pembuatan alat. Mulai dari perancangan dan pembuatan sistem secara hardware atau software.

BAB 4 HASIL DAN PEMBAHASAN

Dalam bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja alat, penjelasan mengenai rangkaian-rangkaian yang digunakan, penjelasan mengenai program yang diisikan ke mikrokontroller ATMega32.

(16)

BAB 5 PENUTUP

Dalam bab ini menjelaskan kesimpulan dan saran dari alat ataupun data yang dihasilkan dari alat. Bab ini juga merupakan akhir dari penulisan laporan proyek ini.

(17)

BAB 2

LANDASAN TEORI

2.1 Bahasa Pemrograman C

Bahasa pemrograman C merupakan salah satu bahasa pemrograman komputer.

Dibuat pada tahun 1972 oleh Dennis Ritchie untuk Sistem Operasi Unix di Bell Telephone Laboratories. Meskipun C dibuat untuk memprogram sistem dan jaringan komputer namun bahasa ini juga sering digunakan dalam mengembangkan software aplikasi. C juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberepa compiler yang sangat populer telah tersedia. C secara luar biasa memengaruhi bahasa populer lainnya, terutama C++ yang merupakan extensi dari C.

2.1.1 Struktur Program Bahasa C

Program bahasa C adalah suatu program terdiri dari satu atau lebih fungsi-fungsi.

Fungsi utama dan harus ada pada program C yang kita buat adalah fungsi main ( ).

Fungsi main ( ) ini adalah fungsi pertama yang akan diproses pada saat program di kompile dan dijalankan, sehingga bisa disebut sebagai fungsi yang mengontrol fungsi-fungsi lain. Karena struktur program C terdiri dari fungsi-fungsi lain sebagai program bagian (subroutine), maka bahasa C biasa disebut sebagai bahasa pemrograman terstruktur. Cara penulisan fungsi pada program bahasa C adalah dengan memberi nama fungsi dan kemudian dibuka dengan kurang kurawal buka ({) dan ditutup.

(18)

Fungsi-fungsi lain selain fungsi utama bisa dituliskan setelah atau sebelum fungsi utama dengan deskripsi prototype fungsi pada bagian awal program. Bisa juga dituliskan pada file lain yang apabila kita ingin memakai atau memanggil fungsi dalam file lain tersebut, kita harus menuliskan header filenya, dengan preprocessor directive #include. File ini disebut file pustaka (library file). Program C meliputi dokumentasi program, pengarah prapengolahan, deklarasi global, fungsi main (), fungsi buatan pemrograman, pembatas, akhir pernyataan, dan style program.

2.1.2 Dokumentasi Program

Memberikan dokumentasi pada program sangat berguna untuk membantu memperjelas alur logika penyusunan program. Karena tujuannya hanya sebagai dokumentasi, komentar-komentar yang dituliskan pada program tidak diproses oleh compiler. Komentar dapat dimulai dengan simbol dua karakter yang terdiri dari garis miring dan asterisk (/*) dan diakhiri dengan asterisk dan garis miring.

Karakter komentar /* dapat diletakkan dimana saja didalam program dan dapat mencakup lebih dari satu komentar, dengan syarat setiap /* harus ditutup dengan

*/. Pada awal program, komentar yang diberikan biasanya bertujuan untuk menjelaskan apa yang dilakukan oleh program, sedangkan pada bagian probram yang lain tujuannya tujuannya adalah untuk memperjelas logika program.

(19)

2.1.3 Pengarah Prapengolahan

Dalam mengolah kode-kode program, compiler C melaksanakan beberapa tahapan yaitu melakukan prapengolahan untuk melakukan persiapan yang diperlukan sebuah berkas program kompilasi. Di dalam program pengarah prapengolahan diawali oleh karakter # yang dituliskan pada baris-baris pertama program.

Prapengolahan memperlakukan berkas program sebagai sederetan baris teks: membaca, mengolah, dan menuliskan kembali hasil pengolahan kedalam berkas semula. Prapengolah membuang semua baris perintah prapengolahan dari berkas sumber dan melakukan perubahan terhada berkas sumber sesuai dengan arahan perintah yang diberikan. Secara garis besar, pelayanan – pelayanan tersebut dapat dibagi ke dalam tiga kelompok :

1. Penyisipan berkas (#include)

2. Pendefinissian makro (#define)

3. Pengarah kendali kompiler (#ifdef, #ifndef)

2.1.4 Deklarasi Global

Pada bagian deklarasi global terdapat pendeklarasian variable dan prototipe fungsi. Semua variable yang dideklarasikan pada bagian ini akan dikenal oleh semua bagian program yang terdapat dibawahnya. Sementara itu prototipe fungsi adalah sebuah deklarasi tentang akan digunakannya sebuah fungsi didalam program. Ada tiga unsur yang perlu disebutkan: jenis data yang dikembalikan oleh fungsi, nama fungsi dan daftar argumen yang diberikan pada fungsi yang diberi jumlah argumen (arity) dan jenis data masing-masing argumen.

(20)

2.1.5 Fungsi Main ()

Fungsi main ( ) memegang peranan yang penting pada sebuah program. Fungsi ini merupakan fungsi utama pada setiap program C dimana eksekusi keseluruhan program dimulai. Barapapun banyaknya fungsi yang terdapat pada sebuah program C, main ( ) adalh fungsi utama yang akan dilaksanakan oleh compiler.

2.1.6 Fungsi Buatan Pemrograman

Selain main ( ) yang mempunyai kedudukan khusus dalam sebuah program, terdapat pula fungsi-fungsi buatan pemrogram. Pada fungsi ini dapat diberikan deklarasi prototype fungsi lain secara local, sehingga hanya dikenal oleh fungsi tersebut. Kode program yang dapat dieksekusi juga dapat berupa fungsi input/output standar, konstruksi runtunan, konstruksi keputusan, dan konstruksi pengulangan.

2.1.7 Pembatas

Setelah pendefenisian fungsi terdapat kurung kurawal buka “{“ dan kurung kurawal tutup “}” yang menunjuk akhir blok fungsi, kurung kurawal ini disebut pembatas (delimeters). Dalam badan program kurung kurawal juga dapat digunakan untuk membatasi pernyataan majemuk yang dimiliki oleh sebuah blok kode program. Selain kurung kurawal juga terdapat beberapa pembatas lain, diantaranya: [ ], < >, ( ), “ “, dan ‘ ‘.

(21)

2.1.8 Akhir Pernyataan

Setiap pernyataan (statement) dalam C diakhiri dengan titik koma ( ; ) yang berperan untuk memberitahu compiler akhir pernyataan. Carriage return yang diperoleh sewaktu menekan tombol bukan penunjuk akhir pernyataan, karena bahasa C mengabaikan semua karakter yang disebut karakter-karakter whitespace, yaitu spasi, tabulator dan carriage return (newline).

2.1.9 Style Program

Keterbacaan (readability) merupakan unsur yang sangat penting dalam menyusun sebuah program. Program yang disusun hendaklah mudah dibaca dan dapat menggambarkan kerangka berpikir dan algoritma yang digunakan. Kemudahan penulisan program sangat besar dipengaruhi oleh sintaks (aturan penulisan) yang dapat digunakan. Sintaks program jua dapat mempermudah pengujian dan pemahamannya apabila pada suatu waktu program tersebut perlu dimodifikasi.

2.2 Mikrokontroler Atmega32

Mikrokontroler dapat dianalogikan sebagai sebuah sistem komputer yang dikemas dalam sebuah chip, artinya di dalam sebuah IC mikrokontroler sebetulnya sudah terdapat kebutuhan minimal agar mikroprosesor dapat bekerja, yaitu meliputi mikroprosesor, ROM, RAM, I/O dan clock seperti halnya yang dimiliki oleh sebuah PC. Mengingat kemasannya yang berupa sebuah chip dengan ukuran yang relatif lebih kecil, tentu saja spesifikasi dan kemampuan yang dimiliki oleh mikrokontroller akan menjadi lebih rendah bila dibandingkan dengan sistem

(22)

komputer seperti PC baik dilihat dari segi kecepatannya. Tidak seperti system komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja.

Meskipun dari sebuah kemampuan lebih rendah tetapi mikrokontroller memiliki kelebihan yang tidak bisa diperoleh pada sistem komputer yaitu,dengan kemasannya yang kecil dan kompak membuat mikrokontroller menjadi lebih fleksibel dan praktis digunakan terutama pada sistem-sistem yang relatif tidak terlalu kompleks atau tidak memerlukan bahan komputasi yang tinggi.

2.2.1 Arsitektur Mikrokontroler AVR ATmega32

Mikrokontroler AVR ATmega32 merupakan CMOS dengan konsumsi daya rendah, mempunyai 8-bit proses data (CPU) berdasarkan arsitektur AVR RISC.

ATmega32 memiliki kecepatan data rata-rata (throughputs) mendekati 1 MIPS per MHz, yang memungkinkan perancang sistem dapat mengoptimalkan konsumsi daya dan kecepatan pemrosesan. Berikut kelebihan yang dimiliki ATmega32:

1. Kinerja Tinggi, Low-Power AVR® 8-bit Microcontroller

Seperti yang disebutkan Atmel dalam websitenya "The low-power Atmel 8-bit AVR RISC-based microcontroller. The device supports throughput of 16 MIPS at 16 MHz and operates between 2.7-5.5 volts".

2. Menggunakan Arsitektur RISC

Mikrokontroler AVR memiliki arsitektur Reduced Instruction Set Computing (RISC) atau " set instruksi Komputasi yang disederhanakan".

(23)

3. Daya Tahan Tinggi dan Segmen Memori Non-Volatile

Mikrokontroler AVR memiliki daya tahan data (retensi data) 20 tahun ketika suhu mencapai 85°C atau 100 tahun ketika suhu mencapai 25°C.

4. Memiliki Antarmuka JTAG (IEEE std. 1149.1 Compliant)

Tidak hanya SPI, ATmega32 memiliki antarmuka JTAG yang memungkinkan pengguna dapat memprogram Flash, EEPROM, Fuse, dan Lock Bits.

5. Memiliki Fitur Perangkat

Mikrokontroler AVR memiliki fitur tambahan yang sangat membantu kita untuk melakukan penelitian yang lebih baik, seperti terdapat ADC, PWM dan Timer.

6. Memiliki Fitur Tambahan

Mikrokontroler ini memiliki fitur menarik yang patut dicoba seperti 5 mode Sleep, eksternal dan internal interupsi, dan kalibrasi RC Oscillator internal.

7. Mempunyai 32 Jalur Program I/O

ATmega32 mempunyai 32 jalur Program sehingga memungkinkan kita untuk mengontrol lebih banyak device/ perangkat, seperti Tombol/ switch, LED, buzzer dan LCD.

(24)

8. Memiliki operasi tegangan dari 2,7 Volt sampai 5,5 Volt

ATmega32 memiliki operasi tegangan dari 2,7 Volt sampai 5,5, sehingga hemat listrik. Kecepatan maksimal mencapai 16 MHz (tanpa overclock).

9. Daya yang dibutuhkan ketika aktif hanya 1,1 mA

ATmega32 membutuhkan arus yang sangat kecil dibanding komponen analog yang biasa kita pakai. Hal ini dibuktikan dengan konsumsi daya yang dibutuhkan ketika aktif saja hanya 1,1 mA, bahkan bisa mencapai 1 uA ketika mode power-down.

Arsitektur AVR ini menggabungkan perintah secara efektif dengan 32 register umum. Semua register langsung terhubung dengan Arithmetic Logic Unit (ALU) yang memungkinkan 2 register terpisah diproses dengan satu perintah tunggal dalam satu clock cycle. Hal ini menghasilkan kode yang efektif dan kecepatan prosesnya 10 kali lebih cepat dari pada mikrokontroler CISC biasa.

Gambar 2.1 Arsitektur AVR ATMega32

(25)

2.2.2 Konfigurasi Pin ATMega32

Mikrokontroler ATMega32 memiliki 40 pin untuk model PDIP ditunjukkan pada Gambar 2.2. Secara fungsional konfigurasi pin ATMega32 adalah sebagai berikut:

5. VCC

VCC merupakan pin yang berfungsi sebagai pin masukan catu daya digital.

6. GND

GND merupakan pin ground untuk catu daya digital.

7. Port A (PA7 – PA0)

Port A adalah 8-bit port I/O yang bersifat bi-directional dan setiap pin memilki internal pull-up resistor. Output buffer port A dapat mengalirkan arus sebesar 20 mA. Ketika port A digunakan sebagai input dan di pull-up secara langsung, maka port A akan mengeluarkan arus jika internal pull-up resistor diaktifkan. Pin-pin dari port A memiliki fungsi khusus yaitu dapat berfungsi sebagai channel ADC (Analog to Digital Converter) sebesar 10 bit. Fungsi-fungsi khusus pin-pin port A dapat ditabelkan seperti yang tertera pada tabel 2.1

Tabel 2.1 Fungsi Khusus Port A Port Alternate Function PA7 ADC7 (ADC input channel 7) PA6 ADC6 (ADC input channel 6) PA5 ADC5 (ADC input channel 5) PA4 ADC4 (ADC input channel 4) PA3 ADC3 (ADC input channel 3) PA2 ADC2 (ADC input channel 2) PA1 ADC1 (ADC input channel 1) PA0 ADC0 (ADC input channel 0)

(26)

4. Port B (PB7 – PB0)

Port B adalah 8-bit port I/O yang bersifat bi-directional dan setiap pin mengandung internal pull-up resistor. Output buffer port B dapat mengalirkan arus sebesar 20 mA. Ketika port B digunakan sebagai input dan di pull-down secara external, port B akan mengalirkan arus jika internal pull-up resistor diaktifkan.

Pin-pin port B memiliki fungsi-fungsi khusus, diantaranya : 1. SCK port B, bit 7

Input pin clock untuk up/downloading memory.

2. MISO port B, bit 6

Pin output data untuk uploading memory.

3. MOSI port B, bit 5

Pin input data untuk downloading memory.

Fungsi-fungsi khusus pin-pin port B dapat ditabelkan seperti yang tertera pada tabel 2.2.

Tabel 2.2 Fungsi Khusus Port B Port Alternate Function

PB7 SCK (SPI Bus Serial Clock)

PB6 MISO (SPI Bus Master Input/Slave Output) PB6 MOSI (SPI Bus Master Output/Slave Input) PB5 SS (SPI Slave Select Input)

PB3 AIN1 (Analog Comparator Negative Input)

OCO (Timer/Counter0 Output Compare Match Output) PB2 AIN0 (Analog Comparator Positive Input)

INT2 (External Interrupt 2 Input)

PB1 T1 (Timer/Counter1 External Counter Input)

PB0 T0 (Timer/Counter External Counter Input) XCK (USART External Clock Input/Output)

(27)

5. Port C (PC7 – PC0)

Port C adalah 8-bit port I/O yang berfungsi bi-directional dan setiap pin memiliki internal pull-up resistor. Output buffer port C dapat mengalirkan arus sebesar 20 mA. Ketika port C digunakan sebagai input dan di pull-down secara langsung, maka port C akan mengeluarkan arus jika internal pull-up resistor diaktifkan. Fungsi-fungsi khusus pin-pin port C dapat ditabelkan seperti yang tertera pada tabel 2.3

Tabel 2.3 Fungsi Khusus Port C Port Alternate Function PC7 TOSC2 (Timer Oscillator Pin 2) PC6 TOSC1 (Timer Oscillator Pin 1) PC6 TD1 (JTAG Test Data In) PC5 TD0 (JTAG Test Data Out) PC3 TMS (JTAG Test Mode Select) PC2 TCK (JTAG Test Clock)

PC1 SDA (Two-wire Serial Bus Data Input/Output Line) PC0 SCL (Two-wire Serial Bus Clock Line)

6. Port D (PD7 – PD0)

Port D adalah 8-bit port I/O yang berfungsi bi-directional dan setiap pin memiliki internal pull-up resistor. Output buffer port D dapat mengalirkan arus sebesar 20 mA. Ketika port D digunakan sebagai input dan di pull-down secara langsung, maka port D akan mengeluarkan arus jika internal pull-up resistor diaktifkan. Fungsi-fungsi khusus pin-pin port D dapat ditabelkan seperti yang tertera pada tabel dibawah ini.

(28)

Tabel 2.4 Fungsi Khusus Port D Port Alternate Function

PD7 OC2 (Timer / Counter2 Output Compare Match Output) PD6 ICP1 (Timer/Counter1 Input Capture Pin)

PD6 OCIB (Timer/Counter1 Output Compare B Match Output) PD5 TD0 (JTAG Test Data Out)

PD3 INT1 (External Interrupt 1 Input) PD2 INT0 (External Interrupt 0 Input) PD1 TXD (USART Output Pin) PD0 RXD (USART Input Pin) 7. RESET

RST pada pin 9 merupakan pin reset yang akan bekerja bira diberi pulsa rendah (aktif Low) selama minimal 1,5us.

8. XTAL2

XTAL2 merupakan output dari penguat dari osilator pembalik.

9. XTAL1

XTAL1 merupakan input ke penguat osilator pembalik dan input ke internal clock.

10. AVCC

AVCC adalah pin masukan catu daya yang digunakan untuk masukan analog ADC yang terhubung ke Port A. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter.

(29)

11. AREF

AREF adalah pin masukan referensi analog untuk ADC. Untuk operasionalisasi ADC, suatu level tegangan antara AGND dan Avcc harus diberikan ke kaki ini.

12. AGND

AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki anlaog ground yang terpisah.

Gambar 2.2 Konfigurasi Pin-Pin ATMega32

(30)

2.2.3 Peta Memori Mikrokontroler ATMega32

Mikrokontroller ATMega32 memiliki 3 jenis memori yaitu memori program, memori data dan memori EEPROM. Ketigannya memiliki ruang-ruang tersendiri dan terpisah seperti terlihat pada gambar 2.3.

Gambar 2.3 Organisasi Memori ATMega32 1. Memori Program

ATMega32 memiliki kapasitas memori program sebesar 8 Kbyte yang terpetakan dari alamat 0000h – 0FFFh dimana masing-masing alamat memiliki lebar data sebesar 16 bit.Sehingga organisasi memori program seperti ini sering dituliskan dengan 4K x 16 bit.Memori program ini juga terbagi menjadi dua yaitu program boot dan juga bagian program aplikasi.

2. Memori Data

ATMega32 memiliki kapasitas memori data sebesar 608 byte yang terbagi menjadi 3 bagian yaitu register serba guna,register I/O dan SRAM. 32 byte alamat terendah digunakan untuk register serbaguna yaitu R0 –R31. 64 byte berikut nya digunakan untuk register I/O yang digunakan untuk mengatur

(31)

fasilitas timer /counter, interrupsi, ADC, USART, SPI, EEPROM dan port I/O seperti Port A, Port B, Port C, dan Port D. Selanjutnya 512 byte diatasnya digunakan untuk memory data SRAM. Jika register-register I/O di atas diakses seperti mengakses data pada memori (Jika kita menggunakan instruksi LD atau ST ) maka register I/O diatas menempati alamat 0020-005F.

Tetapi jika register-register I/O diakses seperti mengakses I/O pada umumnya (menggunakan instruksi IN/IOUT) maka register I/O diatas menempati alamat memori 0000h – 003Fh.

3. Memori Data EEPROM

ATMega35 memiliki memori EEPROM sebesar 512 byte yang terpisah dari memori program maupun dari memori data. Memori EEPROM ini hanya dapat diakses dengan menggunakan register-register I/O yaitu register EEPROM Addres (EEARH-EEARL), register EEPROM Data (EEDR) dan register EEPROM control (EECR). Untuk mengakses memory EEPROM ini diperlakukan sperti mengakses data eksternal sehingga waktu dari eksekusi relatif lebih lama dibadingkan jika kita mengakses data dari SRAM. Jika register-register I/O di atas diakses seperti mengakses data pada memori (Jika kita menggunakan instruksi LD atau ST) maka register I/O diatas menempati alamat 0020-005F. Tetapi jika register-register I/O diakses seperti mengakses I/O pada umumnya (menggunakan instruksi IN/IOUT) maka register I/O diatas menempati alamat memori 0000h – 003Fh.

(32)

Gambar 2.4 (a) Register I/O sebagai Memori Data, (b) Register I/O sebagai I/O

2.3 Bahasa Pemrograman Mikrokontroler

Pengembangan sebuah sistem menggunakan mikrokontroler AVR buatan ATMEL menggunakan software AVR STDIO dan CodeVisionAVR. AVR STDIO merupakan software yang digunakan untuk bahasa assembly yang mempunyai fungsi yang sangat lengkap, yaitu digunakan untuk menulis program, kompilasi, simulasi dan download program ke IC mikrokontroler AVR.

Sedangkan CodeVisionAVR merupakan software C-cross Compiler, dimana program dapat ditulis dalam bahasa C, CodeVision memiliki IDE (Integrated development Environment) yang lengkap, dimana 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 mikrokontroler yang sudah di program.

Proses download program ke IC mikrokontroler AVR dapat menggunakan System programmable Flash on-Chip mengizinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI.

(33)

2.3.1 CodevisionAVR

CodeVisionAVR merupakan sebuah cross-compiler C, Integrated Development Environtment (IDE), dan Automatic Program Generator yang didesain untuk mikrokontroler buatan Atmel seri AVR. CodeVisionAVR dapat dijalankan pada sistem operasi Windows 95, 98, Me, NT4, 2000, dan XP. Cross-compiler C mampu menerjemahkan hampir semua perintah dari bahasa ANSI C, sejauh yang diijinkan oleh arsitektur dari AVR, dengan tambahan beberapa fitur untuk mengambil kelebihan khusus dari arsitektur AVR dan kebutuhan pada sistem embedded.

File object COFF hasil kompilasi dapat digunakan untuk keperluan debugging pada tingkatan C, dengan pengamatan variabel, menggunakan debugger Atmel AVR Studio. IDE mempunyai fasilitas internal berupa software AVR Chip In-System Programmer yang memungkinkan pengguna untuk melakukan transfer program kedalam chip mikrokontroler setelah sukses melakukan kompilasi/asembli secara otomatis. Untuk keperluan debugging sistem embedded, yang menggunakan komunikasi serial, IDE mempunyai fasilitas internal berupa sebuah Terminal.

CodeVisionAVR juga mempunyai Automatic Program Generator bernama CodeWizardAVR, yang mengujinkan Anda untuk menulis, dalam hitungan menit, semua instruksi yang diperlukan untuk membuat fungsi-fungsi berikut:

• Set-up akses memori eksternal

• Inisialisasi port input/output

• Inisialisasi interupsi eksternal

• Inisialisasi Timer/Counter

(34)

• Inisialisasi Watchdog-Timer

• Inisialisasi UART (USART) dan komunikasi serial berbasis buffer yang digerakkan oleh interupsi

• Inisialisasi Pembanding Analog

• Inisialisasi ADC

• Inisialisasi Antarmuka SPI

• Inisialisasi Antarmuka Two-Wire

• Inisialisasi Antarmuka CAN

• Inisialisasi Bus I2C, Sensor Suhu LM75, Thermometer/Thermostat DS1621 dan Real-Time Clock PCF8563, PCF8583, DS1302, dan DS1307

• Inisialisasi Bus 1-Wire dan Sensor Suhu DS1820, DS18S20

• Inisialisasi modul LCD

2.4 LCD (Liquid Crystal Display)

LCD (Liquid Cristal Display) adalah salah satu jenis display elektronik yang dibuat dengan teknologi CMOS logic yang bekerja dengan tidak menghasilkan cahaya tetapi memantulkan cahaya yang ada di sekelilingnya terhadap front-lit atau mentransmisikan cahaya dari back-lit. LCD (Liquid Cristal Display) berfungsi sebagai penampil data baik dalam bentuk karakter, huruf, angka ataupun grafik. LCD adalah lapisan dari campuran organik antara lapisan kaca bening dengan elektroda transparan indium oksida dalam bentuk tampilan seven-segment dan lapisan elektroda pada kaca belakang. Ketika elektroda diaktifkan dengan medan listrik (tegangan), molekul organik yang panjang dan silindris

(35)

menyesuaikan diri dengan elektroda dari segmen. Lapisan sandwich memiliki polarizer cahaya vertikal depan dan polarizer cahaya horisontal belakang yang diikuti dengan lapisan reflektor. Cahaya yang dipantulkan tidak dapat melewati molekul-molekul yang telah menyesuaikan diri dan segmen yang diaktifkan terlihat menjadi gelap dan membentuk karakter data yang ingin ditampilkan.

Gambar 2.5 LCD 2×16

LCD memanfaatkan silicon atau gallium dalam bentuk Kristal cair sebagai pemendar cahaya. Pada layar LCD, setiap matrik adalah susunan dua dimensi piksel yang dibagi dalam baris dan kolom. Dengan demikian, setiap pertemuan baris dan kolom adalah sebuah LED terdapat sebuah bidang latar (backplane), yang merupakan lempengan kaca bagian belakang dengan sisi dalam yang ditutupi oleh lapisan elektroda trasparan. Dalam keadaan normal, cairan yang digunakan memiliki warna cerah. Daerah-daerah tertentu pada cairan akan berubah warnanya menjadi hitam ketika tegangan diterapkan antara bidang latar dan pola elektroda yang terdapat pad sisi dalam lempeng kaca bagian depan.

Keunggulan LCD adalah hanya menarik arus yang kecil (beberapa microampere), sehingga sistem menjadi portable karena dapat menggunakan catu daya yang kecil. Keunggulan lainnya adalah tampilan yang diperlihatkan dapat dibaca dengan mudah di bawah terang sinar matahari. Di bawah sinar cahaya yang

(36)

remang-remang dalam kondisi gelap, sebuah lampu (berupa LED) harus dipasang dibelakang layar tampilan.

LCD yang digunakan adalah jenis LCD yang menampilkan data dengan 2 baris tampilan pada display. Keuntungan dari LCD ini adalah :

1. Dapat menampilkan karakter ASCII, sehingga dapat memudahkan untuk membuat program tampilan.

2. Mudah dihubungkan dengan port I/O karena hanya mengunakan 8 bit data dan 3 bit control.

3. Ukuran modul yang proporsional.

4. Daya yang digunakan relative sangat kecil.

2.4.1 Pengendali / Kontroler LCD (Liquid Cristal Display)

Dalam LCD (Liquid Cristal Display) terdapat mikrokontroler yang berfungsi sebagai pengendali tampilan karakter LCD (Liquid Cristal Display).

Mikrokontroler pada suatu LCD dilengkapi dengan memori dan register.

1. Memori yang digunakan mikrokontroler internal LCD adalah:

DDRAM (Display Data Random Access Memory) merupakan memori tempat karakter yang akan ditampilkan berada.

CGRAM (Character Generator Random Access Memory) merupakan memori untuk menggambarkan pola sebuah karakter dimana bentuk dari karakter dapat diubah-ubah sesuai dengan keinginan.

CGROM (Character Generator Read Only Memory) merupakan memori untuk menggambarkan pola sebuah karakter dimana pola tersebut merupakan karakter dasar yang sudah ditentukan secara

(37)

permanen oleh pabrikan pembuat LCD tersebut sehingga pengguna tinggal mangambilnya sesuai alamat memorinya dan tidak dapat merubah karakter dasar yang ada dalam CGROM.

2. Register control yang terdapat dalam suatu LCD diantaranya adalah:

Register perintah yaitu register yang berisi perintah-perintah dari mikrokontroler ke panel LCD pada saat proses penulisan data atau tempat status dari panel LCD dapat dibaca pada saat pembacaan data.

Register data yaitu register untuk menuliskan atau membaca data dari atau ke DDRAM. Penulisan data pada register akan menempatkan data tersebut ke DDRAM sesuai alamat yang telah diatur sebelumnya.

2.4.2 Konfigurasi Pin LCD (Liquid Cristal Display)

LCD 16x2 10

11

12 13 11 12

13 14

D0 D1 D2 D3 D4 D5 D6 D7

2 15

+5VDC

RS RW

EN 4 5 6

1 3 16

VCC V+BL

GND LCD Drv V-BL

Gambar 2.6 Konfigurasi Pin LCD

Operasi dasar pada LCD terdiri dari empat, yaitu instruksi mengakses proses internal, instruksi menulis data, instruksi membaca kondisi sibuk, dan instruksi membaca data. ROM pembangkit sebanyak 192 tipe karakter, tiap karakter dengan huruf 5x7 dot matrik. Kapasitas pembangkit RAM 8 tipe karakter (membaca program), maksimum pembacaan 80x8 bit tampilan data. Perintah

(38)

utama LCD adalah Display Clear, Cursor Home, Display ON/OFF, Display Character Blink, Cursor Shift, dan Display Shift. Tabel 2.5 menunjukkan operasi dasar LCD.

Tabel 2.5 Operasi Dasar LCD

RS R/W Operasi

0 0 Input Instruksi ke LCD

0 1 Membaca Status Flag (DB7) dan alamat counter (DB0 ke DB6) 1 0 Menulis Data

1 1 Membaca Data

Tabel 2.6 Konfigurasi Pin LCD Nomor Pin Nama Keterangan

1 GND Ground

2 VCC +5V

3 VEE Contras

4 RS Register Select

5 RW Read/write

6 E Enable

7-14 D0-D7 Data bit 0-7 15 A Anoda (back light) 16 K Katoda (back light)

Tabel 2.7 Konfigurasi LCD Pin Bilangan Biner Keterangan

RS 0 Inisialisasi

1 Data

RW 0 Tulis LCD / W (write)

1 Baca LCD / R (read)

E 0 Pintu Data Terbuka

1 Pintu data tertutup

Lapisan film yang berisi kristal cair diletakkan di antara dua lempeng kaca yang telah ditanami elektroda logam transparan. Saat tegangan dicatukan pada beberapa pasang elektroda, molekul-molekul kristal cair akan menyusun diri agar cahaya yang mengenainya akan dipantulkan atau diserap. Dari hasil pemantulan atau penyerapan cahaya tersebut akan terbentuk pola huruf, angka, atau gambar sesuai bagian yang di aktifkan.

(39)

LCD membutuhkan tegangan dan daya yang kecil sehingga sangat popular untuk aplikasi pada kalkulator, arloji digital, dan instrumen elektronika lain seperti Global Positioning System (GPS), dan multimeter digital. LCD umumnya dikemas dalam bentuk Dual In Line Package (DIP) dan mempunyai kemampuan untuk menampilkan beberapa kolom dan baris dalam satu panel. Untuk membentuk pola, baik karakter maupun gambar pada kolom dan baris secara bersamaan digunakan metode Screening.

Metode screening adalah mengaktifkan daerah perpotongan suatu kolom dan suatu baris secara bergantian dan cepat sehingga seolah-olah aktif semua.

Penggunaan metode ini dimaksudkan untuk menghemat jalur yang digunakan untuk mengaktifkan panel LCD. Saat ini telah dikembangkan berbagai jenis LCD, mulai jenis LCD biasa, Passive Matrix LCD (PMLCD), hingga Thin-Film Transistor Active Matrix (TFT-AMLCD). Kemampuan LCD juga telah ditingkatkan daru yang monokrom hingga yang mampu menampilkan ribuan warna.

2.5 Sensor Ultrasonik HC-SR04

Sensor ultrasonik adalah sebuah sensor yang berfungsi untuk mengubah besaran fisis (bunyi) menjadi besaran listrik dan sebaliknya. Cara kerja sensor ini didasarkan pada prinsip dari pantulan suatu gelombang suara sehingga dapat dipakai untuk menafsirkan eksistensi (jarak) suatu benda dengan frekuensi tertentu. Disebut sebagai sensor ultrasonik karena sensor ini menggunakan gelombang ultrasonik (bunyi ultrasonik).

(40)

Sensor ultrasonik HC-SR04 ini merupakan sensor siap pakai, yaitu suatu alat yang berfungsi sebagai pengirim, penerima, dan pengontrol gelombang ultrasonik. Alat ini bisa digunakan untuk mengukur jarak benda dari 2cm - 4m dengan akurasi 3mm. Alat ini memiliki 4 pin, pin Vcc, Gnd, Trigger, dan Echo.

Pin Vcc untuk listrik positif dan Gnd untuk ground-nya. Pin Trigger untuk trigger keluarnya sinyal dari sensor dan pin Echo untuk menangkap sinyal pantul dari benda.

Gambar 2.7 Sensor Ultrasonik HC-SR04 Spesifikasi:

Jangkauan deteksi: 2cm sampai kisaran 400 -500cm

Sudut deteksi terbaik adalah 15 derajat

Tegangan kerja 5V DC

Resolusi 1cm

Frekuensi Ultrasonik 40 kHz

Dapat dihubungkan langsung ke kaki mikrokontroler

(41)

2.5.1 Prinsip Kerja Sensor Ultrasonik

Sinyal dipancarkan oleh pemancar ultrasonik dengan frekuensi tertentu dan dengan durasi waktu tertentu. Sinyal tersebut berfrekuensi diatas 20kHz. Untuk mengukur jarak benda (sensor jarak), frekuensi yang umum digunakan adalah 40kHz.

Sinyal yang dipancarkan akan merambat sebagai gelombang bunyi dengan kecepatan sekitar 340 m/s. Ketika menumbuk suatu benda, maka sinyal tersebut akan dipantulkan oleh benda tersebut.

Setelah gelombang pantulan sampai di alat penerima, maka sinyal tersebut akan diproses untuk menghitung jarak benda tersebut.

Gambar 2.8 Ilustrasi Prinsip Kerja Sensor Ultrasonik

2.6 Pompa

Pompa bekerja dengan cara memindahkan sujumlah volume air melalui ruang suction menuju ke ruang outlet dengan menggunakan impeller, sehingga seluruh ruang udara terisi oleh air dan menimbulkan tekanan fluida yang ditarik melalui dasar sumber air menuju penampungan. Air yang terdapat dalam ruang impeller akan digerakkan menggunakan subuah motor. Selama impeller tersebut berputar,

(42)

air akan terus didorong keluar menuju ke pipa penyaluran atau outlet air. Pada mesin pompa ini, ada saluran hisap dan ada saluran buang, ketika pompa dihidupkan atau dihubungkan dengan tegangan, maka pompa akan berputar sehingga di bagian dalam pompa terjadi vacuum karena adanya perbedaan tegangan, sehingga air yang ada di dalam gallon air akan terhisap ke pipa penampungan. Untuk melindungi pompa dari kerusakan, terdapat sebuah saklar otomatis pada semua jenis pompa air.

Pompa dalam perancangan ini merupakan blok output yang dikontrol oleh sinyal dari mikrokontroler pin D.6. Pada perancangan kali ini, pompa yang menggunakan catu daya 12V DC oleh karena itu diperlukan driver untuk dapat mengoperasikannya dengan sinyal kontrol dari mikrokontroler.

Gambar 2.9 Pompa air 12V DC

(43)

2.8 Potensiometer

Perancangan ini menggunakan potensiometer untuk mengukur volume wadah yang akan diisi. Komponen ini digunakan untuk mengisi nilai variabel volume sesuai dengan volume gelas yang diletakkan di bawah kran. Subfungsi ini berfungsi mengoperasikan motor DC beserta drivernya, potensiometer yang dihubungkan ke ADC mikrokontroler untuk mengukur volume gelas.

Gambar 2.10 Potensiometer Mono

2.9 Relay

Relay adalah Saklar (Switch) yang dioperasikan secara listrik dan merupakan komponen Electromechanical (Elektromekanikal) yang terdiri dari 2 bagian utama yakni Elektromagnet (Coil) dan Mekanikal (seperangkat Kontak Saklar/Switch).

Relay menggunakan Prinsip Elektromagnetik untuk menggerakkan Kontak Saklar sehingga dengan arus listrik yang kecil (low power) dapat menghantarkan listrik yang bertegangan lebih tinggi.

(44)

BAB 3

PERANCANGAN DAN PEMBUATAN

3.1 Diagram Blok Rangkaian

Mikrokontroler Suplay

potentiometer

Buzzer Sensor jarak

Tombol push button

Driver Pompa Pompa

Driver Pompa Pompa

Gambar 3.1 Diagram Blok Sistem

(45)

3.1.1 Fungsi Tiap Blok

1. Blok mikrokontroller : Sebagai kontroler

2. Blok potentiometer : Sebagai pengukur volume gelas

3. Sensor ultrasonic : Sebagai sensor pendeteksi adanya gelas

4. Blok power supply : Sebagai penyedia tegangan ke sistem dan sensor 5. Blok driver relay : Sebagai rangkaian pengendali relay

6. Blok relay : Sebagai pemisah tegangan DC dan AC 7. Blok input : Sebagai tombol pengisian air

8. Blok pompa : Sebagai mesin pengisi air

3.2 Rangkaian Regulator Power Supply

Gambar 3.2 Gambar Rangkaian Regulator Power Supply

Gambar di atas adalah adalah rangkaian penstabil tegangan. Rangkaian regulator di atas menggunakan tegangan 12V. Rangkaian mikrokontroler hanya membutuhkan tegangan sebesar 5 volt sedangkan power supply 12V, oleh karena itu dibutuhkan IC LM7805 sebagai penstabil tegangan, agar tegangan yang di keluarkan 5 Volt.

(46)

3.3 Rangkaian Mikrokontroller Atmega32

Gambar 3.3 Rangkaian Sistem Minimum Mikrokontroler ATMega32

Rangkaian sistem minimum mikrokontroler ATMEGA32 tersebut berfungsi sebagai pusat kendali dari seluruh sistem yang ada. Komponen utama dari rangkaian ini adalah IC Mikrokontroler Atmega32. Semua program diisikan pada memori dari IC ini sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki.

Pin 12 dan13 dihubungkan ke XTAL 12 MHz dan dua buah kapasitor 30pF. XTAL ini akan mempengaruhi kecepatan mikrokontroler Atmega32 dalam mengeksekusi setiap perintah dalam program. Pin 9 merupakan masukan reset (aktif rendah). Pulsa transisi dari tinggi ke rendah akan me-reset mikrokontroler ini. Untuk men-download file heksadesimal ke mikrokontroler, Mosi, Miso, Sck,

(47)

Reset, Vcc dan Gnd dari kaki mikrokontroler dihubungkan ke RJ45. RJ45 sebagai konektor yang akan dihubungkan ke ISP Programmer. Dari ISP Programmer inilah dihubungkan ke komputer melalui port paralel.

Kaki Mosi, Miso, Sck, Reset, Vcc dan Gnd pada mikrokontroler terletak pada kaki 17, 18, 19, 1, 7 dan 8. Apabila terjadi keterbalikan pemasangan jalur ke ISP Programmer, maka pemograman mikrokontroler tidak dapat dilakukan karena mikrokontroler tidak akan bisa merespon.

3.4 Rangkaian Potensiometer

Potensiometer yang digunakan pada rangkaian ini potensiometer yang berkaki tiga atau sering disebut juga dengan potentiometer mono. Pada system ini potentiometer berfungsi sebagai pengukur ketinggian gelas, cara keja rangkaian ini yaitu, potentiometer kaki 1 dihubungkan ke Vcc dan kaki 2 out dihubungkan ke ADC mikrokontroler, kemudian kaki 3 hubungkan ke GND. Setiap potentiometer berputar maka akan mengalami beda potensial, atau disebut juga dengan perubahan tegangan, tegangan tersebut akan dibaca oleh mikrokontroler.

Rangkaian lengkap dapat dilihat dibawah ini.

Gambar 3.4 Rangkaian Potensiometer

(48)

3.5 Rangkaian Sensor Jarak

Pada rancangan ini menggunakan sensor jarak sensor jarak yaitu sensor ultrasonic.

Tipe sensor ultrasonic yaitu HCSR 04. Cara kerja sensor pada rangkaian adalah sebagai berikut: Sensor akan memancarkan sebuah gelombang ultrasonic dengan frekuensi 40 kHz kemudian sensor akan mendeteksi pantulan gelombang ultrasonic tersebut jika mengenai suatu objek pemantul.

Antara dipancarkan gelombang ultrasonic dengan diterimanya kembali gelombang tersebut terdapat selisih waktu dan dengan mengetahui kecepatan suara kecepatan suara diudara maka dapat dihitung jarak objek dengan sensor.

Dengan persamaan:

S = V × t (1)

Dimana:

S = jarak objek dengan sensor V = kecepatan suara (340 m/s) t = waktu pantul ultrasonic

Gambar 3.5 Rangkaian Skematik Sensor Ultrasonik PING

(49)

3.6 Rangkaian Push Button

Gambar 3.6 Rangkaian Push Button

Rangkaian diatas berfungsi untuk menginstruksi mikrokontroler bahwa air segera diisi kedalam gelas. Rangkaian pushbutton pada rangkaian ini langsung dihubungkan ke PORT yang tersedia pada mikrokontroler, ketika pushbutton ditekan maka port pada mikro akan terhubung langsung ke GND.

3.7 Rangakain Driver Relay

Gambar 3.7 Rangkaian Relay Motor

Komponen utama dari rangkaian ini adalah relay. Relay ini memisahkan tegangan 5 Volt dengan 12 Volt dari beban yang dihubungkan dengan sumber tegangan 12 volt.

(50)

Relay merupakan salah satu komponen elektronik yang terdiri dari lempengan logam sebagai saklar dan kumparan yang berfungsi untuk menghasilkan medan magnet. Pada rangkaian ini digunakan relay 12 volt, ini berarti jika positif relay (kaki 1) dihubungkan ke sumber tegangan 12 volt dan negative relay (kaki 2) dihubungkan ke ground, maka kumparan akan menghasilkan medan magnet, dimana medan magnet ini akan menarik logam yang mengakibatkan saklar terhubung.

Pada rangkaian ini untuk mengaktifkan atau menon-aktifkan relay digunakan transistor type PNP. Dari gambar dapat dilihat bahwa negative relay dihubungkan ke kolektor akan terhubung ke emitor dimana emitor langsung terrhubung ke ground yang menyebabkan tegangan di kolektor menjadi 0 volt, keadaan ini akan mwngakibatkan relay aktif.

Sebaliknya jika transistor tidak aktif, maka kolektor tidak terhubung ke emitor, sehingga tegangan pada kolektor menjadi 12 volt, keadaan ini menyebabkan tidak aktif Kumparan pada relay akan menghasilkam tegangan singkat yang besar ketika relay dinon-aktifkan dan ini dapat merusak transistor yang ada pada rangkaian ini.

Untuk mencegah kerusakan pada transistor tersebut sebuah dioda harus dihubungkan ke relay tersebut . Dioda dihubungkan secara terbalik sehingga secara normal dioda ini tidak menghantarkan.

Penghantaran hanya terjadi ketika relay dinonaktifkan, pada saat ini arus akan terus mengalir melalui kumparan dan arus ini akan dialirkan ke dioda. Tanpa adanya dioda arus sesaat yang besar itu akan mengalir ke transistor, yang mengakibatkan kerusakan pada transistor.

(51)

3.8 Rangkaian LCD (Liquid Crystal Display)

Pada alat ini, display yang digunakan adalah LCD (Liquid Crystal Display) 2×16.

Untuk blok ini tidak ada komponen tambahan karena mikrokontroler dapat memberi data langsung ke LCD, pada LCD Hitachi - M1632 sudah terdapat driver untuk mengubah data ASCII output mikrokontroler menjadi tampilan karakter.

Pemasangan potensio sebesar 10 KΩ untuk mengatur kontras karakter yang tampil. Gambar 3.8 berikut merupakan gambar rangkaian LCD yang dihubungkan ke mikrokontroler.

Gambar 3.8 Rangkaian LCD

Dari gambar 3.8, rangkaian ini terhubung ke PB.1 - PB.7, yang merupakan pin I/O dua arah dan pin fungsi khusus, yaitu sebagai Timer/Counter, komperator analog dan SPI mempunyai fungsi khusus sebagai pengiriman data secara serial.

Sehingga nilai yang akan tampil pada LCD display akan dapat dikendalikan oleh Mikrokontroller Atmega32.

(52)

3.9 Flowchart Sistem

Start

Selesai Inisialising

Masukkan Volume Air

Deteksi gelas?

Input tombol untuk mulai pengisian air

ya tidak

Pompa Hidup

Air == Volume?

tidak

ya

Pompa Mati

Gambar 3.9 Flowchart Sistem

(53)

Adapun cara kerja alat dari diagram blok dan flowchart di atas yaitu, pada program untuk tahap awal, program menginisialisai PORT PORT yang digunakan sesuai dengan register yang telah ada. Kemudian push button bernilai 0 ketika ditekan, nilai 0, ini digunakan untuk memindahkan fungsi. Pada proses subrutin program pertama user harus menset volume gelas. Ketika sudah di set, letakkan gelas dibawah keran, bisa keran panas dan dingin. Maka air akan mengalir sesuai volume gelas yang telah diset.

(54)

BAB 4

PENGUJIAN DAN HASIL

4.1 Pengujian Rangkaian Power Supply

Pengujian rangkaian power supply ini bertujuan untuk mengetahui tegangan yang dikeluarkan oleh rangkaian tersebut, dengan mengukur tegangan keluaran dari power supply menggunakan multimeter digital. Setelah dilakukan pengukuran maka diperoleh besarnya tegangan keluaran sebesar 5 volt. Dengan begitu dapat dipastikan apakah terjadi kesalahan terhadap rangkaian atau tidak. Jika diukur, hasil dari keluaran tegangan tidak murni sebesar +5 Volt, tetapi +5.03Volt. Hasil tersebut dikarenakan beberapa faktor, diantaranya kualitas dari tiap-tiap komponen yang digunakan nilainya tidak murni.Selain itu, tegangan jala-jala listrik yang digunakan tidak stabil.

4.2 Pengujian Rangkaian Mikrokontroler Atmega32

Karena pemrograman menggunakan mode ISP (In System Programming) mikrokontroler harus dapat diprogram langsung pada papan rangkaian dan rangkaian mikrokontroler harus dapat dikenali oleh program downloader.

Pada pengujian ini berhasil dilakukan dengan dikenalinya jenis mikrokontroler oleh program downloader yaitu Atmega32.

(55)

Gambar 4.1 Informasi Signature Mikrokontroler

Atmega32 menggunakan kristal dengan frekuensi 8 MHz, apabila Chip Signature sudah dikenali dengan baik dan dalam waktu singkat, bisa dikatakan rangkaian mikrokontroler bekerja dengan baik dengan mode ISP-nya.

4.3 Pengujian Rangkaian Sensor Jarak

Sensor ultrasonic ping akan bekerja jika mendapat suplay tegangan sebesar 5 V DC. Di mana tegangan 5V DC dihubungkan dengan konektor Vcc dan ground pada sensor. Untuk konektor SIG dapat dihubungkan dengan mikrokontroler.

Konektor SIG adalah sebagai control sensor ini dalam pendeteksian objek sekaligus pembacaan jarak objek dengan sensor ini. Progam dapat mensetting sensor ini dengan jarak yang telah ditentukan sesuai dengan ring deteksi dari sensor ultrasonic ping ini. Ketika sensor disetting jaraknya maka dengan jarak yang telah ditentukanlah sensor akan bekerja dalam pendeteksian objek. Langkah selanjutnya adalah memberikan program sederhana pada Sensor Ultrasonik.

(56)

Program yang diberikan adalah sebagai berikut :

#include <mega32.h>

#include <delay.h>

#include <stdio.h>

#include <stdlib.h>

#include <alcd.h>

#include <stdio.h>

#define triger PORTA.0

#define pin_triger DDRA.0

#define echo PINA.1

#define pin_echo DDRA.1 While(1)

{ pin_triger=1;// pin TRIGGER triger=1;

delay_us(10);

triger=0;

pin_echo=0;// pin ECHO counter = 0;

while (echo==0);

while (echo==1) {

counter++;

if ( counter > 13000) break;

} }

(57)

4.4 Pengujian Rangkaian Push Button

Rangkaian push button ini, memanfaatkan tegangand dari mikrokontroler dan dengan switch. Ketika switch ditekan maka port yang terhubung ke switch akan terhubung ke GND secara langsung. Rangkaian ini berfungsi sebagai set dalam pengisian air didalam gelas.

4.5 Pengujian Rangkaian Driver Relay dan Solenoid Valve

Untuk pengujian relay yaitu diberikan tegangan pada pada kaki basis di transistor, maka transistor C945 akan aktif. Hal ini menyebabkan kumparan pada relay dialiri arus listrik. Dengan demikian, kontak relay akan terhubung. Dioda berfungsi sebagai komponen pengaman transistor arus balik yang mungkin timbul akibat dari aktifnya kumparan relay. Maka transistor dalam keadaan tidak aktif, untuk pengujian relay dengan program di bawah ini.

#include <mega32.h>

#include <delay.h>

void main(void) {

DDRA=0x01;

PORTA=0x01;

DDRB=0x00;

PORTB=0x00;

DDRC=0x00;

PORTC=0x00;

DDRD=0x00;

(58)

PORTD=0x00;

while (1) {

PORTB.0=1;

delay_ms(1000);

PORTB.0=0;

delay_ms(1000);

} }

Setelah program di download ke mikrokontroler, relay dan solenoid akan mengalami kondisi terbuka dan tertutup selama 1 detik.

4.6 Pengujian Interfacing LCD 2×16

Bagian ini hanya terdiri dari sebuah LCD dot matriks 2×16 karakter yang berfungsi sebagai tampilan hasil pengukuran dan tampilan dari beberapa keterangan. LCD dihubungkan langsung ke Port B dari mikrokontroler yang berfungsi mengirimkan data hasil pengolahan untuk ditampilkan dalam bentuk alfabet dan numerik pada LCD. Display karakter pada LCD diatur oleh pin EN, RS dan RW: Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa anda sedang mengirimkan sebuah data. Untuk mengirimkan data ke LCD, maka melalui program EN harus dibuat logika low “0” dan set ( high ) pada dua jalur kontrol yang lain RS dan RW. Jalur RW adalah jalur kontrol Read/

Write. Ketika RW berlogika low (0), maka informasi pada bus data akan dituliskan pada layar LCD. Ketika RW berlogika high ”1”, maka program akan

(59)

melakukan pembacaan memori dari LCD. Sedangkan pada aplikasi umum pin RW selalu diberi logika low ( 0 ).

Berdasarkan keterangan di atas maka kita sudah dapat membuat progam untuk menampilkan karaker pada display LCD. Adapun program yang diisikan ke mikrokontroller adalah sebagai berikut:

#include <mega32a.h>

#include <alcd.h>

void main(void) {

PORTA=0x00;

DDRA=0x00;

PORTB=0x00;

DDRB=0x00;

PORTC=0x00;

DDRC=0x00;

PORTD=0x00;

DDRD=0x00;

lcd_init(16);

while (1) {

// Place your code here lcd_gotoxy(0,0);

lcd_putsf("tes LCD");

} }

(60)

Program di atas akan menampilkan kata “Tes LCD” di baris pertama pada display LCD 2x16. Pada alat dalam penelitian ini, Saat keseluruhan rangkaian diaktifkan.

4.7 Pengujian Rangkaian Potensiometer

Potensiometer pada rangkaian ini befungsi sebagai set volume air yang akan dikeluarkan, potensiometer memiliki 3 pin diantaranya Vcc, output dan GND.

Output di hubungkan ke ADC pada mikrokontroler maka data akan di ubah dari analog menjadi digital dengan ADC 10 bit. Untuk pengujian rangkaian potensiometer dapat menggunakan penggalan program sebagai berikut:

while (1) {

lcd_clear();

lcd_gotoxy(3,0);

lcd_putsf("bit”);

bit=read_adc(0);

volt=bit*0.004887;

ftoa(volt,1,buff);

lcd_gotoxy(6,1);

lcd_puts(buff);

delay_ms(1000);

}

Dengan program diatas, maka mikorokontroler akan memproses data analog menjadi digital kemudian akan ditampilakan pada LCD 16×2 yang telah

(61)

disediakan library oleh codevison AVR. Data yang akan ditampilkan berupa tegangan. Karena ADC 10 bit memiliki range = 5/ 1023 atau 0,004887. Maka dengan ini ADC pada mikrokontroler memiliki ketelitian 0,004.

4.8 Pengujian Keseluruhan

/******************************************************

This program was created by the CodeWizardAVR V3.12 Advanced Automatic Program Generator

© Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l.

http://www.hpinfotech.com

Project : Version :

Date : 5/1/2016 Author :

Company : Comments:

Chip type : ATmega32A Program type : Application AVR Core Clock frequency: 4.000000 MHz Memory model : Small

External RAM size : 0 Data Stack size : 512

******************************************************/

(62)

#include <mega32a.h>

#include <delay.h>

#include <stdio.h>

#include <stdlib.h>

#define triger PORTD.1

#define pin_triger DDRD.1

#define echo PIND.0

#define pin_echo DDRD.0

#define buzzer PORTC.2

#define pump_panas PORTC.5

#define pump_dingin PORTC.6

#define triger1 PORTD.2

#define pin_triger1 DDRD.2

#define echo1 PIND.3

#define pin_echo1 DDRD.3

int panas,dingin;

int volume;

int waktu;

float debit;

unsigned char buf[33];

unsigned char buf1[33];

(63)

unsigned int counter,jarak_panas;

unsigned int counter1,jarak_dingin;

#define input_bawah PINC.4

#define input_atas PINC.3

int data=0,x;

int hitung;

int volume_gelas;

// Alphanumeric LCD functions

#include <alcd.h>

// Declare your global variables here

#define ADC_VREF_TYPE ((0<<REFS1) | (0<<REFS0) | (0<<ADLAR))

// Read the AD conversion result

unsigned int read_adc(unsigned char adc_input) {

ADMUX=adc_input | ADC_VREF_TYPE;

// Delay needed for the stabilization of the ADC input voltage

delay_us(10);

// Start the AD conversion ADCSRA|=(1<<ADSC);

Gambar

Gambar 2.1 Arsitektur AVR ATMega32
Tabel 2.1 Fungsi Khusus Port A  Port  Alternate Function  PA7  ADC7 (ADC input channel 7)  PA6  ADC6 (ADC input channel 6)  PA5  ADC5 (ADC input channel 5)  PA4  ADC4 (ADC input channel 4)  PA3  ADC3 (ADC input channel 3)  PA2  ADC2 (ADC input channel 2)
Tabel 2.2 Fungsi Khusus Port B  Port  Alternate Function
Tabel 2.3 Fungsi Khusus Port C  Port  Alternate Function  PC7  TOSC2 (Timer Oscillator Pin 2)  PC6  TOSC1 (Timer Oscillator Pin 1)  PC6  TD1 (JTAG Test Data In)  PC5  TD0 (JTAG Test Data Out)  PC3  TMS (JTAG Test Mode Select)  PC2  TCK (JTAG Test Clock)
+7

Referensi

Dokumen terkait

Terselesaikannya tugas akhir dengan judul “ PERANCANGAN SISTEM KENDALI ROBOT TANGAN MENGGUNAKAN MOTOR SERVO DAN SENSOR FLEX BERBASIS MIKROKONTROLER ATMEGA32 ” ini tidak

Dari tabel dan grafik hasil pengujian sistem deselerasi kecepatan terebut, dapat di ketahui bahwa sistem telah bekerja dengan baik, hal ini ditunjukkan dengan adanya

Pengujian sistem yang telah dilakukan adalah pengujian sistem dengan memberi input perintah suara baik dari orang yang suaranya direkam untuk proses training maupun

Pengujian ini diuji dengan menyalakan alat dengan mencolokkan ke aliran listrik baru pasang juga adaptor ke aliran listrik sehingga alat dapat berfungsi semua, cara menguji

Telah dirancang sebuah prototype sistem monitoring volume menggunakan sensor aliran berbasis ATmega 8.Alat ini dapat dimanfaatkan sebagai sistem monitoring volume air yang dapat

Telah dirancang sebuah prototype sistem monitoring volume menggunakan sensor aliran berbasis ATmega 8.Alat ini dapat dimanfaatkan sebagai sistem monitoring volume air yang dapat

Membuat sistem perangkat keras dan perangkat lunak Supervisory Control and Data Acquisition (SCADA) untuk pengontrol level air menggunakan sensor ultrasonik yang dapat

Dari keseluruhan hasil pengujian yang telah dilakukan, prototipe kacamata elektronik untuk tunanetra berbasis mikrokontroler dengan sensor ultrasonik ini dapat