JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG 2015
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
Palembang, Juni 2015 Menyetujui,
Pembimbing I Pembimbing II Slamet Widodo,S.Kom.,M.Kom Meiyi Darlies,M.Kom.
NIP 197305162002121001 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 PINTAR BERBASIS
MIKROKONTROLER ATMEGA 8535 (2015: + 58 Halaman + Daftar Pustaka + Gambar + Tabel + Lampiran) RAHMATIKA INAYAH 061230700566 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYALaporan 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 SHARPENER BASED ON
MICROCONTROLLER ATMEGA 8535 (2015: + 58 Pages + Daftar Pustaka + Gambar + Tabel + Lampiran) RAHMATIKA INAYAH 061230700566 COMPUTER ENGINEERING POLITEKNIK NEGERI SRIWIJAYASmart 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 …………………………………………………ii2.1 Pensil ……………………………………………………………….3
2.5 Sensor Inframerah …………………………………………………9
2.4.2 Konfigurasi Pin Mikrokontroler ATMega8535 ……………..8
2.4.1 Arsitektur Mikrokontroler ATMega8535 …………………...8
2.4 Mikrokontroler ATMega8535 ……………………………………..7
2.3 Mikrokontroler ……………………………………………………..5
2.2 Rautan Pensil ……………………………………………………….5
BAB II TINJAUAN PUSTAKA……………………………………………..3
HALAMAN UJI……………………………………………………………….iii
MOTTO………………………………………………………………………...iv
ABSTRAK……………………………………………………………………...v ABSTRAC……………………………………………………………………..vi KATA PENGANTAR………………………………………………………..viiDAFTAR ISI…………………………………………………………………....x
DAFTAR GAMBAR…………………………………………………………xii DAFTAR TABEL……………………………………………………………….1.5 Manfaat ……………………………………………………………..2
1.4 Tujuan ………………………………………………………………2
1.3 Batasan Masalah ……………………………………………………2
1.2 Perumusan Masalah ………………………………………………...1
1.1 Latar Belakang ……………………………………………………..1
BAB I PENDAHULUAN………………………………………………………………1
2.6 Sensor Photodioda ………………………………………………...11
2.7 Limit Switch ………………………………………………………12
Mikrokontroler……………………………………………..26
3.6 Tahap Perancangan Mekanik ………………………………….....32
3.5.9 Alat dan Bahan yang Digunakan …………………………...32
3.5.8 Pengujian Rangkaian ……………………………………….31
3.5.7 Pengecekan Rangkaian ……………………………………..31
3.5.5 Pengeboran …………………………………………………31
3.5.4 Pelarutan PCB ……………………………………………...30
3.5.3 Pembuatan Layout PCB ……………………………………29
3.5.2 Tata Letak Komponen ……………………………………...28
………………………………………………….27
3.5.1 Langkah Pembuatan dan Pencetakan Rangkaian Jalur ………. Komponen
3.5 Tahap Perancangan Hardware ……………………………………27
3.4.3 Rangkaian Limit Switch ke Mikrokontroler ……………….26
3.4.2 Rangkaian Motor DC dan Driver Relay ke ………………….
2.8 Motor DC …………………………………………………………12
3.4.1 Rangkaian Sensor Ke Mikrokontroler ……………………..25
3.4 Gambar Rangkaian ……………………………………………….25
3.3 Prinsip Kerja Alat ………………………………………………...24
3.2.1 Diagram Blok ………………………………………………23
3.2 Perancangan Hardware …………………………………………...23
3.1 Tujuan Perancangan ……………………………………………...23
BAB III RANCANG BANGUN…………………………………………….23
2.13 Bahasa Pemrograman C …………………………………………18
2.12 Code Vision AVR ……………………………………………….16
2.11 Flowchart ………………………………………………………...14
2.10 Power Supply ……………………………………………………13
2.9 Relay ……………………………………………………………...13
2.8.1 Prinsip Kerja Motor DC ……………………………………13
3.7 Tahap Perancangan Software
3.7.1 Pembuatan Flowchart ………………………………………34
BAB IV PEMBAHASAN…………………………………………………….36
4.1 Pengukuran dan Pengujian
4.5.5 Led Merah Pada Indikator Standby
5.2 Saran ……………………………………………………………..58
5.1 Kesimpulan ………………………………………………………58
4.7 Analisa Pengujian ………………………………………………..56
4.6 Pengujian dan Analisa Program ………………………………….54
……………………………49
4.5.4 Titik Pengukuran Sensor …………………………………...47
3.7.2 Pemrograman Menggunakan Software Code Vision AVR..34
4.5.3 Titik Pengukuran Rangkaian Relay ke Rautan Pensil ……..44
4.5.2 Titik Pengukuran Rangkaian Mikrokontroler ……………...42
4.5.1 Titik Pengukuran Rangkaian Power Supply ……………….38
4.5 Hasil Pengukuran ………………………………………………...38
4.4 Titik Uji Pengukuran ……………………………………………..38
4.3 Tujuan Pengukuran Alat …………………………………………37
4.2 Langkah-Langkah Pengujian …………………………………….37
……………………………………….36
BAB V KESIMPULAN DAN SARAN……………………………………..58
DAFTAR GAMBAR
Gambar 2.1 KodePensil……………………………………………………..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
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……… Sta ndBy 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 7805Dalam Keadaan StandBy …………………………………………..38
Tabel 4.2 Data Pengukuran Rangkaian Power Supply IC Regulator 7805Dalam Keadaan Aktif ……………………………………………...39
Tabel 4.3 Data Pengukuran Rangkaian Power Supply IC Regulator 7812Dalam Keadaan StandBy …………………………………………..40
Tabel 4.4 Data Pengukuran Rangkaian Power Supply IC Regulator 7812Dalam Keadaan Aktif ………………………………………………40
Tabel 4.5 Data Pengukuran Rangkaian Mikrokontroler Dalam KeadaanStandBy …………………………………………………………….42
Tabel 4.6 Data Pengukuran Rangkaian Mikrokontroler Dalam KeadaanAktif ………………………………………………………………..43
Tabel 4.7 Data Pengukuran Rangkaian Relay ke Rautan Pensil DalamKeadaan StandBy …………………………………………………..45
Tabel 4.8 Data Pengukuran Rangkaian Relay ke Rautan Pensil DalamKeadaan 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 <alcd.h> #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<<DDA7) | (1<<DDA6) | (1<<DDA5) | (1<<DDA4) | (1<<DDA3) | (1<<DDA2) | (1<<DDA1) | (1<<DDA0); // State: Bit7=0 Bit6=0 Bit5=0 Bit4=0 Bit3=0 Bit2=0 Bit1=0 Bit0=0 PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0); // Port B initialization // Function: Bit7=Out Bit6=Out Bit5=In Bit4=In Bit3=Out Bit2=In Bit1=In Bit0=Out DDRB=(1<<DDB7) | (1<<DDB6) | (0<<DDB5) | (0<<DDB4) | (1<<DDB3) | (0<<DDB2) | (0<<DDB1) | (1<<DDB0); // State: Bit7=0 Bit6=0 Bit5=T Bit4=T Bit3=0 Bit2=T Bit1=T Bit0=0 PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0); // Port C initialization // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0); // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0); // Port D initialization // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0); // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0); // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=0xFF // OC0 output: Disconnected TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00) | (0<<WGM01) | (0<<CS02) | (0<<CS01) | (0<<CS00); TCNT0=0x00; OCR0=0x00;
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Disconnected // OC1B output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10); TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10); TCNT1H=0x00; TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization
// Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=0xFF // OC2 output: Disconnected ASSR=0<<AS2; TCCR2=(0<<WGM20) | (0<<COM21) | (0<<COM20) | (0<<WGM21) | (0<<CS22) | (0<<CS21) | (0<<CS20); TCNT2=0x00; OCR2=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (0<<OCIE0) | (0<<TOIE0); // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00); MCUCSR=(0<<ISC2); // USART initialization // USART disabled UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (0<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8); // Analog Comparator initialization
// Analog Comparator: Off ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0); SFIOR=(0<<ACME); // ADC initialization // ADC disabled ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0); // SPI initialization // SPI disabled SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0); // TWI initialization // TWI disabled TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE); // Alphanumeric LCD initialization // Connections are specified in the // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu: // RS - PORTA Bit 0 // RD - PORTA Bit 1 // EN - PORTA Bit 2 // D4 - PORTA Bit 3
// 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; } }; }