• Tidak ada hasil yang ditemukan

PEMANFAATAN MOTOR SERVO UNTUK PEMBUKA DAN PENUTUP JENDELA OTOMATIS BERBASIS ATMEGA 8 TUGAS AKHIR FITRIANI PURBA

N/A
N/A
Protected

Academic year: 2022

Membagikan "PEMANFAATAN MOTOR SERVO UNTUK PEMBUKA DAN PENUTUP JENDELA OTOMATIS BERBASIS ATMEGA 8 TUGAS AKHIR FITRIANI PURBA"

Copied!
59
0
0

Teks penuh

(1)

PEMANFAATAN MOTOR SERVO UNTUK PEMBUKA DAN PENUTUP JENDELA OTOMATIS BERBASIS ATMEGA 8

TUGAS AKHIR

FITRIANI PURBA 152408029

PROGRAM STUDI D-3 FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2018

(2)

PEMANFAATAN MOTOR SERVO UNTUK PEMBUKA DAN PENUTUP JENDELA OTOMATIS BERBASIS ATMEGA 8

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh gelar ahli madya

FITRIANI PURBA 152408029

PROGRAM STUDI D-3 FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2018

UNIVERSITAS SUMATERA UTARA

(3)
(4)

i

PERNYATAAN

PEMANFAATAN MOTOR SERVO UNTUK PEMBUKA DAN PENUTUP JENDELA OTOMATIS BERBASIS ATMEGA 8

TUGAS AKHIR

Saya mengakui bahwa tugas akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebut sumbernya.

Medan, Juli 2018

FITRIANI PURBA 152408029

UNIVERSITAS SUMATERA UTARA

(5)

PEMANFAATAN MOTOR SERVO UNTUK PEMBUKA DAN PENUTUP JENDELA OTOMATIS BERBASIS ATMEGA 8

ABSTRAK

Telah dibuat suatu alat prototype pembuka dan penutup otomatis dengan memanfaatkan sensor LDR (Light Dependent Resistor) berbasis mikrokontroller ATMega8 dengan bantuan motor servo untuk membuka dan menutup jendela suatu ruangan sesuai dengan cahaya yang diterimanya. Pada Tugas Akhir ini dibahas mengenai rangkaian mikrokontroler, sistem kerja LDR, perputaran motor servo dan pemograman bahasa C yang input kendalinya berasal dari sensor LDR dan ditampilkan pada LCD (Liquid Crystal Display). Rangkaian ini terbagi menjadi dua, yakni perangkat keras dan perangkat lunak. Perangkat keras ini terdiri dari mikrokontroller ATMega, motor servo, LDR dan LCD. Sedangkan perangkat lunak yang digunakan untuk pemograman pada mikrokontroler agar dapat mengaktifkan dan mengendalikan sensor LDR yaitu dengan menggunakan bahasa pemograman bahasa C, sehingga program-program tersebut dapat mengontrol perangkat keras yang ada pada sistem pengendalian yang mana program-program itu disimpan sebagai pusat kendali pada mikrokontroller. Dari pengujian yang penulis lakukan pada alat ini, dapat diketahui bahwa terbuka dan tertutupnya jendela secara otomatis sesuai dengan intensitas cahaya yang diterima oleh sensor LDR dengan perintah program yang tersimpan pada mikrokontroller.

Kata kunci : sensor LDR, mikrokontroller ATMega8, motor servo dan jendela.

(6)

iii

UTILIZATION OF SERVO MOTOR TO OPEN AND CLOSE THE AUTOMATICALLY WINDOW USING ATMEGA8

MICROCONTROLLER

ABSTRACT

It has been designed prototype an automatic opening and closing window covering tool by utilizing the LDR (Light Dependent Resistor) sensor based on atmeg8 microcontroller with the help of servo motor to open and close the window of a room according to the light it receives. In this final project discussed about microcontroller circuit, LDR work system, servo motor rotation and C languange programming whose input control comes from LDR sensor and displayed on LCD (Liquid Crystal Display). This circuit is divided into two parts, that is hardware and software. This hardware consist of ATMega8 microcontrollr, servo motor, LDR dan LCD. While the software used of programming on the microcontroller in order to enable and control the LDR sensor is by using languange programming C languange, so these programs can control the existing hardware on the control system where the programs are stored as a control center on the microcontroller.

From the testig the authors do on this tool, it can be known that open and closed windows automatically in according with the light received by the LDR sensor with program commands stored on the microcontroller.

Keywords : LDR sensor, ATMega8 microcontroller, servo motor and window.

UNIVERSITAS SUMATERA UTARA

(7)

PENGHARGAAN

Puji syukur penulis panjatkan ke hadirat Tuhan Yang Maha Esa, berkat rahmat dan karuniaNya penulis dapat menyelesaikan tugas akhir ini.

Proyek ini berjudul “Rancangan Pembuka dan Penutup Tirai Otomatis dengan Memanfaatkan Sensor LDR Berbasis Mikrokontroller ATmega8”, meskipun dalam proses penulisan banyak menemui hambatan dan rintangan namun dengan usaha maksimal yang dilakukan penulis serta bantuan dari berbagai pihak, akhirnya tugas akhir ini dapat selesai. Atas bantuan dan motivasi yang diberikan, maka penulis mengucapkan banyak terimakasih kepada :

1. Teristimewa kepada Tuhan Yang Maha Esa dan kedua orang tua saya yaitu bapak A.Purba dan ibu D.Simanjuntak yang telah memberikan dukungan moril dan material serta dorongan semangat, kasih sayang, dan doa yang tulus serta menjadi motivasi saya dalam pengerjaan Tugas Akhir ini.

2. Bapak Dr. Krista Sebayang, M.S selaku dekan FMIPA USU.

3. Bapak Drs. Takdir Tamba M.Eng,Sc selaku ketua program studi D3 Fisika FMIPA USU.

4. Bapak Drs. Aditia Warman, M.Si selaku sekretaris program studi D3 Fisika FMIPA USU dan dosen pembimbing yang telah membimbing serta mengarahkan kepada Penulis dalam menyelesaikan Laporan tugas akhir.

5. Seluruh dosen yang telah memberikan ilmu pengetahuan selama perkuliahan, yang membuka cakrawala berfikir serta pengawai tata usaha yang ikut mensukseskan proses belajar mengajar.

6. Yang terkhusus kepada saudara-saudara dari penulis Sihar Roha Purba, Poltak Leonardo Purba, Rudi Tua Purba, Jhonny Purba, dan Adi Suhendra Purba yang telah memberikan semangat dalam penulisan tugas akhir.

7. Teman kecil sekaligus sahabat saya Sri Rezeki Simatupang dan Evi Tanty Sipahutar yang selalu mendukung dan memberikan semangat semasa penulisan tugas akhir.

(8)

v

8. Teman seperjuangan sekaligus sahabat saya selama kuliah Inesti Rudangta Brahmana, Clinton E. Sihite dan Yosua Getmi Rajagukguk yang membantu, mendukung, memberi semangat dan membuat penulisan tugas akhir lebih bermakna.

9. EXO yang lagunya membuat saya semangat dan tidak bosan selama pembuatan tugas akhir dan membuat penulisan tugas akhir lebih bersemangat.

10. Kepada semua rekan di D3 Fisika 2015 yang tak tersebutkan satu persatu, terimakasih atas kerjasamanya selama ospek, acara-acara yang digelar bersama dan perkuliahan serta ngelab bersama.

11. Kepada abangda Fathurrahman, saya juga mengucapkan banyak terimakasih atas bantuannya, sehingga saya dapat menyelesaikan tugas akhir ini dengan baik.

Tugas Akhir ini penulis dedikasikan untuk mereka sebagai ungkapan penghargaan atas keikhlasan, kesabaran, dan kasih sayang yang tak terhingga. Hanya Tuhan Yang Maha Esa yang dapat membalas semua jasa dan kebaikan yang penulis terima dan berbagai pihak yang telah membantu dalam penyelesaian Tugas Akhir ini.

Penulis menyadari dalam penyusunan Tugas Akhir ini masih terdapat kekurangan dan masih jauh dari kesempurnaan. Oleh karena itu, penulis sangat terbuka terhadap saran maupun kritikan dalam sebuah diskusi yang membangun dari pembaca.

Akhir kata penulis mengharapkan semoga Tugas Akhir ini dapat bermanfaat bagi pembaca.

Medan, Juli 2018

Fitriani Purba

UNIVERSITAS SUMATERA UTARA

(9)

DAFTAR ISI

Halaman

Pernyataan i

Abstrak ii

Penghargaan iv

Daftar isi vi

Daftar tabel viii

Daftar gambar ix

Daftar lampiran x

BAB I PENDAHULUAN 1

1.1.Latar Belakang 1

1.2.Rumusan Masalah 2

1.3.Tujuan Penelitian 2

1.4.Batasan Masalah 2

1.5.Metode Penulisan 3

1.6.Sistematika Penulisan 3

BAB II LANDASAN TEORI 5

2.1.Mikrokontroler ATMega8 5

2.1.1.Konfigurasi Pin ATMega8 5

2.1.2.Status register Atmega8 9

2.1.3.Spesifikasi ATMega8 10

2.1.4.Memory ATMega8 12

2.2. Light Dependent Resistor (LDR) 13

2.2.1. Prinsip Kerja LDR 14

2.2.2. Karekteristik LDR 14

2.3.Motor Servo 15

2.3.1.Prinsip Kerja Motor Servo 16

(10)

vii

2.4. LCD (Liquid Crystal Display) 17

2.5.Bahasa C 20

2.5.1. Struktur Bahasa C 22

2.5.2. Pengenal (identifier) 22

2.5.3. Konstanta Dan Variabel 22

2.5.4. Tipe Data 23

BAB III PERANCANGAN DAN PEMBUATAN 25

3.1.Diagram Blok Sistem 25

3.1.1.Fungsi Diagram Blok 25

3.2. Rangkaian Mikrokontroller ATMega8 26 3.3. Rangkaian Power Supply Adaptor (PSA) 26 3.4.Rangkaian LCD (Liquid Crystal Display) 27 3.5. Rangkaian LDR (Light Dependent Resistor) 28

3.6. Rangkaian Motor Servo 28

3.7. Flowchat Sistem 31

BAB IV PENGUJIAN ALAT DAN PROGRAM 32

4.1. Pengujian Mikrokontroller ATMega8 32 4.2 Pengujian Power Supply Adaptor (PSA) 33

4.3. Pengujian LCD 33

4.4. Pengujian LDR 35

4.5. Pengujian Motor Servo 36

BAB V PENUTUP 38

5.1.Kesimpulan 38

5.2.Saran 39

DAFTAR PUSATAKA 40

LAMPIRAN 41

UNIVERSITAS SUMATERA UTARA

(11)

DAFTAR TABEL

Halaman

Tabel 2.1. Operasi Dasar LCD 18

Tabel 2.2 Tipe Data 23

Tabel 4.1. Pengujian Pin IC Mikrokontroler ATMega8 32

Tabel 4.2. Hasil Pengujian PSA 33

Tabel 4.3. Pengujian LCD 34

Tabel 4.4. Pengujian LDR 35

Tabel 4.5. Pengujian Motor servo 36

(12)

ix

DAFTAR GAMBAR

Halaman

Gambar 2.1. Mikrokontroller ATmega8 5

Gambar 2.2. Konfigurasi pin ATMega8 6

Gambar 2.3. Blok Diagram ATmega8 8

Gambar 2.4. Status register ATMega8 10

Gambar 2.5. Light Dependent Resistor (LDR) 13

Gambar 2.6. Karakteristik LDR 14

Gambar 2.7. Motor Servo 16

Gambar 2.8. Putaran pulsa motor servo 17

Gambar 2.9. LCD (Liquid Crystal Display) 18

Gambar 2.10. Konfigurasi Pin LCD 19

Gambar 3.1. Diagram Blok 25

Gambar 3.2 Rangkaian Mikrokontroler ATMega8 26 Gambar 3.3 Rangkaian Power Supply Adaptor (PSA) 27

Gambar 3.4 Rangkaian LCD 27

Gambar 3.5 Rangkaian LDR 28

Gambar 3.6 Rangkaian Motor servo 29

Gambar 3.7. Diagram Alir sistem 31

UNIVERSITAS SUMATERA UTARA

(13)

DAFTAR LAMPIRAN

Nomor Lampiran Judul

Lampiran 1. Program Keseluhuran

Lampiran 2. Gambar Alat

Lampiran 3. Rangkaian Alat Keseluruhan

Lampiran 4. Datasheet Mikrokontroller ATMega8

(14)

BAB I PENDAHULUAN

1.1 Latar Belakang Masalah

Melaksanakan pekerjaan rutin khususnya membuka jendela di pagi hari dan menutupnya di sore hari terkadang terlupakan, apalagi pada saat berpergian dan tidak mungkin pulang hanya untuk melakukan pekerjaan tersebut saja. Walaupun pekerjaan ini merupakan hal sepele tetapi tetap harus dilakukan pada waktunya dan terkadang hal ini dapat mengganggu aktivitas keseharian lainnya. Dalam kehidupan sehari-hari tentunya terdapat berbagai macam aktivitas rumah tangga yang rutin dilakukan. Aktifitas tersebut pada dasarnya merupakan hal yang tidak terlalu sulit untuk dilakukan, akan tetapi pada sebagian orang aktivitas tersebut terasa membosankan. Contoh aktivitas rumah tangga yang rutin dilakukan adalah membuka dan menutup jendela. Aktivitas ini juga dilakukan diluar jadwal yang seharusnya, misalnya saat cuaca cerah dan saat hujan ataupun mendung.

Secara naluriah manusia berkeinginan untuk melaksanakan aktivitas kehidupan sehari-hari dengan lebih mudah dan cepat. Kondisi tersebut memaksa manusia menggunakan sarana atau alat yang praktis untuk melaksanakan aktivitas-aktivitas dalam kehidupan dengan biaya serendah mungkin. Sebagai salah satu usaha dalam memanfaatkan perkembangan teknologi khususnya teknologi mikrokontroler dan elektronika untuk meningkatkan mutu dan kualitas kehidupan manusia serta membantu para ibu untuk melaksanakan sebagaian aktivitas kesehariannya, sebab jendela akan menutup jika keadaan cuaca gelap sesuai, tidak terlalu menutup jika kedaan mendung, dan terbuka bila cuaca cerah sesuai dengan intensitas cahaya yang dapat dibaca oleh LDR. Membuka dan menutup jenela sesuai kebutuhan cahaya yang ada di dalam ruangan. Sistem ini terdiri dari perangkat keras (hardware) dan perangkat lunak (software). Perangkat keras (hardware) yang terdiri dari sensor LDR, motor servo, pembagi tegangan, power Supply, dan mikrokontroller ATMega8. Sedangkan perangkat lunak (software) pada sistem ini menggunakan Bahasa C yang diimplementasikan pada mikrokontroller. Sistem ini bekerja berdasarkan intensitas cahaya yang mengenai sensor LDR (Light Dependent Resistor), input inilah yang digunakan

UNIVERSITAS SUMATERA UTARA

(15)

mikrokontroller untuk membuka dan menutup jendela secara otomatis. Untuk itulah penulis mencoba untuk membuat suatu alat dan penulisan Proyek dengan judul “Pemanfaatan Motor Servo Untuk Pembuka dan Penutup Jendela Otomatis Berbasis ATMega 8”.

1.2. Rumusan Masalah

Adapun rumusan masalah yang penulis tentukan berdasarkan uraian latar belakang masalah “Pemanfaatan Motor Servo Untuk Pembuka dan Penutup Jendela Otomatis Berbasis ATMega 8” adalah bagaimana memanfaatkan teknologi mikrokontroler dan elektronika sehingga terbentuk suatu sistem yang bernilai guna dan dapat difungsikan sebagai sistem pembuka dan penutup jendela yang dipengaruhi oleh cahaya. Dimana jenedela akan terbuka ketika cahayanya terang, jendela setengah terbuka jika cahaya yang di dapatnya redup dan tertutup jika tidak menerima cahaya, sehingga perlu adanya sebuah alat yang dapat membantu manusia untuk membuka dan menutup tirai jendela secara otomatis.

1.3. Tujuan Tugas Akhir

Adapun tujuan penulisan tugas akhir ini sebagai berikut:

1. Untuk menegetahui fungsi sensor LDR pada alat yang telah dirancang sebagai sensor cahaya.

2. Untuk mengetahui reaksi jendela setelah LDR menerima cahaya maupun tidak menerima cahaya.

3. Untuk memahami kegunaan mikrokontroler dan LCD di alat tersebut.

1.4. Batasan Masalah

Dalam perencanaan penulisan ini terdapat beberapa batasan masalah sebagai berikut:

1. Rangakaian Mikrokontroller yang digunakan adalah mikrokontroller ATMega8.

2. Sensor yang digunakan adalah LDR berguna sebagai inputan.

3. Motor servo digunakan sebagai alat penggerak tirai.

(16)

3 4. Bahasa pemograman yang digunakan adalah Bahasa C.

5. LCD digunakan sebagai output tampilan dari sensor.

1.5. Manfaat Tugas Akhir

1. Manfaat sistem adalah mempermudah pekerjaan dalam membuka dan menutup tirai jendela.

2. Jendela yang terbuka dapat ditinggalkan karena akan menutup secara otomatis bila keadaan gelap sesuai dengan cahaya yang diterimanya.

1.6. Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman proyek ini, maka penulis membuat sistematika penulisan. Adapun sistematika penulisan proyek ini adalah sebagai berikut:

BAB 1 PENDAHULUAN

Bab ini mencakaup latar belakang masalah, batasan masalah, rumusan masalah, tujuan proyek, manfaat proyek dan sistematika penulisan.

BAB 2 LANDASAN TEORI

Bab ini membahas tentang teori-teori yang menjadi acuan untu proses pengambilan informasi, data serta pembahasannya.

BAB 3 PERANCANGAN DAN PEMBUATAN

Bab ini membahas tentang perancangan sistem, diagram blok, rangkaian per blok dan diagram alir (flowchart).

BAB 4 PENGUJIAN ALAT DAN PROGRAM

Bab ini membahas tentang pengujian rangkaian dengan program dan hasil dari pengujian.

UNIVERSITAS SUMATERA UTARA

(17)

BAB 5 KESIMPULAN DAN SARAN

Bab ini berisikan tentang kesimpulan dan saran yang diperoleh selama membuat alat dan memberikan saran untuk kajian perancangan selanjutnya.

(18)

5 BAB II

LANDASAN TEORI

2.1. Mikrokontroller ATMega8

Mikrokontroller merupakan alat pengolahan data digital dan analog (fitur ADC pada seri AVR) dalam level tegangan maksimum 5V. Keunggulan mikrokontroller dibanding mikroprossesor yaitu lebih murah dan didukung dengan software compailer yang sangat beragam seperti software compailer C/C+, basic, pascal, bahkan assembler. Sehingga pengguna dapat memilih program yang sesuai dengan kemampuannya. Dalam hal ini penggunaan mikrokontroller dibedakan jenis dan tipenya, seperti mikrokontroller atmega8, atmega16, atmega8535 dan lain-lain.

ATmega8 adalah mikrokontroler CMOS 8-bit berarsitektur AVR RISC yang memiliki 8K byte in-System Programmable Flash. Mikrokontroler dengan konsumsi daya rendah ini mampu mengeksekusi instruksi dengan kecepatan maksimum 16MIPS pada frekuensi 16MHz. Jika dibandingkan dengan ATmega8L perbedaannya hanya terletak pada besarnya tegangan yang diperlukan untuk bekerja. Untuk ATmega8 tipe L, mikrokontroler ini dapat bekerja dengan tegangan antara 2,7 - 5,5 V sedangkan untuk ATmega8 hanya dapat bekerja pada tegangan antara 4,5 – 5,5 V.

Gambar 2.1. Mikrokontroller ATmega8

2.1.1 Konfigurasi Pin Atmega8

ATMega8 memiliki 28 pin yang masing-masing pinnya memiliki fungsi yang berbeda-beda baik sebagai port ataupun sebagai fungsi yang lain.

UNIVERSITAS SUMATERA UTARA

(19)

Berikut akan dijelaskan tentang kegunaan dari masing-masing kaki pada ATMega8:

Gambar 2.2. Konfigurasi pin ATMega8

1. VCC

Merupakan supply tegangan untuk digital.

2. GND

Merupakan ground untuk smua komponen yang membutuhkan grounding.

3. Port B

Adalah 8 buah pin mulai dari pin B.0 sampai dengan pin B.7. Tiap pin dapat digunakan sebagai input dan juga output. Port B merupakan sebuah 8-bit bit-directional I/O port dengan inernal pull-up resistor. Sebagai input, pin – pin yang terdapat pada port B yang secara eksternal diturunkan, maka akan mengeluarkan arus jika pull-up resistor diaktifkan. Jika ingin menggunakan tambahan kristal, maka cukup untuk menghubungkan kaki dari kristal ke keki pada pin port B. Namun jika tidak digunakan, maka cukup untuk dibiarkan saja. Pengguna kegunaan dari masing – masing kaki ditentukan dari clock fuse setting-nya.

4. Port C

Port C merupakan sebuah 7-bit bi-directional I/O yang di dalam masing – masing pin terdapat pull-up resistor. Jumlah pin-nya hanya 7 buah mulai dari C.0 sampai dengan pin C.6. Sebagai keluaran / output, port C memiliki karakteristik yang sama dalam hal kemampuan menyarap arus ( sink ) ataupun mengeluarkan arus ( source).

(20)

7 5. Reset / PC6

Jika RSTDISBL Fuse diprogram, maka PC6 akan berfungsi sebagai pin I/O. Untuk diperhatikan juga bahwa pin ini memiliki karakteristik yang berbeda dengan pin – pin yang tedapat pada port C. Namun jika RSTDISBL Fuse tidak deprogram, maka pin ini akan berfungsi sebagai input reset. Dan jika level tegangan yang masuk ke pin ini rendah dan pulsa yang ada lebih pendek dari pulsa minimum, makan akan menghasilkan suatu kondisi reset meskipun clock-nya tidak berkerja.

6. Port D

Port D merupakan 8-bit bi-directional I/O dengan internal pull-up resistor.

Fungsi dari port ini sama dengan port – port yang lain. Hanya saja pada port ini tidak terdapat kegunaan-kegunaan yang lain. Pada port ini hanya berfungsi sebagai masukan dan keluaran saja atau biasa disebut dengan I/O.

7. AVCC

Pada pin ini memiliki fungsi sebagai power supply tegangan untuk ADC.

Untuk pin ini harus dihubungkan secara terpisah dengan VCC karena pin ini digunakan untuk analog saja. Bahkanjika ACD pada AVR tidak digunakan, tetap saja disarankan untuk menghubungkan secara terpisah dengan VCC. Cara menghubungkan AVCC adalah melewati low-pass filter setelah itu dihubungkan dengan VCC.

8. AREF

Merupakan pin referensi analog jika menggunakan ADC.

UNIVERSITAS SUMATERA UTARA

(21)

Gambar 2.3. Blok Diagram ATmega8

(22)

9 2.1.2. Status register ATMega8

Pada ATMega8 status Register mengandung beberapa informasi mengenai hasil dari kebanyakan hasil eksekusi intruksi aritmatik. Informasi ini dapat digunakan untuk altering arus program sebagai kegunaan untuk meningkatkan performa pengoperasian. Perlu diketahui bahwa register ini di-update setelah semua operasi ALU ( Arithmetic Logic Unit ). Hal tersebut seperti yang telah tertulis dalam datasheet khususnya pada bagian Intruction Set Reference.

Dalam hal ini untuk beberapa kasus dapat membuang kebutuhan penggunaan instruksi perbandingan yang telah didedikasikan serta dapat menghasilkan peningkatan dalam hal kecepatan dan kode yang lebih sederhana dan singkat.

Register ini tidak secara otomatis tersimpan ketika memasuki sebuah rutin interupsi dan juga ketika menjalankan sebuah perintah setelah kembali dari interupsi. Namun hal iini harus dilakukan melalui software.

1. Bit 7 (1)

Merupakan bit Global Interrupt Enable. Bit ini harus di-set supaya semua perintah interupsi dapat dijalankan. Untuk fungsi interupsi individual akan dijelaskan pada bagian yang lain. Jika bit ini di-reset, maka semua perintah interupsi baik yang secara individual maupun yang secara umum akan diabaikan. Bit ini akan dibersihkan atau cleared oleh hardware setelah sebuah interupsi dijalankan dan akan di-set kembali oleh perintah RETI. Bit ini juga dapat di-set dan di-reset melalui aplikasi dengan instruksi SEI dan CLI.

2. Bit 6 (T)

Merupakan bit Copy Storage. Instruksi bit Copy Instruction BLD ( Bit LoaD ) dan BST ( Bit Store ) menggunakan bit ini sebagai asal atau tujuan untuk bit yang telah dioperasikan. Sebuah bit dari sebuah register dan Register File dapat disalin ke dalam bit ini dengan menggunakan intruksi BST, dan sebuah bit di dalam bit ini dapat disalin ke dalam sebuah bit di register pada Register File dengan menggunakan perintah BLD.

3. Bit 5 (H)

Merupakan bit Half Carry Flag. Bit ini menandakan sebuah Half Carry dalam beberapa operasi aritmatika. Bit ini berfungsi dalam aritmatik BCD.

UNIVERSITAS SUMATERA UTARA

(23)

4. Bit 4 (S)

Merupakan Sign bit. Bit ini selalu merupakan sebuah eksklusif di antara Negative Flag (N) dan Two’s Complement Overflow Flag (V).

5. Bit 3 (V)

Merupakan bit Two’s Complement Overflow Flag. Bit ini menyediakan fungsi aritmatika dua komplemen.

6. Bit 2 (N)

Merupakan bit Negative Flag. Bit ini menyediakan sebuah hasil negative di dalam sebuah fugnsi logika atau aritmatika.

7. Bit 1 (Z)

Merupakan bit Zero Flag. Bit ini mengindikasikan sebuah hasil nol “ 0 ” dalam sebuah fungsi aritmatika atau logika.

8. Bit 0 (C)

Meruapakan bit Carry Flag. Bit ini mengindikasikan sebuah Carry atau sisa dalam sebuah fugnsi aritmatika atau logika.

Gambar 2.4. Status register ATMega8

2.1.3. Spesifikasi ATMega8

1. Kinerja tinggi, rendah daya Atmel®AVR® 8-bit Microcontroller 2. Advanced RISC Architecture

a. 130 Instruksi Powerfull - Kebanyakan Single-jam Siklus Eksekusi b. 32 × 8 General Purpose Kerja Register

c. Operasi Fully Static

d. Sampai dengan 16MIPS throughput di 16MHz e. On-chip 2-siklus Multiplier

3. segmen Memory Tinggi Ketahanan Non-volatile

(24)

11 a. 8Kbytes In-System Self-programmable memori program flash b. 512bytes EEPROM

c. SRAM 1Kbyte internal

d. Menulis / Erase Cycles: 10.000 Flash / 100.000 EEPROM e. Data retensi: 20 tahun pada 85 ° C / 100 tahun pada 25 ° C (1) f. Opsional Boot Kode Bagian dengan Independent Lock Bits g. In-System Programming secara On-chip Program Boot h. Benar Operasi Baca-Sementara-Write

i. Kunci Pemrograman untuk Security Software 4. Fitur Peripheral

a. Dua 8-bit Timer / Counter dengan Prescaler terpisah, satu Bandingkan Modus

b. Satu 16-bit Timer / Counter dengan Prescaler terpisah, Bandingkan Mode, dan Tangkap

c. Mode

d. Real Time Counter dengan Oscillator terpisah e. Tiga Saluran PWM

f. 8-channel ADC di TQFP dan QFN / MLF paket.

g. Delapan Saluran 10-bit Akurasi h. 6-channel ADC dalam paket PDIP i. Enam Saluran 10-bit Akurasi

j. Byte berorientasi Dua-kawat Serial Interface k. Programmable Serial USART

l. Master / Slave SPI Serial Interface

m. Programmable Watchdog Timer dengan terpisah On-chip Oscillator

n. On-chip Analog Comparator 5. Fitur Mikrokontroler Khusus

a. Power-on ulang dan Programmable Brown-out Detection b. Internal dikalibrasi RC Oscillator

c. Eksternal dan Sumber Interrupt internal

d. Lima Mode Sleep: Idle, ADC Noise Reduction, Power-save,

UNIVERSITAS SUMATERA UTARA

(25)

Power-down, dan e. Bersiap

6. I / O dan Paket

a. 23 Programmable I / O Garis

b. 28-lead PDIP, 32-lead TQFP, dan 32-pad QFN / MLF 7. Tegangan Operasi

a. 2.7V - 5.5V (ATMega8L) b. 4.5V - 5.5V (ATMega8) 8. Kelas Kecepatan

a. 0 - 8MHz (ATMega8L) b. 0 - 16MHz (ATMega8) 9. Konsumsi Daya di 4Mhz, 3V, 25°C

a. Aktif: 3.6mA

b. Menganggur Mode: 1.0mA c. Power-down Mode: 0.5μA

2.1.4. Memori ATMega8

Memori ATMega8 terbagi menjadi tiga yaitu :

1. Memori Flash : Memori flash adalah memori ROM tempat kode-kode program berada. Kata flash menunjukan jenis ROM yng dapat ditulis dan dihapus secara elektrik. Memori flash terbagi menjadi dua bagian yaitu bagian aplikasi dan bagian boot. Bagian aplikasi adalah bagian kode-kode program apikasi berada. Bagian boot adalah bagian yang digunakan khusus untuk booting awal yang dapat diprogram untuk menulis bagian aplikasi tanpa melalui programmer/downloader, misalnya melalui USART.

32 General purpose registers 64 I/O registers Additional I/O registers Internal RAM Flash Boot Section EEPROM 13.

2. Memori Data : Memori data adalah memori RAM yang digunakan untuk keperluan program. Memori data terbagi menjadi empat bagian yaitu : 32 GPR (General Purphose Register) adalah register khusus yang bertugas untuk membantu eksekusi program oleh ALU (Arithmatich Logic Unit), dalam instruksi assembler setiap instruksi harus melibatkan GPR. Dalam

(26)

13 istilah processor komputer sahari-hari GPR dikenal sebagai “chace memory”. I/O register dan Aditional I/O register adalah register yang difungsikan khusus untuk mengendalikan berbagai pheripheral dalam mikrokontroler seperti pin port, timer/counter, usart dan lain-lain. Register ini dalam keluarga mikrokontrol MCS51 dikenal sebagi SFR (Special Function Register).

3. EEPROM : EEPROM adalah memori data yang dapat mengendap ketika chip mati (off), digunakan untuk keperluan penyimpanan data yang tahan terhadap gangguan catu daya. 14 2.1.3 Timer/Counter 0 Timer/counter 0 adalah sebuah timer/counter yang dapat mencacah sumber pulsa/clock baik dari dalam chip (timer) ataupun dari luar chip (counter) dengan kapasitas 8-bit atau 256 cacahan. Timer/counter dapat digunakan untuk :

a. Timer/counter biasa.

b. Clear Timer on Compare Match (selain Atmega 8).

c. Generator frekuensi (selain Atmega 8).

d. Counter pulsa eksternal.

2.2 Light Dependent Resistor (LDR)

Light Dependent Resistor atau yang biasa disebut LDR yaitu jenis resistor yang nilainya berubah seiring intensitas cahaya yang diterima oleh komponen tersebut. Biasa digunakan sebagai detektor cahaya atau pengukur besaran konversi cahaya. Light Dependent Resistor, terdiri dari sebuah cakram semikonduktor yang mempunyai dua buah elektroda pada permukaannya.

Gambar 2.5. Light Dependent Resistor (LDR)

UNIVERSITAS SUMATERA UTARA

(27)

Pada saat gelap atau cahaya redup, bahan dari cakram tersebut menghasilkan elektron bebas dengan jumlah yang relatif kecil. Sehingga hanya ada sedikit elektron untuk mengangkut muatan elektrik. Artinya pada saat cahaya redup LDR menjadi konduktor yang buruk, atau bisa disebut juga LDR memiliki resistansi yang besar pada saat gelap atau cahaya redup. Pada saat cahaya terang, ada lebih banyak elektron yang lepas dari atom bahan semikonduktor tersebut. Sehingga akan ada lebih banyak elektron untuk mengangkut muatan elektrik. Artinya pada saat cahaya terang LDR menjadi konduktor yang baik, atau bisa disebut juga LDR memiliki resistansi yang kecil pada saat cahaya terang.

2.2.1. Prinsip Kerja LDR (Light Dependent Resistor)

Resistansi Sensor Cahaya LDR (Light Dependent Resistor) akan berubah seiring dengan perubahan intensitas cahaya yang mengenainya atau yang ada disekitarnya. Dalam keadaan gelap resistansi LDR sekitar 10MΩ dan dalam keadaan terang sebesar 1KΩ atau kurang. LDR terbuat dari bahan semikonduktor seperti kadmium sulfida. Dengan bahan ini energi dari cahaya yang jatuh menyebabkan lebih banyak muatan yang dilepas atau arus listrik meningkat. Artinya resistansi bahan telah mengalami penurunan.

2.2.2. Karekteristik LDR (Light Dependent Resistor)

Sensor Cahaya LDR (Light Dependent Resistor) adalah suatu bentuk komponen yang mempunyai perubahan resistansi yang besarnya tergantung pada cahaya. Karakteristik LDR terdiri dari dua macam yaitu Laju Recovery dan Respon Spektral sebagai berikut :

Gambar 2.6. Karakteristik LDR

(28)

15 a. Laju Recovery LDR

Bila sebuah “Sensor Cahaya LDR”dibawa dari suatu ruangan dengan level kekuatan cahaya tertentu ke dalam suatu ruangan yang gelap, maka bisa kita amati bahwa nilai resistansi dari LDR tidak akan segera berubah resistansinya pada keadaan ruangan gelap tersebut. Namun LDR tersebut hanya akan bisa menca-pai harga di kegelapan setelah mengalami selang waktu tertentu. Laju recovery meru-pakan suatu ukuran praktis dan suatu ke-naikan nilai resistansi dalam waktu tertentu. Harga ini ditulis dalam K/detik, untuk LDR tipe arus harganya lebih besar dari 200K/detik(selama 20 menit pertama mulai dari level cahaya 100 lux), kecepatan tersebut akan lebih tinggi pada arah sebaliknya, yaitu pindah dari tempat gelap ke tempat terang yang memerlukan waktu kurang dari 10 ms untuk mencapai resistansi yang sesuai dengan level cahaya 400 lux.

b. Respon Spektral LDR

Sensor Cahaya LDR tidak mempunyai sensitivitas yang sama untuk setiap panjang gelombang cahaya yang jatuh padanya (yaitu warna). Bahan yang biasa digunakan sebagai penghantar arus listrik yaitu tembaga, aluminium, baja, emas dan perak. Dari kelima bahan tersebut tembaga merupakan penghantar yang paling banyak, digunakan karena mempunyai daya hantar yang baik.

2.3. Motor Servo

Motor servo adalah sebuah perangkat atau aktuator putar (motor) yang dirancang dengan sistem kontrol umpan balik loop tertutup (servo), sehingga dapat di set-up atau di atur untuk menentukan dan memastikan posisi sudut dari poros output motor. Motor servo merupakan perangkat yang terdiri dari motor DC, serangkaian gear, rangkaian kontrol dan potensiometer. Serangkaian gear yang melekat pada poros motor DC akan memperlambat putaran poros dan meningkatkan torsi motor servo, sedangkan potensiometer dengan perubahan resistansinya saat motor berputar berfungsi sebagai penentu batas posisi putaran poros motor servo.

UNIVERSITAS SUMATERA UTARA

(29)

Gambar 2.7. Motor Servo

Penggunaan sistem kontrol loop tertutup pada motor servo berguna untuk mengontrol gerakan dan posisi akhir dari poros motor servo. Penjelasan sederhananya begini, posisi poros output akan di sensor untuk mengetahui posisi poros sudah tepat seperti yang di inginkan atau belum, dan jika belum, maka kontrol input akan mengirim sinyal kendali untuk membuat posisi poros tersebut tepat pada posisi yang diinginkan. Untuk lebih jelasnya mengenai sistem kontrol loop tertutup, perhatikan contoh sederhana beberapa aplikasi lain dari sistem kontrol loop tertutup, seperti penyetelan suhu pada AC, kulkas, setrika dan lain sebagainya. Motor servo biasa digunakan dalam aplikasi-aplikasi di industri, selain itu juga digunakan dalam berbagai aplikasi lain seperti pada mobil mainan radio kontrol, robot, pesawat, dan lain sebagainya.

2.3.1. Prinsip kerja motor servo

Motor servo dikendalikan dengan memberikan sinyal modulasi lebar pulsa (Pulse Wide Modulation / PWM) melalui kabel kontrol. Hanya saja motor ini dapat bekerja searah maupun berlawanan jarum jam. Derajat putaran dari motor servo juga dapat dikontrol dengan mengatur pulsa yang masuk ke dalam motor tersebut. Lebar pulsa sinyal kontrol yang diberikan akan menentukan posisi sudut putaran dari poros motor servo. Sebagai contoh, lebar pulsa dengan waktu 1,5 ms (mili detik) akan memutar poros motor servo ke posisi sudut 90⁰. Bila pulsa lebih pendek dari 1,5 ms maka akan berputar ke arah posisi 0⁰ atau ke kiri (berlawanan dengan arah jarum jam), sedangkan bila pulsa yang diberikan lebih lama dari 1,5 ms maka poros

(30)

17 motor servo akan berputar ke arah posisi 180⁰ atau ke kanan (searah jarum jam). Lebih jelasnya perhatikan gambar dibawah ini:

Gambar 2.8. Putaran pulsa motor servo

Ketika lebar pulsa kendali telah diberikan, maka poros motor servo akan bergerak atau berputar ke posisi yang telah diperintahkan, dan berhenti pada posisi tersebut dan akan tetap bertahan pada posisi tersebut. Jika ada kekuatan eksternal yang mencoba memutar atau mengubah posisi tersebut, maka motor servo akan mencoba menahan atau melawan dengan besarnya kekuatan torsi yang dimilikinya (rating torsi servo). Namun motor servo tidak akan mempertahankan posisinya untuk selamanya, sinyal lebar pulsa kendali harus diulang setiap 20 ms (mili detik) untuk menginstruksikan agar posisi poros motor servo tetap bertahan pada posisinya.

2.4. LCD (Liquid Crystal Display)

LCD merupakan salah satu perangkat penampil yang sekarang ini mulai banyak digunakan. Penampil LCD mulai dirasakan menggantikan fungsi dari penampil CRT (Cathode Ray Tube), yang sudah berpuluh-puluh tahun digunakan maupun yang berwarna. Teknologi LCD memberikan keuntungan dibandingkan dengan teknologi CRT, kaena pada dasarnya, CRT adalah tabung triode yang digunakan sebelum transistor ditemukan. Beberapa keuntungan LCD dibandingkan dengan CRT adalah konsumsi daya yang relative kecil, lebih ringan, tampilan yang lebih bagus, dan ketika berlama-lama di depan monitor, monitor CRT lebih cepat memberikan kejenuhan pada mata dibandingkan dengan LCD.

UNIVERSITAS SUMATERA UTARA

(31)

Gambar 2.9. LCD (Liquid Crystal Display)

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 alat atau 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 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.

(32)

19 4. Daya yang digunakan relative sangat kecil.

Gambar 2.10. Konfigurasi Pin LCD

Operasi dasar pada LCD terdiridari 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 utama LCD adalah Display Clear, Cursor Home, Display ON/OFF, Display Character Blink, Cursor Shift, dan Display Shift. Tabel 1 menunjukkan operasi dasar LCD.

Tabel 2.1. Operasi Dasar LCD

RS RW 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

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

UNIVERSITAS SUMATERA UTARA

(33)

LCD, mulai jenis LCD biasa, Passive Matrix LCD (PMLCD), hingga Thin-Film Transistor Active Matrix (TFT-AMLCD). Kemampuan LCD juga telah ditingkatkan dari yang monokrom hingga yang mampu menampilkan ribuan warna. Lapisan film yang berisis Kristal cair diletakkan di antara dua lempeng kaca yang telah ditanami elektroda logam transparan. Saat teganga 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.

LCD membutuhkan tegangan dan daya yang kecil sehingga sangat popular untuk aplikasi pada kalkulator, arloji digital, dan instrument elektronika lain seperti Global Positioning System (GPS), baragraph display 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.

LCD merupakan salah satu perangkat penampil yang sekarang ini mulai banyak digunakan. Penampil LCD mulai dirasakan menggantikan fungsi dari penampil CRT (Cathode Ray Tube), yang sudah berpuluh-puluh tahun digunakan 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).

2.5. Bahasa C

Bahasa C dikembangkan pada Lab Bell pada tahun 1978, oleh Dennis Ritchi dan Brian W. Kernighan. Pada tahun 1983 dibuat standar C yaitu stnadar ANSI ( American National Standards Institute ), yang digunakan sebagai referensi dari berbagai versi C yang beredar dewasa ini termasuk Turbo C.

Dalam beberapa literature, bahasa C digolongkan bahasa level menengah karena bahasa C mengkombinasikan elemen bahasa tinggi dan elemen bahasa

(34)

21 rendah. Kemudahan dalam level rendah merupakan tujuan diwujudkanya bahasa C. pada tahun 1985 lahirlah pengembangan ANSI C yang dikenal dengan C++

(diciptakan oleh Bjarne Struostrup dari AT % TLab). Bahasa C++ adalah pengembangan dari bahasa C. bahasa C++ mendukung konsep pemrograman berorientasi objek dan pemrograman berbasis windows. Sampai sekarang bahasa C++ terus brkembang dan hasil perkembangannya muncul bahasa baru pada tahun 1995 (merupakan keluarga C dan C++ yang dinamakan java). Istilah prosedur dan fungsi dianggap sama dan disebut dengan fungsi saja. Hal ini karena di C++ sebuah prosedur pada dasanya adalah sebuah fungsi yang tidak memiliki tipe data kembalian (void). Hingga kini bahasa ni masih popular dan penggunaannya tersebar di berbagai platform dari windows samapi linux dan dari PC hingga main frame. Ada pun kekurangan dan Kelebihan Bahasa C sebagai berikut :

 Kelebihan Bahasa C:

· Bahasa C tersedia hampir di semua jenis computer.

· Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis computer.

· Bahasa C hanya menyediakan sedikit kata-kata kunci. Hanya terdapat 32 kata kunci.

· Proses executable program bahasa C lebih cepat

· Dukungan pustaka yang banyak.

· C adalah bahasa yang terstruktur

· Bahasa C termasuk bahasa tingkat menengah

penempatan ini hanya menegaskan bahwa c bukan bahasa pemrograman yang berorientasi pada mesin. yang merupakan ciri bahasa tingkat rendah. Melainkan berorientasi pada obyek tetapi dapat dinterprestasikan oleh mesin dengan cepat secepat bahasa mesin. Inilah salah satu kelebihan c yaitu memiliki kemudahan dalam menyusun programnya semudah bahasa tingkat tinggi namun dalam mengesekusi program secepat bahasa tingkat rendah.

 Kekurangan Bahasa C:

· Banyaknya operator serta fleksibilitas penulisan program kadangkadang membingungkan pemakai.

UNIVERSITAS SUMATERA UTARA

(35)

· Bagi pemula pada umumnya akan kesulitan menggunakan pointer.

2.5.1. Struktur Bahasa C

a. Program bahasa C tersusun atas sejumlah blok fungsi.

b. Setiap fungsi terdiri dari satu atau beberapa pernyataan untuk melakukan suatu proses tertentu.

c. Tidak ada perbedaan antara prosedur dan fungsi.

d. Setiap program bahasa C mempunyai suatu fungsi dengan nama “main”

(Program Utama).

e. Fungsi bisa diletakkan diatas atau dibawah fungsin “main”.

f. Setiap statemen diakhiri dengan semicolon (titik koma).

2.5.2 Pengenal (identifier)

Pengenal (identifier) merupakan sebuah nama yang didefenisikan oleh pemrograman untuk menunjukkan indetitas dari sebuah konstanta, variable, fungsi, label atau tipe data khusus. Pemberian nama sebuah pengenal dapat ditentukan bebas sesuai keinginan pemrogram tetapi harus memenuhi aturan berikut :

 Karakter pertama tidak boleh menggunakan angka.

 Karakter kedua dapat berupa huruf, angka, atau garis bawah.

 Tidak boleh menggunakan spasi.

 Bersifat Case Sensitive, yaitu huru capital dan huruf kecil dianggap berbeda.

Tidak boleh mengunakan kata – kata yang merupakan sitaks maupun operator dalam pemrograman C, misalnya : Void, short, const, if, static, bit, long, case, do, switch dll.

2.5.3. Konstanta Dan Variabel

Konstanta dan variable merupakan sebuah tempat untuk menyimpan data yang berada di dalam memori. Konstanta berisi data yang nilainya tetap dan tidak dapat diubah selama program dijalankan, sedangkan variable berisi data yang bisa berubah nilainya pada saat program dijalankan.

(36)

23 2.5.4. Tipe Data

Tipe data merupakan suatu hal yang penting untuk kita ketahui pada saat belajar bahasa pemrograman. Kita harus dapat menentukan tipe data yang tepat untuk menampung sebuah data, baik itu data berupa bilangan numerik ataupun karakter. Hal ini bertujuan agar program yang kita buat tidak membutuhkan pemesanan kapling memori yang berlebihan. Seorang programmer yang handal harus dapat memilih dan menentukan tipe data apa yang seharusnya digunakan dalam pembuatan sebuah program. Secara garis besar tipe data pada bahasa C dibagi menjadi beberapa bagian antara lain sebagai berikut:

Macam-Macam Tipe Data Pada Bahasa C : 1. Tipe Data Karakter

Sebuah karakter, baik itu berupa huruf atau angka dapat disimpan pada sebuah variabel yang memiliki tipe data char dan unsigned char. Besarnya data yang dapat disimpan pada variabel yang bertipe data char adalah -127 - 127. Sedangkan untuk tipe data unsigned char adalah dari 0 - 255. Pada dasarnya setiap karakter memiliki nilai ASCII, nilai inilah yang sebetulnya disimpan pada variabel yang bertipe data karakter ini.

2. Tipe Data Bilangan Bulat

Tipe data bilangan bulat atau dapat disebut juga bilangan desimal merupakan sebuah bilangan yang tidak berkoma. Pada bahasa C terdapat bermacam-macam tipe data yang dapat kita gunakan untuk menampung bilangan bulat. Kita dapat menyesuaikan penggunaan tipe data dengan terlebih dahulu memperhitungkan seberapa besar nilai yang akan kita simpan.

3. Tipe Data Bilangan Berkoma

Pada bahasa C terdapat dua buah tipe data yang berfungsi untuk menampung data yang berkoma. Tipe data tersebut adalah float dan double. Double lebih memiliki panjang data yang lebih banyak dibandingkan float. Tipe data double dapat digunakan jika kita membutuhkan variabel yang dapat menampung tipe data berkoma yang bernilai besar seperti pada tabel 2.2 Tipe Data dibawah ini:

UNIVERSITAS SUMATERA UTARA

(37)

Tabel 2.2 Tipe Data

Tipe Data

Ukuran Jangkauan Nilai

Bit

1 byte 0 atau 1

Char

1 byte -128 s/d 127

Unsigned Char

1 byte 0 s/d 255

Signed Char 1 byte -128 s/d 127

Int

2 byte -32.768 s/d 32.767

Short Int

2 byte -32.768 s/d 32.767

Unsigned Int

2 byte 0 s/d 65.535

Signed Int 2 byte -32.768 s/d 32.767

Long Int 4 byte -2.147.483.648 s/d 2.147.483.647

Unsigned Long Int

4 byte 0 s/d 4.294.967.295 Signed Long Int 4 byte

-2.147.483.648 s/d 2.147.483.647

Float 4 byte

1.2*10-38s/d 3.4*10+38

Double 4 byte

1.2*10-38s/d 3.4*10+38

(38)

25 BAB III

PERANCANGAN DAN PEMBUATAN

3.1. Diagram Blok Rangkaian

Untuk mempermudah dalam mempelajari dan memahami cara kerja alat ini, maka sistem perancangan alat ini dibuat berdasarkan diagram blok dimana tiap blok mempunyai fungsi dan cara kerja tertentu. Adapun diagram blok dari sistem yang dirancang adalah sebagai berikut:

Gambar 3.1. Diagram Blok

3.1.1 Fungsi Diagram Blok

1. Blok Mikrokontroler : Mengkonversi data dari sensor ke LCD.

2. Blok LCD : Sebagai output tampilan dari sensor.

3. Blok power supply : Sebagai penyedia tegangan ke sistem dan sensor.

4. Blok Motor Servo : Sebagai penggerak tirai

5. Blok LDR : Sebagai detektor cahaya terang dan gelap 6. Blok Pembagi tegangan : Sebagai pengkondisi sinyal LDR

UNIVERSITAS SUMATERA UTARA

(39)

3.2. Rangkaian Mikrokontroller ATMega 8

Rangkaian mikrokontroller m erupakan pusat pengendalian dari bagian input dan keluaran serta pengolahan data. Pada sistem ini digunakan mikrokontroller jenis ATMega8 yang memiliki spesifikasi sebagai berikut:

Gambar 3.2 Rangkaian Mikrokontroler ATMega8

Pada sistem ini digunakan mikrokontroller jenis Atmega8 yang memiliki spesifikasi sebagai berikut:

 Kristal 16 MHz, yang berfungsi sebagai pembangkit clock.

 Kapasitor 22 pF pada pin XTAL1 dan XTAL2.

 Resistor 10 kΩ dan kapasitor 10 nF pada pin reset.

 Port masukan Port C.0 digunakan sebagai input data.

3.3. Rangkaian Power Supply Adaptor (PSA)

Rangkaian ini berfungsi untuk memberikan supply tegangan ke seluruh rangkaian yang di rancang. Rangkaian PSA ini dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt. Keluaran 5 volt digunakan untuk mensupplay tegangan ke seluruh rangkaian yang menggunakan supply sebesar 5 Volt. Untuk membuat/ mengatur tegangan menjdi 5 volt menggunakan sebuah IC penstabil tegangan dengan type LM7805. Sedangkan keluaran 12 volt digunakan untuk

(40)

27 mensupply heater pada rangkaian, pada output 12 volt ini tidak mengunakan IC regulator karena output dari trafo 12 volt. ditunjukkan pada gambar 3.3 berikut ini :

Gambar 3.3 Rangkaian Power Supply Adaptor (PSA)

3.4. Rangkaian LCD (Liquid Crystal Display)

Pada alat ini, display yang digunakan adalah LCD (Liquid Crystal Display) 16 x 2. 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 10KΩ untuk mengatur kontras karakter yang tampil. Gambar 3.4 berikut merupakan gambar rangkaian LCD yang dihubungkan ke mikrokontroler.

Gambar 3.4 Rangkaian LCD

UNIVERSITAS SUMATERA UTARA

(41)

3.5. Rangkaian LDR (Light Dependent Resistor)

Rangkaian LDR ini menggunakan rangkaian pembagi tegangan sebagai pengondisian sinyal. Nilai resistor yang digunakan adalah 10 K. Ketika LDR terkena cahaya matahari, maka terjadi perubahan tegangan pada pin 2 SL1. Pin 2 pada SL1(reset) tersebut nantinya dihubungkan pada pin ADC (port C.0) pada mikrokontroler, sehingga tegangan tersebut akan dibaca oleh mikrokontroler untuk diproses.

Gambar 3.5 Rangkaian LDR

LDR adalah jenis Resistor yang nilai hambatan atau nilai resistansinya tergantung pada intensitas cahaya yang diterimanya. Nilai Hambatan LDR akan menurun pada saat cahaya terang dan nilai Hambatannya akan menjadi tinggi jika dalam kondisi gelap. Dengan kata lain, fungsi LDR adalah untuk menghantarkan arus listrik jika menerima sejumlah intensitas cahaya (Kondisi Terang) dan menghambat arus listrik dalam kondisi gelap.

3.6. Rangkaian Motor Servo

Motor servo adalah sebuah motor DC yang dilengkapi rangkaian kendali dengan sistem closed feedback yang terintegrasi dalam motor tersebut. Pada motor servo posisi putaran sumbu (axis) dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo. Motor servo adalah motor yang mampu bekerja dua arah CW atau Counter Wise yang berarti searah dengan jarum jam dan CCW atau Counter Clock Wise yang berarti berlawanan

(42)

29 dengan arah jarum jam. Pada rangkaian ini motor servo dihubungkan ke port pada mikrokontroler.

Gambar 3.6 Rangkaian Motor servo

dimana arah dan sudut pergerakan rotornya dapat dikendalikan dengan memberikan variasi lebar pulsa (duty cycle) sinyal PWM (Pulse Wide Modulation) pada bagian pin kontrolnya. Motor Servo akan bekerja secara baik jika pada bagian pin kontrolnya diberikan sinyal PWM dengan frekuensi 50 Hz.

Dimana pada saat sinyal dengan frekuensi 50 Hz tersebut dicapai pada kondisi Ton duty cycle 1.5 ms, maka rotor dari motor akan berhenti tepat di tengah- tengah (sudut 0°/ netral).

Lebih dalam dapat digambarkan bahwa sebuah motor servo memiliki :

 3 jalur kabel : power, ground, dan control.

 Sinyal control mengendalikan posisi.

 Operasional dari servo motor dikendalikan oleh sebuah pulsa selebar ± 20 ms, dimana lebar pulsa antara 0.5 ms dan 2 ms menyatakan akhir dari range sudut maksimum.

 Konstruksi didalamnya meliputi internal gear, potensiometer, dan feedback control.

UNIVERSITAS SUMATERA UTARA

(43)

Jenis-jenis motor servo:

 Motor Servo Standar 180°

Motor servo jenis ini hanya mampu bergerak dua arah (CW dan CCW) dengan defleksi masing-masing sudut mencapai 90° sehingga total defleksi sudut dari kanan – tengah – kiri adalah 180°.

 Motor Servo Continuous

Motor servo jenis ini mampu bergerak dua arah (CW dan CCW) tanpa batasan defleksi sudut putar (dapat berputar secara kontinyu).

(44)

31 3.7. Flowchart Sistem

Gambar 3.7. Diagram Alir Siste

UNIVERSITAS SUMATERA UTARA

(45)

BAB 4

PENGUJIAN ALAT DAN PROGRAM

4.1. Pengujian Mikrokontroller ATMega8

ATMega8 menggunakan kristal dengan frekuensi 8 MHz, apabila Chip Signature sudah dikenali dengan baik dan dalam waktu singkat, bisa dikatakn rangkaian mikrokontroler bekerja dengan baik dengan mode ISP-nya. Tabel di bawah ini merupakan hasil pengukuran pada IC mikrokontroler ATMega 8, pengukuran dilakukan dengan tujuan untuk mengetahui apakah mikrokontroler bekerja dengan baik atau tidak.

Tabel 4.1. Pengujian Pin IC Mikrokontroler ATMega8 Nomor kaki ATMega8 Tegangan (V)

1 4,95

2 5

3 4,5

4 0,19

5 0,10

6 4,99

7 0,03

8 0,70

9 0,82

10 0,07

11 2,08

12 0,03

13 0,12

14 0,07

15 3,66

16 4,98

17 0,12

18 0,12

19 0,12

(46)

33

20 4,27

21 4,27

22 0,01

23 0,09

24 0,09

25 0,09

26 0,06

27 0,10

28 0,10

4.2 Pengujian Power Supply Adaptor (PSA)

Pengujian rangkaian power supply (PSA) 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. 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.

Tabel 4.2. Hasil Pengujian PSA Pin 1 IC 7805

(Input)

Pin 3 IC 7805 (Output)

12,08 V 4,98 V

4.3. Pengujian LCD (Liquid Crystal Display)

Bagian ini hanya terdiri dari sebuah LCD yang berfungsi sebagai tampilan hasil pengukuran dan tampilan dari beberapa keterangan. LCD di hubungkan langsung ke port B dari mikrokontroler yang berfungsi mengirimkan data hasil pengolahan untuk ditampilkan dalam bentuk alphabet dan numeric pada LCD.

UNIVERSITAS SUMATERA UTARA

(47)

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 control yang lain RS dan RW. Jalur RW adalah jalur kontrol Red/White. Ketika RW berlogika low (0), maka informasi pada bus data akan dituliskan pada layar LCD. Ketika RW berlogika high (1), maka program akan melakukan pembacaan memori dari LCD. Sedangkan pada aplikasi umum pin RW selalu diberi logika low (0).

Rangkaian LCD dihubungkan ke PB.0 sampai PB7, yang merupakan pin I/O dua arah dan pin fungsi khusus, yaitu sebagai timer/counter, komperator analog dan mempunyai fungsi khusus sebagai pengiriman data secara serial.

Sehingga nilai yang akan tampil pada LCD display akan dapat dikendalikan oleh mikrokontroller ATMega8.

Tabel 4.3. Pengujian LCD

Nomor kaki LCD Tegangan (V)

1 0

2 4,99

3 1,12

4 4,95

5 0,01

6 0,02

7 4,96

8 4,90

9 4,90

10 4,90

11 0,11

12 0,22

13 0,15

14 0,03

(48)

35

15 4,99

16 0

Berikut program yang digunakan untuk menguji cara kerja LCD :

#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 6, 5, 3, 2, 4);

Void setup(){

Lcd.begin(16, 2);

}

void loop(){

lcd.setCursor(0,0);

lcd.print(“tes LCD”);

}

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.4. Pengujian LDR

Pada rangkaian LDR dirangkai dengan resistor 10 K. R1 yaitu resistor 10 K, R2 yaitu LDR. Keduanya dirangkai dengan rangkaian pembagi tegangan yang bertujuan untuk mengetahui arah cahaya matahari.

Tabel 4.4. Pengujian LDR

Cahaya yang diterima Tegangan (V)

Terang 0,465

Redup 3,7

Gelap 4,87

Untuk mengetahui output dari rangkaian pembagi tegangan tersebut menggunakan program sebagai berikut:

void setup() {

UNIVERSITAS SUMATERA UTARA

(49)

Serial.begin(9600);

}

void loop() {

int sensorValue = analogRead(A0);

Serial.println(sensorValue);

delay(1);

}

4.5. Program Pengujian Motor Servo

Dalam pengujian ini digunakan motor servo standar 1800 dimana, motor servo jenis ini bekerja dengan dua arah yaitu CW (Counter Wise) yang berarti searah dengan jarum jam dan CCW (Counter Clock Wise) yang berarti berlawanan dengan arah jarum jam dengan defleksi masing-masing sudut mencapai 00 sehingga total defleksi sudut dari kanan-tengah-kiri adalah 1800.

Tabel 4.5. Pengujian Motor servo Nilai motor servo yang ditampilkan

pada multimeter (V)

Keadaan Motor Servo

5 V Baik

Berikut adalah programnya:

#include <Servo.h>

Servo myservo1;

Servo myservo2;

int pos = 0;

void setup() {

myservo1.attach(10);

myservo2.attach(9);

}

(50)

37 void loop() {

for (pos = 0; pos <= 180; pos += 1) { myservo1.write(pos);

myservo2.write(pos);

delay(15);

}

for (pos = 180; pos >= 0; pos -= 1) { myservo1.write(pos);

myservo2.write(pos);

delay(15);

} }

UNIVERSITAS SUMATERA UTARA

(51)

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Setelah melakukan tahap perancangan dan pembuatan sistem yang kemudian dilanjutkan dengan tahap pengujian maka dapat diambil kesimpulan sebagai berikut :

1. Penempatan sensor LDR pada tirai menjadi kunci utama dalam penentuan arah datangnya cahaya dan pemberhenti tirai agar dapat membuka dan menutup secara sempurna.

2. Motor servo yang digunakan sebagai penngerak tirai kecepatannya sangat berpengaruh terhadap tirai yang akan di buka maupun di tutup ketika terkena cahaya.

3. Tirai akan terbuka jika kondisi di dalam ruangan tidak ada cahaya dan di luar ada cahaya atau terkena cahaya matahari, dan juga jika kondisi di dalam ruangan dan di luar ruangan ada cahaya. Sebaliknya tirai akan tertutup jika kondisi di dalam ada cahaya dan di luar tidak ada cahaya atau dalam keadaan mendung, dan juga jika di dalam dan di luar ruangan tidak ada cahaya.

4. Didalam sebuah IC mikrokontroler sudah terdapat kebutuhan minimal agar mikroprosesor dapat bekerja yaitu meliputi mikroprosesor, ROM, RAM, I/O dan clock. Dengan inputan sensor yang membaca perubahan Alam dan diolah oleh mikrokontroler. Kecepatan dan ketepatan dalam pengaksesan system pengontrolan sangat memadai dalam penghematan waktu.

5. Mikrokontroller ATMega8 pada alat ini berfungsi sebagai penerjemah data konduksi komparator pada rangkaian LDR untuk mengatur arah putaran motor servo sebagai penggerak untuk membuka tirai. LDR akan menerima cahaya yang masuk dan akan dibaca oleh Mikrokontroller ATMega8 lalu tirai akan bergerak yng akan digerakkan oleh motor servo. Dan bila tidak ada cahaya atau dalam keadaan mendung ataupun gelap tirai akan menutup secara otomtis sesuai dengan tidak adanya cahaya yang diterima oleh LDR.

(52)

39 5.2. Saran

Setelah melakukan penulisan ini diperoleh beberapa hal yang dapat dijadikan saran untuk dapat dilakukan perancangan lebih lanjut yaitu:

1. Diperlukan rancangan yang lebih teliti lagi pada alat agar rangkaian ini dapat bekerja lebih sempurna.

2. Agar dilakukan peningkatan kemampuan pada alat ini, sehingga semakin cerdas dengan mengkombinasikan dengan komponen lain, sehingga sistem kerjanya akan lebih baik lagi.

UNIVERSITAS SUMATERA UTARA

(53)

DAFTAR PUSTAKA

Bishop,Owen. 2012. Dasar-Dasar Elektronika. Jakarta: Erlangga

Halawa,Edward E.P.1995. Pemograman Dengan C/C+ Dan Aplikasi Numerik.

Jakarta: Erlangga

Sakti, Setyawan, P. 2017. Pengantar Teknologi Sensor Prinsip Dasar Sensor Besaran Mekanik. Malang: UBMedia

Setiawan,Afrie.2006. Aplikasi Mikrokontroller ATMEGA8 .Jakarta:Andi Pratama http://trikueni-desain-sistem.blogspot.co.id/2014/03/Pengertian-Motor-Servo.html http://sir.stikom.edu/207/6/BAB%20III.pdf

http://elektronika-dasar.web.id/sensor-cahaya-ldr-light-dependent-resistor/

http://buletin.melsa.net.id/okt/1020/bahasa-c.htm

http://www.parallax.com/dl/docs/prod/motors/crservo.pdf

(54)

LAMPIRAN

UNIVERSITAS SUMATERA UTARA

(55)

#include <Servo.h>

Servo myservo1;

Servo myservo2;

#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 6, 5, 4, 3, 2);

void tutup(){

myservo1.write(0);

myservo2.write(180);

}

void setengah(){

myservo1.write(90);

myservo2.write(90);

}

void buka(){

myservo1.write(180);

myservo2.write(0);

}

void setup() {

Serial.begin(9600);

lcd.begin(16, 2);

myservo1.attach(10);

myservo2.attach(9);

(56)

void loop() {

int ldr=analogRead(A5);

lcd.setCursor(0,0);

lcd.print(" Jendela ");

if (ldr<300){

lcd.setCursor(0,1);

lcd.print(" Terbuka ");

buka();

}

else if (ldr>300 && ldr<800){

lcd.setCursor(0,1);

lcd.print(" Setengah ");

setengah();

} else{

lcd.setCursor(0,1);

lcd.print(" Tertutup ");

tutup();

}

delay(100);

Serial.println(ldr);

}

UNIVERSITAS SUMATERA UTARA

(57)

Lampiran Gambar Alat 1. Gambar jendela dengan cahaya terang

2. Gambar jendela dengan cahaya redup atau sedikit

(58)

3. Gambar jendela bila gelap

UNIVERSITAS SUMATERA UTARA

(59)

Gambar

Gambar 2.1. Mikrokontroller ATmega8
Gambar 2.2.  Konfigurasi pin ATMega8
Gambar 2.3. Blok Diagram ATmega8
Gambar 2.4. Status register ATMega8
+7

Referensi

Dokumen terkait