Hubungan LCD ke Mikrokontroler Flowchart Program

baterai. Hubungan tombol ke mikrokontroler dapat dilihat seperti pada Gambar 3.13. Gambar 3.13 Hubungan Tombol ke Mikrokontroler Pada Gambar 3.13 Tombol 1 dan tombol 4 dihubungkan ke PB 6 dan PB2 pada kaki mikrokontroler yang berfungsi untuk mengatur besar kecil nilai tegangan minimum, Tombol 2 dan 5 dihubungkan ke PB 5 dan PB 3 yang berfungsi untuk mengatur besar kecil nilai tegangan maksimum. Dan Tombol 3 dihubungkan ke PB 4 yang berfungsi untuk memulai proses pengisian.

3.9 Hubungan LCD ke Mikrokontroler

LCD digunakan untuk menampilkan nilai tegangan dan suhu pada saat pengisian baterai, sehingga dapat diketahui kondisi tegangan baterai. LCD yang digunakan adalah LCD 2x16, lebar display 2 baris 16 kolom. Hubungan antara mikrokontroler dan LCD diperlihatkan pada Gambar 3.14. Universitas Sumatera Utara Gambar 3.14 Hubungan LCD ke Mikrokontroler Pada Gambar 3.14 pin 1 dihubungkan ke Vcc 5V, pin 2 dan 16 dihubungkan ke Ground GND, pin 3 merupakan pengaturan tegangan contrast dari LCD, pin 4 merupakan register RS, pin 5 merupakan RW readwrite, pin 6 merupakan Enable, pin 11-14 merupakan data. Reset Enable RW dan data dihubungkan ke mikrokontroler ATMega 8535. Fungsi dari potensiometer adalah untuk mengatur gelapterangnya karakter yang ditampilkan pada LCD. Universitas Sumatera Utara Start Inisialisasi Vmax,Vmin Apakah Nilai ADC=0? Cek tegangan baterai Tampilkan tegangan baterai , Vmax,Vmin V=Vmin ? Aktifkan relayON Proses charging V=Vmax ? Non aktifkan relayOFF Tampilkan Pesan error Tidak Ya Ya Tidak Ya Tidak Tekan Tombol? Masukan nilai Vmax, Vmin baru Ya Tidak

3.10 Flowchart Program

Diagram alir yang menggambarkan aliran atau proses kerja program diperlihatkan pada Gambar 3.15. Gambar 3.15 Diagram alir sistem secara keseluruhan Universitas Sumatera Utara Program dimulai dengan menampilkan tegangan maksimum dan minimum yang kemudian dilanjutkan dengan pembacaan tegangan baterai melalui ADC. Apabila tegangan minimum, maka charger akan aktif dan ketika tegangan baterai mencapai maksimum maka charger akan putus. Selanjutnya pada saat pengisian sudah berhenti maka tampilan akan kembali seperti semula. Prinsip Kerja dan fungsi perintah-perintah pada program awal. define charger PORTB.7 define indikator PORTB.6 define setting PINB.3 define max_naik PINB.5 define max_turun PINB.1 define min_naik PINB.4 define min_turun PINB.2 Perintah program diatas merupakan perintah untuk penamaan port yaitu memberikan nama ataupun inisialisasi pada port-port yang digunakan. Tujuan penamaan adalah untuk mempermudah pemograman. Alphanumeric LCD Module functions asm .equ __lcd_port=0x15 ;PORTC endasm include lcd.h Perintah diatas untuk mensetting LCD di port C LCD module initialization lcd_init16; lcd_gotoxy4,0; lcd_putsfMy Projek; lcd_gotoxy5,1; lcd_putsfBukry; delay_ms2000; lcd_clear; V_max=13.8; V_min=12.1; settingan=1; baca_ADC=0; charger=0; Universitas Sumatera Utara indikator=0; status=0; simpan_sensor=0; simpan_nilai_V=0; while 1 Perintah diatas merupakan inisialisasi dan tampilan pada LCD ADC initialization ADC Clock frequency: 750,000 kHz ADC Voltage Reference: AVCC pin ADC High Speed Mode: Off ADC Auto Trigger Source: Free Running ADMUX=ADC_VREF_TYPE 0xff; ADCSRA=0xA4; SFIOR=0x0F; Perintah diatas merupakan inisialisasi ADC. { nilai_V=read_adc1; lcd_gotoxy0,0; lcd_putsfBaca Nilai ADC; sprintfdatalcd,nilai ADC=d,nilai_V; lcd_gotoxy0,1; lcd_putsdatalcd; delay_ms1000; lcd_clear; ifmax_turun==0{baca_ADC=0; delay_ms1000;} } delay_ms500; }; Perintah diatas untuk membaca nilai tegangan dengan menggunakan ADC. InputOutput 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; Universitas Sumatera Utara Port B initialization Func7=Out Func6=Out Func5=In Func4=In Func3=In Func2=In Func1=In Func0=Out State7=0 State6=0 State5=P State4=P State3=P State2=P State1=P State0=0 PORTB=0x3E; DDRB=0xC1; 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 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 PORTD=0x00; DDRD=0x00; Printah diatas merupakan inisialisasi setiap port yang dipakai. ifnilai_V1=V_max{charger=0; indikator=0; status=0;} ifnilai_V1=V_min{charger=1; indikator=1; status=1;} Perintah diatas untuk mengaktifkan dan memutuskan charger setelah tegangan baterai yang dibaca ADC sesuai dengan nilai Vmax dan Vmin. Universitas Sumatera Utara 46

BAB IV PENGUJIAN SISTEM