• Tidak ada hasil yang ditemukan

BAB II Landasan Teori

2.1 Perangkat Keras

2.1.3 Komponen-Komponen Pendukung

2.1.3.7 Relay

hfe R . Vcc V = + ………(2.5)

Jika tegangan VB telah mencapai B BE

B V Rc . hfe R . Vcc

V = + , maka transistor akan saturasi, dengan Ic mencapai maksimum.

Pada daerah penyumbatan,nilai resistansi persambungan kolektor emiter secara ideal sama dengan tak terhitung atau terminal kolektor dan emiter terbuka (open).

2.1.3.7 Relay

Relay adalah sebuah saklar magnetic yang biasanya menggunakan medan magnet dan sebuah kumparan untuk membuka atau menutup satu atau beberapa kontak saklar pada saat relay dialiri arus listrik. Pada dasarnya relay terdiri dari sebuah lilitan kawat yang terlilit pada suatu inti besi dari besi lunak berubah menjadi magnet yang menarik atau menolak suatu pegas sehingga kontak pun menutup atau membuka. Relay mempunyai anak kontak yaitu NO (Normally open) dan NC (Normally Close). listrik hingga mencapai batas maksimalnya Relay merupakan rangkaian yang bersifat elektronis sederhana dan tersusun oleh ;

- Saklar

- medan elektromagnet (kawat koil) - poros besi

Cara kerja komponen ini dimulai pada saat mengalirnya arus listrik melalui koil,lalu membuat medan magnet sekitarnya merubah posisi saklar sehingga menghasilkan arus listrik yang lebih besar. Disinilah keutamaan komponen sederhana ini yaitu dengan bentuknya yang minimal bisa menghasilkan arus yang lebih besar. Komponen sederhana ini dalam perkembangannya digunakan (atau pernah digunakan) sebagai komponen dasar berbagai perangkat elektronika,lampu kendaraan bermotor,jaringan elektronik, televisi, radio, bahkan pada tahun 1930an pernah digunakan sebagai perangkat dasar komputer yang keberadaannya kini digantikan oleh mikroprosesor seperti IntelCorp.dan AMD. Semua itu karena pemakaian relay mempunyai Keuntungan yaitu ;

- Dapat mengontrol sendiri arus serta tegangan listrik yang diinginkan - Dapat memaksimalkan besarnya tegangan

- Dapat menggunakan baik saklar maupun koil lebih dari satu, disesuaikan dengan kebutuhan.

Prinsip Kerja Relay

Relay akan bekerja bila kontak-kontak yang terdapat pada relay tersebut bergerak membuka dan menutup. Relay pada keadaan normaly open kontak kontaknya yang mempunyai posisi tertutup pada saat relay tidak bekerja akan membuka setelah ada arus yang mengalir, sedangkan relay pada keadaan normaly close kontak-kontaknya yang mempunyai posisi terbuka pada relay tidak bekerja akan menutup setelah ada arus yang mengalir, banyaknya kontak-kontak dimana jangkar dapat melepas atau menyambung lebih dari satu kontak sekaligus, oleh karena itu relay yang dijual dipasaran ada yang membuka atau menutup lebih banyak kontak sekaligus.

Simbol relay yang ada jenis DPDT (Double pole Double Throw) dan SPDT (single pole double throw). Pole adalah kontak yang bergerak, sedangkan throw adalah kontak diam. NC (normally-closed) menunjukkan bahwa kontak tersebut pada keadaannya normal (relay- off) terhubung dengan pole. Sedangkan NO (normally-opened) pada keadaan normalnya tidak terhubung dengan pole.

Relay yang baik mempunyai resistansi isolasi yang tinggi, sehingga tegangan yang tinggi pada peralatan tidak menggangu kerja dari rangkaian pengendali. Ada dua jenis relay yang bisa didapat yaitu inputnya bekerja pada arus searah dan yang bekerja pada arus bolak-balik. Pada umumnya relay yang digunakan pada rangkaian / sistem elektronika adalah yang bekerja pada tegangan DC.

2.2 Perangkat Lunak

2.2.1 Program Code-Vision AVR

Untuk mengaktifkan micro sistem akuisisi data, penerima sinyal control dan sistem transmisi data maka terlebih dahulu mikrokontroller tersebut diberi program dengan cara mendownload program yang terlebih dahulu kita buat dengan bahasa C pada CodeVisionAVR.

Gambar 2.13 Form pembuatan program micro chip (CodeVisionAVR). Software CodeVision AVR merupakan C Compiler untuk mikrokontroler AVR. Pada CodeVision telah disediakan editor yang berfungsi untuk membuat program dalam bahasa C, setela melakukan proses kompilasi kita dapat mengisikan program yang telah dibuat ke dalam memory pada mikrokontroler menggunakan programmer yang telah disediakan oleh CodeVision AVR. Programmer yang didukung oleh CodeVision Programmer Cable dapat diintegrasik dengan CodeVision AVR, terlebih dahulu harus dilakukan konfigurasi sebagai berikut:

-Jalankan Software CodeVision AVR. -Pilih menu Setting . Programmer. -Pilih tipe programmer

Catatan: Proses ini hanya dapat dilakukan pada saat ada project yang telah dibuat atau dibuka. Tekan Shift+F9, download ke target board dengan cara klik pada tombol Program

BAB III

RANCANGAN SISTEM

3.1. Blok Diagram Sistem

Diagram blok merupakan gambaran dasar dari rangkaian sistem yang akan dirancanag. Setiap diagram blok mempunyai fungsi masing-masing. Adapun diagram blok dari sistem yang dirancang adalah seperti yang diperlihatkan pada gambar 3.1. berikut ini :

Gambar 3.1. Diagram Blok Rangkaian

A T M ega8535 Motor DC 1 Motor DC 2 LM35 Keypad

Power Supply (PSA) LCD

Relay

Relay Driver

Cara kerja blok diagram diatas adalah sebagai berikut:

Alat pengendali kecepatan motor DC yang dirancang mempunyai hubungan input-output ke CPU (ATMega8535) sebanyak 2 bagian, yaitu antara lain:

1. Input Setting

Pada bagian ini digunakan 4 buah tombol untuk melakukan penyettingan yang digunakan sebagai acuan awal kerja sistem, pensetingan dengan tombol tersebut dapat dilihat atau ditampilkan di modul penampil LCD.

2. Output

Pada bagian ini dibagi menjadi dua bagian yaitu:

Output motor 1 atau motor utama, yang fungsinya sebagai driver motor DC 1 atau motor utama ke rangkaian motor 2 atau motor DC cadangan.

Output LCD, yang fungsinya sebagai display atau modul penampil dalam sistem alat ini.

3.2Perancangan Power Supplay (PSA)

Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada. Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt, keluaran 5 volt digunakan untuk mensupplay tegangan ke seluruh rangkaian, sedangkan keluaran 12 volt digunakan untuk mensuplay tegangan ke motor stepper. Rangkaian power supplay ditunjukkan pada gambar 3.2 berikut ini :

Gambar 3.2 Rangkaian Power Supplay ( PSA )

Trafo CT merupakan trafo stepdown yang berfungsi untuk menurunkan tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan disearahkan dengan menggunakan dua buah dioda, selanjutnya 12 volt DC akan diratakan oleh kapasitor 2200 F. Regulator tegangan 5 volt (LM7805CT) digunakan agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila PSA dinyalakan. Transistor PNP TIP 32 disini berfungsi untuk mensupplay arus apabila terjadi kekurangan arus pada rangkaian, sehingga regulator tegangan (LM7805CT) tidak akan panas ketika rangkaian butuh arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari keluaran 2 buah dioda penyearah.

3.3 Perancangan Rangkaian Mikrokontroler ATMega8535

Rangkaian ini berfungsi sebagai pusat kendali dari seluruh sistem yang ada.Komponen utama dari rangkaian ini adalah Mikrokontroler ATMega8535. Pada ICinilah semua program diisikan, sehingga rangkaian dapat berjalan sesuai dengan yangdikehendaki. Mikrokontroler ini perupakan suatu keping IC dimana terdapatmikroprosesor dan memori program (ROM) serta memori

serbaguna (RAM), bahkanada beberapa jenis mikrokontroler yang memiliki fasilitas ADC, PLL, EEPROMdalam satu kemasan. Penggunaan mikrokontroler diantaranya Intel, Microchip,Winbond, Atmel, Philips, Xemics dan lain-lain. Dari beberapa vendor tersebut, yangpaling pepolar digunakan adalah mikrokontroler buatan ATMEL.ATMega 8535 adalah mikrokontroler CMOS 8-bit berbasis AVR dengankonsumsi daya renda yang dikembangkan dari arsitektur RISC. Dengan instruksiyang dapat dijalankan dalam satu siklus clock, ATMega 8535 mempunyaithroughputs 1 MIPS per MHz. ATMega 8535 mempunyai 32 register yang secaralangsung terhubung dengan Arithmatic Logic Unit (ALU). Mokrokontroler ATMega8535 juga dilengkapi dengan port serial, yang memungkinkan bagi kita ,emgirimkandata dalam format serial.

Mikrokontroler ATMega 8535 mempunyai 40 pin dengan catu daya tunggal 5volt. Ke-40 pin dalam keluarga mikrokontroler ATMega 8535 digambarkan seperti gambar dibawah ini.

Gambar 3.3 Rangkaian Mikrokontroller ATMega8535

M i k r o k o n t r o l e r A T M e g a 8 5 3 5 m e r u p a k a n m i k r o p r o s e s o r p l u s . Mikrokontroler adalah otakdari suatu sistem elektronika seperti halnya mikroprosesor sebagai otak komputer. Nilai plus bagi mikrokontroler ini adalah terdapatnya memori.

Rangkaian ini menggunakan ATMega8535 sebagai mikrokontrolernya. Adapun fungsi dari rangkaian ini adalah sebagai pusat kendali dari seluruh sistem yang ada dan sebagai basic temperature sensor LM 35 yang telah diubah menjadi data digital.

3.4 Perancangan Rangkaian Relay

Pada rangkaian ini digunakan relay yang berfungsi untuk memberikan catu pada motor secara reverse dan forward agar motor dapat berputar kekiri dan kekanan dan untuk mengisolasi sistem catu motor dengan catu rangkaian kendali (mikrokontroler).

. Pada rangkaian di bawah ini, untuk menghubungkan rangkaian dengan 220 V AC digunakan relay. Relay merupakan salah satu komponen elektronik yang terdiri dari lempengan logam sebagai saklar dan kumparan yang berfungsi untuk menghasilkan medan magnet. Pada rangkaian ini digunakan relay 12 volt, ini berarti jika positif relay (kaki 1) dihubungkan ke sumber tegangan 12 volt dan negatif relay (kaki 2) dihubungkan ke ground, maka kumparan akan menghasilkan medan magnet. Rangkaian relay pengendali tampak seperti gambar di bawah ini ,

3.5 Perancangan Rangkaian Motor DC

Motor DC dikendalikan dengan menentukan arah dan kecepatan putarnya. Arah putaran motor DC adalah searah dengan arah putaran jarum jam (Clock Wise/CW) atau berlawanan arah dengan arah putaran jarum jam (Counter Clock Wise/CCW), yang bergantung dari hubungan kutub yang diberikan pada motor DC. Kecepatan putar motor DC diatur dengan besarnya arus yang diberikan

Untuk mengendalikan perputaran motor DC dibutuhkan sebuah driver. Mikrokontroler tidak dapat langsung mengendalikan putaran dari Motor DC, karena itu dibutuhkan driver sebagai perantara antara mikrokontroler dan Motor DC, sehingga perputaran dari Motor DC dapat dikendalikan oleh mikrokontroler. Rangkaian driver Motor DC ditunjukkan pada gambar 3.6 berikut:

3.6 Perancangan Rangkaian Keypad

Rangkaian keypad yang digunakan adalah rangkaian keypad yang telah ada dipasaran. Keypad ini terdiri dari 5 tombol yang hubungan antara tombol – tombolnya seperti tampak pada gambar 3.7. Rangkaian ini di hubungkan ke port 2 mikrokontroler ATMega8535.

Kemudian data yang diketikkan pada keypad akan diterima oleh mikrokontroler ATMega8535 untuk kemudian diolah dan ditampilkan pada display LCD. Rangkaian keypad ditunjukkan pada gambar berikut ini

Gambar 3.6 Rangkaian Keypad

3.7 Perancangan Rangkaian LCD (Liquid Crystal Display)

Rangkaian skematik konektor yang dihubungkan dari LCD (liquid crystal display) ke mikrokontroler dapat dilihat pada gambar dibawah ini

Gambar 3.7 Rangkaian LCD

Pada gambar rangkaian konektor LCD seperti di atas konektor yang terdiri dari konektor Gnd (Ground), Vcc (5V), Contrast, Reset, R/W (Read/Write), Enable, DB4-DB7 dan dihubungkan langsung dengan konektor pada LCD yang kompatibel dengan driver HD 44780. Sedangkan pada konektor Pin 4 dan pin 6 yang terdiri dari konektor Reset, Enable, DB4-DB7 (Pin11-14) dihubungkan ke mikrokontroller

ATmega8535. Fungsi dari potensiometer (R1) pada Pin 3 adalah untuk mengatur gelap/terangnya karakter yang ditampilkan pada LCD. Konektor Pin 15 , pin 16 dan pin 2 dihubungkan ke ground dan pin 6 ke power supply 5 Volt DC.

Keterangan:

R1 adalah Resistor atau Hambatan 1 R2 adalah Resistor atau Hambatan 2 GND adalah Ground.

BAB IV

PENGUJIAN ALAT DAN PROGRAM

4.1 Pengujian Rangkaian Power Supplay (PSA)

Pengujian pada bagian rangkaian power supplay ini dapat dilakukan dengan mengukur tegangan keluaran dari rangkaian ini dengan menggunakan volt meter digital. Dari hasil pengujian diperoleh tegangan tanpa beban sebesar + 5,25 volt. Tegangan ini dipergunakan untuk mensupplay tegangan ke seluruh rangkaian. Mikrokontroler ATMega8535 dapat bekerja pada tegangan 4,0 sampai dengan 5,5 volt, sehingga tegangan 5,25 volt ini cukup untuk mensupplay tegangan ke mikrokontroler ATMega8535. Tegangan drop sebesar 0,15 volt. Tegangan ini digunakan untuk mensupplay tegangan ke motor DC.

4.2. Pengujian Rangkaian Mikrokontroller ATMega8535

Karena pemrograman robot menggunakan mode ISP (In System Programming) mikrokontroler harus dapat diprogram langsung pada papan rangkaian dan rangkaian mikrokontroler harus dapat dikenali oleh program downloader. Pada pengujian ini berhasil dilakukan dengan dikenalinya jenis mikrokontroler oleh program downloader yaitu ATMega8535.

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

4.3. Pengujian Rangkaian Driver Motor DC

Pengujian pada rangkaian driver motor dilakukan dengan menghubungkan input rangkaian driver motor ini dengan rangkaian mikrokontroler ATMega8535 dan menghubungkan output dari rangkaian driver motor ini dengan motor. Motor memiliki tegangan keluaran (tegangan ouput) sebesar 13,8 Volt, tegangan kondisi sebesar 11,5 Volt dan tegangan drop sebesar 2,3 Volt.

4.4. Pengujian LCD

Rangakaian LCD diuji dengan menampilakan karakter dengan perintah sebagai berikut :

Tg 26.0 Tm 33.0

P1 : 0 P2 : 0

Setelah kita mulai dengan menekan tombol 8, maka tampilan LCD akan tertulis: Running, begitu seterusnya. Jika kita menekan push bottonnya, maka pengaturan yang kita buat semuanya akan ditampilkan pada layar LCD, dimana LCD tersebutdilengkapi juga dengan Trimpot 10 k yang berfungsi untuk mengatur kontras pada layar LCD.

Fungsi tombol- tombol setting : Tombol 1 : untuk start

Tombol 2 : untuk Pengaturan awal

Tombol 3 : untuk pengaturan penampilan suhu pada LCD Tombol 4 : pengaturan setting kesemua tombol.

4.5 Pengujian Rangkaian Sensor Suhu LM35

Sensor suhu LM35 diuji dengan cara memberikan catu daya 5 V dan suhunya divariasikan, kemudian tegangan keluaran diamati dengan voltmeter. Dari pengujan didapatkan data sebagai berikut:

Tabel 4.1 Hasil Pengujian Sensor Suhu Lm35 No Suhu Ruangan Tegangan Output

LM35 (mV) Bilangan Biner Bilangan Desimal 1 27 270 00011011 27 2 28 280 00011100 28 3 29 290 00011101 29 4 30 300 00011110 30 5 31 310 00011111 31 6 32 320 00100000 32 7 33 330 00100001 33

Dari hasil pengujian diketahui tegangan keluaran sensor naik sebesar 10 mV untuk setiap kenaikan suhu 1 derajat Celsius, maka sensor telah bekerja dengan baik.

4.6 Pengujian Rangkaian Keseluruhan

Setelah melakukan pengujian secara keseluruhan pada alat pengendalian motor cadangan ini yang merupakan gabungan dari jenis rangkain, walaupun tiap rangkaian memiliki fungsi dan karakteristik yang berbeda-beda, tetapi dalam mekanisme kerja semua rangkaian dapat melakukan kerja yang terintegrasi. Sehingga hasil kerja sistem

ini sesuai dengan yang diharapkan. Tiap rangkaian dihubungkan sedemikian satu dengan yang lainnya untuk menghasilkan mekanisme kerja yang diharapkan. Adapun rangkaian yang diuji pada sistem alat ini adalah Power Supply, Motor, Relay, Mikrokontroler ATMega8535, Sensor Suhu LM35 dan Pengujian pada LCD. Seperti pada tabel dibawah ini:

Tabel 4.2 Pengujian Seluruh Rangkaian Power Supply

Kondisi Tegangan output

Tegangan tanpa beban 5,25 Tegangan kondisi 5,1

Tegangan drop 0,15

Motor

Kondisi Tegangan output

Tegangan tanpa beban 13,8 V Tegangan kondisi 11,5 V

Tegangan drop 2,3 V

Relay

Kondisi Tegangan output

Tegangan tanpa beban 14,2 V Tegangan kondisi 12,5 V

Mikrokontroler ATMega8535

Kondisi Tegangan output

Tegangan tanpa beban 5,1 V Tegangan kondisi 4,9 V

Tegangan drop 0,2 V

LCD

Kondisi Tegangan output

Tegangan tanpa beban 5,1 V Tegangan kondisi 4,9 V

Tegangan drop 0,3 V

Pengujian pada sensor suhu LM35 dimana sensor ini memiliki parameter bahwa setiap kenaikan 1 derajat Celcius tegangan keluarannya memiliki sebesar 10 mV.

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. Dari hasil simulasi sistem pengendalian motor cadangan otomatis ini digunakan Mikrokontroler ATMega8535 untuk otak dari seluruh rangkaian, dan ditampilkan pada LCD, tombol-tombol untuk pengaturan suhu dan LCD sebagai tampilan.

2. Mikrokontroller tidak dapat mengendalikan motor cadangan secara langsung, karena itu digunakan relay untuk mengendalikannya. Mikrokontroler digunakan untuk mengontrol sistem kerja dari rangkaian, juga digunakan untuk mengontrol ON/OFF pada rangkaian driver pemanas serta untuk menampilkan suhu pada LCD.

3. Perpaduan mikrokontroler ATMega8535 dengan sensor suhu LM35 membuat rangkaian lebih sederhana, karena ADC sudah terintegrasi langsung di dalam mikrokontroler ATMega 8535.

5.2 Saran

1. Diharapkan pembaca dapat memberi saran dan kritik terhadap penulis dalam perancangan alat ini, dan penulis berharap alat ini dapat dikembangkan baik aplikasi maupun rancangannya agar lebih baik lagi.

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

DAFTAR PUSTAKA

______. 2011. Datasheet Mikrokontroler AVR ATmega8535. http://www.atmel.com, diakses pada Maret 2011.

______. 2011. Datasheet LM35. http://www.sensirion.com, diakses pada Maret 2011.

Bejo, Agus. 2005. C & AVR Rahasia Kemudahan Bahasa C dalam Mikrokontroler ATMega8535. Edisi Pertama. Yogyakarta: Penerbit Gava Media.

. Lingga, W. 2006. Belajar sendiri Pemrograman AVR ATMega8535. Yogyakarta: Andi Offset

Wardhana, Lingga. 2006. Belajar Sendiri Mikrokontroler AVR Seri ATMega8535.Yogyakarta: C.V Andi Offset

Wasito S. 1986. Kumpulan Data Penting Komponen Elektronika. Jakarta: PT Multimedia.

PROGRAM SELURUH RANGKAIAN

This program was produced by the CodeWizardAVR V2.03.4 Standard Automatic Program Generator

© Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project : Version : Date : 4/1/2011 Author : Company : Comments:

Chip type : ATmega8535 Program type : Application Clock frequency : 7.372800 MHz Memory model : Small

External RAM size : 0 Data Stack size : 128

*****************************************************/ #include <mega8535.h>

#include <stdio.h>

#define led PORTD.7 #define buzzer PORTD.6

// Alphanumeric LCD Module functions #asm

.equ __lcd_port=0x18 ;PORTB #endasm

#include <lcd.h>

#include <delay.h>

#define sts_m1 PINC.0 #define sts_m2 PINC.1 #define relay_m1 PORTC.2 #define relay_m2 PORTC.3

#define tombol_1 PIND.0 #define tombol_2 PIND.1 #define tombol_3 PIND.4 #define tombol_4 PIND.5

unsigned int t_ary [4] = {0};

unsigned char idx;

eeprom unsigned int t_min, t_set;

#define ADC_VREF_TYPE 0x40

// Read the AD conversion result

unsigned int read_adc(unsigned char adc_input) {

ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);

// Delay needed for the stabilization of the ADC input voltage delay_us(10);

// Start the AD conversion ADCSRA|=0x40;

// Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0);

ADCSRA|=0x10; return ADCW; }

// External Interrupt 0 service routine

interrupt [EXT_INT0] void ext_int0_isr(void) {

// Place your code here relay_m1 = 0; relay_m2 = 0; delay_ms(250); lcd_gotoxy(0,0);

lcd_putsf ("Matikan power..."); lcd_gotoxy(0,1);

lcd_putsf ("dan hidupkan....");

while(1); }

// Timer 0 overflow interrupt service routine interrupt [TIM0_OVF] void timer0_ovf_isr(void) {

// Place your code here led = ! led;

}

// Timer 1 overflow interrupt service routine interrupt [TIM1_OVF] void timer1_ovf_isr(void) {

// Reinitialize Timer 1 value TCNT1H=0xf0;

TCNT1L=0x00; // Place your code here idx++;

if (idx == 2) t_ary[idx] = read_adc(idx); if (idx == 3) t_ary[idx] = read_adc(idx);

if (idx > 3) idx = 1; }

// Declare your global variables here

void main(void) {

// Declare your local variables here unsigned char buf[33];

unsigned int t_get; bit status_m1, status_m2;

// Input/Output Ports initialization // Port A initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00;

DDRA=0x00;

// Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00;

DDRB=0x00;

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;

DDRC=0x00;

// Port D initialization

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00;

DDRD=0xc0;

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 7.200 kHz // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x05;

TCNT0=0x00; OCR0=0x00;

// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 7.200 kHz // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off

// Input Capture on Falling Edge // Timer 1 Overflow Interrupt: On // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x05; TCNT1H=0xf0; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00;

OCR1BH=0x00; OCR1BL=0x00;

// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00;

TCCR2=0x00; TCNT2=0x00; OCR2=0x00;

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

// INT0 Mode: Falling Edge // INT1: Off // INT2: Off GICR|=0x40; MCUCR=0x02; MCUCSR=0x00; GIFR=0x40;

// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x05;

// Analog Comparator initialization // Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;

SFIOR=0x00;

// ADC Clock frequency: 57.600 kHz // ADC Voltage Reference: AVCC pin // ADC High Speed Mode: Off

// ADC Auto Trigger Source: None ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x87;

SFIOR&=0xEF;

// LCD module initialization lcd_init(16);

// Global enable interrupts #asm("sei") idx = 1; if (t_min == 0xffff) t_min = 400; if (t_set == 0xffff) t_set = 550; relay_m1 = 0; relay_m2 = 0; lcd_gotoxy(0,0);

lcd_putsf ("Tekan Tombol 1 "); lcd_gotoxy(0,1);

lcd_putsf ("Untuk Start...");

while(1) { if (tombol_1 == 0) break; } relay_m1 = 1;

relay_m2 = 1;

while (1) {

// Place your code here t_get = (t_ary[2]*8)/2; lcd_gotoxy(0,0); sprintf(buf,"Tg:%02u.%01u Tm:%02u.%01u",t_get/10,t_get%10, t_set/10,t_set%10); lcd_puts(buf); status_m1 = sts_m1; status_m2 = sts_m2; lcd_gotoxy(0,1);

sprintf(buf,"Mtr_P %01u Mtr_S %01u",~status_m1, ~status_m2); lcd_puts(buf); if ( t_get > t_set) { relay_m1 = 0; relay_m2 = 1; delay_ms(250); } if (t_get < t_min) { relay_m1 = 1; relay_m2 = 0; delay_ms(250); } if (tombol_2 == 0) { while(1 t_min = t_ary[3];

lcd_gotoxy(0,0);

sprintf(buf,"T_min :%02u.%01u ", t_min/10,t_min%10); lcd_puts(buf); if (tombol_4 == 0) { break; } if (tombol_3 == 0) { while(1) { t_set = t_ary[3]; lcd_gotoxy(0,0);

sprintf(buf,"T_max :%02u.%01u ", t_set/10,t_set%10); lcd_puts(buf); if (tombol_4 == 0) { break; } }; /* if ( t_get > t_set) { relay_m1 = 0; relay_m2 = 1; delay_ms(250); } if (t_get < t_min) { relay_m1 = 1; relay_m2 = 0; delay_ms(250)

Dokumen terkait