RANCANG BANGUN RAUTAN PENSIL PINTAR BERBASIS MIKROKONTROLER ATMEGA 8535
Laporan Ini Disusun Untuk Memenuhi Persyaratan Mata Kuliah Laporan Akhir Pada Jurusan / Program Studi Teknik Komputer
Oleh : RAHMATIKA INAYAH 061230700566
JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG 2015
HALAMAN PENGESAHAN
RANCANG BANGUN RAUTAN PENSIL PINTAR BERBASIS MIKROKONTROLER ATMEGA 8535
LAPORAN AKHIR
Pembimbing I
Palembang, Juni 2015 Menyetujui, Pembimbing II
Slamet Widodo,S.Kom.,M.Kom NIP 197305162002121001
Meiyi Darlies,M.Kom. NIP 197805152006041003
Mengetahui, Ketua Jurusan Teknik Komputer
Ahyar Supani, S.T., M.T. NIP 196802111992031002
RANCANG BANGUN RAUTAN PENSIL PINTAR BERBASIS MIKROKONTROLER ATMEGA 8535
Telah diuji dan dipertahankan di depan dewan penguji pada sidang Laporan Akhir pada Selasa, 30 Juni 2015
Ketua Dewan Penguji
Tanda Tangan
Slamet Widodo, S.Kom., M.Kom NIP 197305162002121001
………………………
Anggota Dewan Penguji
Adi Sutrisman, S.Kom., M.Kom NIP 197503052001121005
……………………....
Indarto, S.T., M.Cs NIP 197307062005011003
………………………
M. Miftakhul Amin, S.Kom., M.Eng NIP 197912172012121001
………………………
Mengetahui, Ketua Jurusan Teknik Komputer
Ahyar Supani, S.T., M.T. NIP 196802111992031002
MOTTO : Jadilah seperti kerang mutiara yang selalu bersinar meski berada di dasar lautan, dan tegarlah layaknya batu karang dalam menjalani kehidupan . Orang sukses adalah orang yang telah belajar membuat diri mereka melakukan hal yang harus dikerjakan, entah mereka menyukainya atau tidak. Tuhan akan membuat semuanya indah pada waktunya, tidak terlalu cepat dan tidak pernah terlambat, tetapi selalu tepat pada waktunya.
Persembahan : Bapak Ibu tercinta Mas Fatah dan Mbak Dian Kapten Radar Sahabatku (Ninot, Taro, Ema, Veo). Semua teman-teman di kelas 6 CA Almamaterku.
ABSTRAK
RANCANG BANGUN RAUTAN PENSIL MIKROKONTROLER ATMEGA 8535
PINTAR
BERBASIS
(2015: + 58 Halaman + Daftar Pustaka + Gambar + Tabel + Lampiran) RAHMATIKA INAYAH 061230700566 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA Laporan ini berisi tentang rancang bangun rautan pensil pintar berbasis Mikrokontroler ATMega 8535. Rautan pensil pintar merupakan sebuah alat berbasis Mikrokontroler yang memudahkan seseorang dalam meraut sebuah pensil. Rautan pensil ini dirancang secara blok diagram yang terdiri dari input, proses dan output. Bagian input terdiri dari 2 bagian yaitu Inframerah dan Photodioda sebagai sensor pembaca objek. Bagian proses terdiri dari Mikrokontroler ATMega 8535 dan Relay. Bagian Supply input adalah Motor DC 12 Volt. Hasilnya bahwa detektor akan bekerja jika Sensor diletakkan terpisah pada suatu jarak jangkauan tertentu dan dipasang secara sejajar berlawanan arah antara pemancar dan penerima pada daerah yang akan dilalui oleh pensil. Ketika alat ini aktif, maka terdapat seberkas sinar cahaya inframerah yang tidak tampak berada diantara pemancar dan penerima. Apabila cahaya inframerah tersebut terputus atau terhalang oleh sesuatu benda, maka indikator langsung bekerja dengan waktu 6 detik dan mengaktifkan Motor DC dan akan mulai meraut pensil sampai menyentuh sensor berhenti dengan pusat kontrol yang terletak pada Mikrokontroler ATMega 8535 yang telah diprogram dengan menggunakan Bahasa Pemrograman C (CodeVision AVR).
Keyword : Rautan Pensil, Mikrokontroler ATMega 8535, Sensor Objek, Sensor Berhenti, Motor DC.
ABSTRAC
THE DESIGN OF SMART PENCIL MICROCONTROLLER ATMEGA 8535
SHARPENER
BASED
ON
(2015: + 58 Pages + Daftar Pustaka + Gambar + Tabel + Lampiran) RAHMATIKA INAYAH 061230700566 COMPUTER ENGINEERING POLITEKNIK NEGERI SRIWIJAYA Smart pencil sharpener is a microcontroller-based tool that allows a person to sharpen a pencil. This pencil sharpener is designed as a block diagram consisting of input, process and output. Input section consists of two parts, namely infrared and sensor reader Photodioda as objects. Part of the process consists of Microcontroller ATMega 8535 and Relay. Supply Section input is 12 Volt DC motor. The result that the indicator will work if the sensor is placed separately at a certain distance range and installed in parallel in opposite directions between the transmitter and the receiver on the area to be traversed by the pencil. When this tool is active, then there is a beam of infrared light that is not visible in between transmitter and receiver. When the infrared light is interrupted or blocked by some object, then direct indicator works with over 6 seconds and activate the DC motor and will start sharpening a pencil until it touches the sensor stops the control center located in atmega 8535 microcontroller that has been programmed using C Programming Language ( CodeVision AVR).
Keyword : Smart Pencil Sharpener, Microcontroller, Infrared, Motor DC
KATA PENGANTAR Puji dan syukur kehadirat Allah SWT yang telah memberikan rahmat dan karunianya sehingga penulis dapat menyelesaikan penyusunan Laporan Akhir pada jurusan Teknik Komputer Politeknik Negeri Sriwijaya dengan judul “Rancang
Bangun
Peruncing
Pensil
Pintar
Berbasis
Mikrokontroller
ATMega8535”. Laporan akhir ini disusun untuk menyelesaikan Pendidikan Diploma III serta memenuhi kurikulum yang berlaku di Jurusan Teknik Komputer Politeknik Negeri Sriwijaya Palembang sehingga penulis dapat memperoleh gelar Ahli Madya (A. Md) di Politeknik Negeri Sriwijaya Palembang. Dalam menyelesaikan Laporan Akhir ini, penulis menyadari bahwa tanpa adanya bimbingan, bantuan, dorongan serta petunjuk dari semua pihak tidak mungkin Laporan Akhir ini dapat diselesaikan. Oleh karena itu, pada kesempatan yang baik ini, dengan segala kerendahan hati dan penuh rasa hormat penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada : 1. Bapak RD. Kusumanto, S.T.,M.M. Selaku Direktur Politeknik Negeri Sriwijaya. 2. Bapak Ahyar Supani, S.T.,M.T. Selaku Ketua Jurusan Teknik Komputer Politeknik Negeri Sriwijaya. 3. Bapak Slamet Widodo, S.Kom.,M.Kom. Selaku Dosen Pembimbing I di Jurusan Teknik Komputer Politeknik Negeri Sriwijaya. 4. Bapak Meiyi Darlies, S.Kom.,M.Kom. Selaku Dosen Pembimbing II di Jurusan Teknik Komputer Politeknik Negeri Sriwijaya. 5. Seluruh Staf dosen pengajar yang mengajar di Jurusan Teknik Komputer Politeknik Negeri Sriwijaya. 6. Bapak Sukarman, Ibu Rustiati selaku Orang Tua, Mas Fatah, serta Mbak Dian yang telah memberikan dukungan baik moril maupun material yang luar biasa sehingga penulis dapat menyelesaikan Laporan Akhir ini.
7. Sahabatku Nina Eka Putriani dan Sittah April Lindah yang telah memberikan waktu, bantuan, semangat dan motivasi. 8. Teman-teman kelas 6CA : Andree (Papa), Dewi (Dedew), Diska (Uni), Engla (Eenggo), Gita (Gijul) , Harry (Wakher), Imam (Banana), Afiq (Afika), Meisah (Cekgu Mey), Fadil (Budil), Nina (Mbul), Regha (Partner), Ridwan (Wawan), Semi (Semmoy), Satrio (Masyon), Tia, Winda (YukWin). 9. Kgs.Abdul Hadi (Kapten Radarku) si penyemangat yang selalu memberi ide bermanfaat, serta motivasi tiada henti. 10. Kak Fendi, Kak Fahmi dan Kak Apri yang lebih dari sekedar kakak pembimbing yang selalu menemukan ide baru dan membantu dalam menyelesaikan semua permasalahan selama pembuatan Laporan Akhir ini. 11. Teman-teman seperjuangan angkatan 2012 Jurusan Teknik Komputer Politeknik Negeri Sriwijaya. 12. Semua pihak yang membantu dan terlibat dalam pembuatan Laporan Akhir ini. Tiada lain harapan Penulis semoga Allah SWT membalas segala kebaikan kepada mereka semua. Dalam menyelesaikan Laporan Akhir ini penulis menyadari masih banyak kekurangan dan Penulis sangat mengharapkan segala kritik dan saran dari semua pihak yang bersifat membangun dalam penulisan ini. Apabila dalam penyusunan dan pembuatan Laporan Akhir ini terdapat kekeliruan maka penulis mohon maaf. Semoga Laporan Akhir ini dapat bermanfaat bagi penulis khususnya dan untuk pembaca pada umumnya. Akhir kata penulis ucapkan terima kasih.
Palembang, Juni 2015
Penulis
DAFTAR ISI
HALAMAN JUDUL……………………………………………………………i HALAMAN PENGESAHAN…………………………………………………ii HALAMAN UJI……………………………………………………………….iii MOTTO………………………………………………………………………...iv ABSTRAK……………………………………………………………………...v ABSTRAC……………………………………………………………………..vi KATA PENGANTAR………………………………………………………..vii DAFTAR ISI…………………………………………………………………....x DAFTAR GAMBAR…………………………………………………………xii DAFTAR TABEL……………………………………………………………….
BAB I PENDAHULUAN………………………………………………………………1 1.1 Latar Belakang……………………………………………………..1 1.2 Perumusan Masalah………………………………………………...1 1.3 Batasan Masalah……………………………………………………2 1.4 Tujuan………………………………………………………………2 1.5 Manfaat……………………………………………………………..2 BAB II
TINJAUAN PUSTAKA……………………………………………..3 2.1 Pensil……………………………………………………………….3 2.2 Rautan Pensil……………………………………………………….5 2.3 Mikrokontroler……………………………………………………..5 2.4 Mikrokontroler ATMega8535……………………………………..7 2.4.1 Arsitektur Mikrokontroler ATMega8535…………………...8 2.4.2 Konfigurasi Pin Mikrokontroler ATMega8535……………..8 2.5 Sensor Inframerah…………………………………………………9 2.6 Sensor Photodioda………………………………………………...11
2.7 Limit Switch………………………………………………………12 2.8 Motor DC…………………………………………………………12 2.8.1 Prinsip Kerja Motor DC……………………………………13 2.9 Relay……………………………………………………………...13 2.10 Power Supply……………………………………………………13 2.11 Flowchart………………………………………………………...14 2.12 Code Vision AVR……………………………………………….16 2.13 Bahasa Pemrograman C…………………………………………18
BAB III
RANCANG BANGUN…………………………………………….23 3.1 Tujuan Perancangan……………………………………………...23 3.2 Perancangan Hardware…………………………………………...23 3.2.1 Diagram Blok………………………………………………23 3.3 Prinsip Kerja Alat………………………………………………...24 3.4 Gambar Rangkaian……………………………………………….25 3.4.1 Rangkaian Sensor Ke Mikrokontroler……………………..25 3.4.2 Rangkaian Motor DC dan Driver Relay ke…………………. Mikrokontroler……………………………………………..26 3.4.3 Rangkaian Limit Switch ke Mikrokontroler……………….26 3.5 Tahap Perancangan Hardware……………………………………27 3.5.1 Langkah Pembuatan dan Pencetakan Rangkaian Jalur………. Komponen………………………………………………….27 3.5.2 Tata Letak Komponen……………………………………...28 3.5.3 Pembuatan Layout PCB……………………………………29 3.5.4 Pelarutan PCB……………………………………………...30 3.5.5 Pengeboran…………………………………………………31 3.5.7 Pengecekan Rangkaian……………………………………..31 3.5.8 Pengujian Rangkaian……………………………………….31 3.5.9 Alat dan Bahan yang Digunakan…………………………...32 3.6 Tahap Perancangan Mekanik………………………………….....32 3.7 Tahap Perancangan Software…………………………………….33
3.7.1 Pembuatan Flowchart………………………………………34 3.7.2 Pemrograman Menggunakan Software Code Vision AVR..34 BAB IV
PEMBAHASAN…………………………………………………….36 4.1 Pengukuran dan Pengujian……………………………………….36 4.2 Langkah-Langkah Pengujian…………………………………….37 4.3 Tujuan Pengukuran Alat…………………………………………37 4.4 Titik Uji Pengukuran……………………………………………..38 4.5 Hasil Pengukuran………………………………………………...38 4.5.1 Titik Pengukuran Rangkaian Power Supply……………….38 4.5.2 Titik Pengukuran Rangkaian Mikrokontroler……………...42 4.5.3 Titik Pengukuran Rangkaian Relay ke Rautan Pensil……..44 4.5.4 Titik Pengukuran Sensor…………………………………...47 4.5.5 Led Merah Pada Indikator Standby……………………………49 4.6 Pengujian dan Analisa Program………………………………….54 4.7 Analisa Pengujian………………………………………………..56
BAB V
KESIMPULAN DAN SARAN……………………………………..58 5.1 Kesimpulan………………………………………………………58 5.2 Saran……………………………………………………………..58
DAFTAR GAMBAR
Gambar 2.1
Kode Pensil……………………………………………………..3
Gambar 2.2
Blok Diagram ATMega 8535…………………………………..7
Gambar 2.3
Pin Out ATMega 8535…………………………………………8
Gambar 2.4
Sensor Inframerah……………………………………………...10
Gambar 2.5
Sensor Photodioda………………………………………………11
Gambar 2.6
Simbol dan Bentuk Limit Switch……………………………….12
Gambar 2.7
Motor DC……………………………………………………......12
Gambar 2.8
Rangkaian Power Supply………………………………………..13
Gambar 2.9
Tampilan Awal Pada CodeVision AVR………………………...17
Gambar 3.1
Diagram Blok Rautan Pensil Pintar………………………..........23
Gambar 3.2
Rangkaian Skematik Rautan Pensil Pintar……………………...25
Gambar 3.3
Rangkaian Sensor……………………………………………....26
Gambar 3.4
Rangkaian Motor DC & Driver Relay…………………….........26
Gambar 3.5
Rangkaian Limit Switch……………………………………......26
Gambar 3.6
Tata Letak Komponen Rangkaian Mikrokontroler……………..28
Gambar 3.7
Tata Letak Komponen Rangkaian Power Supply……………....28
Gambar 3.8
Tata Letak Komponen Rangkaian Sensor………………………28
Gambar 3.9
Layout PCB Rangkaian Mikrokontroler………………………..29
Gambar 3.10
Layout PCB Rangkaian Sensor………………………………..30
Gambar 3.11
Layout PCB Rangkaian Power Supply………………………..30
Gambar 3.12
Rangcangan Mekanik Rautan Pensil Pintar…………………...33
Gambar 3.13
Flowchart Rautan Pensil Pintar ……………………………….34
Gambar 4.1
Hasil Rancang Bangun Rautan Pensil…………………………36
Gambar 4.2
Titik Uji Pengukuran Rangkaian Power Supply………………41
Gambar 4.3
Titik Pengukuran Tegangan Output IC Regulator 7805………41
Gambar 4.4
Grafik Pengukuran Power Supply IC Regulator 7805…………. Dalam Keadaan StandBy dan Aktif………………………….42
Gambar 4.5
Titik Uji Rangkaian Mikrokontroler………………………….44
Gambar 4.6
Grafik Pengukuran Mikrokontroler Dalam Keadaan………….. StandBy dan Aktif…………………………………………...42
Gambar 4.7
Titik Uji Rangkaian Relay………….………………………...46
Gambar 4.8
Grafik Pengukuran Rangkaian Relay ke Rautan Pensil……… Dalam Keadaan StandBy dan Aktif………………………...42
Gambar 4.9
Titik Uji Rangkaian Sensor…...…….……………………….48
Gambar 4.10
Grafik Pengukuran Rangkaian Sensor Dalam Keadaan……… StandBy dan Aktif………………………………………….48
Gambar 4.11
Grafik Pengukuran Rangkaian Led Indikator Dalam………… Keadaan StandBy dan Aktif………………………………..50
Gambar 4.12
Titik Uji Rangkaian Motor DC……………………………..52
Gambar 4.13
Grafik Pengukuran Rangkaian Motor DC Dalam Keadaan….. StandBy dan Aktif…………………………………………..52
Gambar 4.14
Titik Uji Rangkaian Limit Switch…………………………..53
DAFTAR TABEL
Tabel 2.1
Jenis Pensil Berdasarkan Bentuk dan Ukuran……………………….3
Tabel 2.2
Flow Direction Symbol…………………………………………….14
Tabel 2.3
Processing Symbol…………………………………………………15
Tabel 2.4
Input/Output Symbol………………………………………………16
Tabel 2.5
Definisi Macro……………………………………………………..19
Tabel 2.6
Tipe Data…………………………………………………………..19
Tabel 2.7
Daftar Operasi Kondisi…………………………………………….22
Tabel 3.1
Daftar Komponen-Komponen Yang Digunakan…………………..32
Tabel 3.2
Daftar Alat Dan Bahan Yang Digunakan………………………….32
Tabel 3.3
Spesifikasi Mekanik Kotak Rautan Pensil………………………...33
Tabel 4.1
Data Pengukuran Rangkaian Power Supply IC Regulator 7805 Dalam Keadaan StandBy…………………………………………..38
Tabel 4.2
Data Pengukuran Rangkaian Power Supply IC Regulator 7805 Dalam Keadaan Aktif……………………………………………...39
Tabel 4.3
Data Pengukuran Rangkaian Power Supply IC Regulator 7812 Dalam Keadaan StandBy…………………………………………..40
Tabel 4.4
Data Pengukuran Rangkaian Power Supply IC Regulator 7812 Dalam Keadaan Aktif………………………………………………40
Tabel 4.5
Data Pengukuran Rangkaian Mikrokontroler Dalam Keadaan StandBy…………………………………………………………….42
Tabel 4.6
Data Pengukuran Rangkaian Mikrokontroler Dalam Keadaan Aktif………………………………………………………………..43
Tabel 4.7
Data Pengukuran Rangkaian Relay ke Rautan Pensil Dalam Keadaan StandBy…………………………………………………..45
Tabel 4.8
Data Pengukuran Rangkaian Relay ke Rautan Pensil Dalam Keadaan Aktif………………………………………………………47
Tabel 4.9
Data Pengukuran Rangkaian Sensor Dalam Keadaan StandBy……47
Tabel 4.10 Data Pengukuran Rangkaian Sensor Dalam Keadaan Aktif……….49 Tabel 4.11 Data Pengukuran Led Indikator Dalam Keadaan StandBy………...49 Tabel 4.12 Data Pengukuran Led Indikator Dalam Keadaan Aktif……………49 Tabel 4.13 Data Pengukuran Motor DC Dalam Keadaan StandBy……………51 Tabel 4.14 Data Pengukuran Motor DCDalam Keadaan Aktif………………..51 Tabel 4.15 Data Pengukuran Limit Switch Dalam Keadaan StandBy…………53 Tabel 4.16 Data Pengukuran Limit Switch Dalam Keadaan Aktif…………….54
CODING PROGRAM
/****************************************************** * This program was created by the CodeWizardAVR V2.60 Evaluation Automatic Program Generator © Copyright 1998-2012 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com
Project : Version : Date
: 25/06/2015
Author
:
Company : Comments:
Chip type
: ATmega8535
Program type
: Application
AVR Core Clock frequency: 8,000000 MHz Memory model
: Small
External RAM size
: 0
Data Stack size
: 128
******************************************************* /
#include <mega8535.h>
// Alphanumeric LCD functions #include
#include <delay.h>
#define motor PORTB.0 #define sen_pensil PINB.1 #define sen_stop PINB.2 #define led PORTB.3
// Declare your global variables here
void led_kedip(void) {
led=1; delay_ms(500); led=0; delay_ms(500);
led=1; delay_ms(500); led=0; delay_ms(500); led=1; delay_ms(500); led=0; delay_ms(500); led=1; delay_ms(500); led=0; delay_ms(500); led=1; delay_ms(500); led=0; delay_ms(500); led=1; delay_ms(500); led=0; delay_ms(500);
}
void main(void)
{ // Declare your local variables here
// Input/Output Ports initialization // Port A initialization // Function: Bit7=Out Bit6=Out Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=Out Bit0=Out DDRA=(1<
// Port B initialization // Function: Bit7=Out Bit6=Out Bit5=In Bit4=In Bit3=Out Bit2=In Bit1=In Bit0=Out DDRB=(1<
// Port C initialization // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
DDRC=(0<
// Port D initialization // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRD=(0<
// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=0xFF // OC0 output: Disconnected TCCR0=(0<<WGM00) | (0<
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Disconnected // OC1B output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=(0<
// Timer/Counter 2 initialization
// Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=0xFF // OC2 output: Disconnected ASSR=0<
// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=(0<
// External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=(0<
// Analog Comparator: Off ACSR=(1<
// ADC initialization // ADC disabled ADCSRA=(0<
// SPI initialization // SPI disabled SPCR=(0<<SPIE) | (0<<SPE) | (0<
// TWI initialization // TWI disabled TWCR=(0<
// D5 - PORTA Bit 4 // D6 - PORTA Bit 5 // D7 - PORTA Bit 6 // Characters/line: 16 lcd_init(16); delay_ms(5000); ("MASUKAN PENSIL"); delay_ms(5000); while (1) { awal: if(sen_pensil==1&& sen_stop==1) { ("MATI....."); motor=0; led=0; goto awal; } if(sen_pensil==1&& sen_stop==0) { led_kedip(); while(2) { ("HIDUP....."); motor=1;
led=1; if(sen_pensil==1&& sen_stop==1) { ("MATI....."); motor=0; led=0; goto awal; } } } if(sen_pensil==0&& sen_stop==1) { ("MATI....."); motor=0; led=0; } if(sen_pensil==0&& sen_stop==0) {
("MATI....."); motor=0; led=0; } }; }