BAB 4
ANALISA RANGKAIAN
4.1. Diagram Blok dan Cara Kerja Rangkaian
POWER SUPLY
μC ATmega
8535
EXTERNAL POWER SUPLY
IC LM35
ISD 25560
SPEAKER
LCD
Gambar 4.1. Diagram blok rangkaian Thermometer Digital Berbasis Mikrokontroller AVR ATmega8535 dengan Output Suara dan Display Digital
Universitas Sumatera Utara
a. Power supply berfungsi sebagai sumber tegangan dari seluruh sistem agar
sistem dapat bekerja. b.
AVR ATmega8535 merupakan pusat kendali dari seluruh rangkaian. Dimana mikrokontroller akan mengecek sinyal yang dikirimkan oleh sensor, kemudian
memprosesnya dan mengirimkan perintah ke ISD2560 dan LCD. c.
Sensor berfungsi untuk mendeteksi suhu yang ada. d.
ISD2560 berfungsi untuk memproses data yang dikirim oleh mikrokontroller dan menyesuaikannya dengan suara yang telah direkam lalu mengirim kembali
data tersebut ke speaker. e.
LCD berfungsi sebagai indikator keluaran yang menampilkannya dalam bentuk tulisan.
f. Speaker berfungsi sebagai indikator keluaran dalam bentuk suara dimana hasil
keluarannya sama dengan hasil yang ditampilkan LCD.
4.2. Diagram Alir flowchart
Adapun diagram alir flowchart dari sistem thermometer digital output suara dan tapilan display digital adalah sebagai berikut :
Universitas Sumatera Utara
START
Tekan Tombol Start
Prosesing Menunggu 60 menit
Baca Data Masuk
35 ≤ data ≤ 41
Output suara suhu anda
sesuai data yang dibaca
°C
Tampilkan LCD
END Tampil LCD
Suhu tidak Terbaca data 35 atau
data 41 Tidak
Ya
Gambar 4.2. Diagram alir flowchart dari sistem Thermometer Digital Berbasis Mikrokontroller AVR ATmega8535 dengan Output Suara dan Display digital
Universitas Sumatera Utara
Program diawali start yang berarti rangkaian dihidupkan dengan menekan tombol start pada rangkaian. Kemudian rangkaian akan melakukan prosesing selama
60 detik untuk mendeteksi suhu yang ada dan suhu data yang dibaca adalah suhu yang terdeteksi pada detik ke-60 dari prosesing pada rangkaian. Kemudian, jika suhu
yang terdeteksi berada diantara 35 – 41 °C maka mikrokontroller akan mengirim perintah ke ISD2560 yang kemudian akan diproses yang nantinya output akan
dikeluarkan melalui speaker sebagai indikator suara, dan mikrokontroller juga mengirim data ke LCD yang outputnya dikeluarkan dalam bentuk tampilan tulisan.
Namun, jika suhu yang terdeteksi lebih kecil dari 35°C dan lebih besar dari 41°C, maka mikrokontroller akan mengirim perintah yang tidak terbaca ke ISD2560
sehingga speaker tidak menghasilkan suara diam dan mikrokontroller juga mengirim data ke LCD yang menampilkan “suhu tidak terbaca” .
4.3. Program
Adapun program yang digunakan pada thermometer digital dengan output suara dan display digital adalah sebagai berikut :
include mega8535.h include delay.h
include stdio.h define alamat PORTD
Universitas Sumatera Utara
define pr PORTB.0 define ce PORTB.1
define key PINB.6
Alphanumeric LCD Module functions asm
.equ __lcd_port=0x15 ;PORTC endasm
include lcd.h
define ADC_VREF_TYPE 0x00
Read the AD conversion result unsigned int read_adcunsigned char adc_input
{ ADMUX=adc_input | ADC_VREF_TYPE 0xff;
Delay needed for the stabilization of the ADC input voltage delay_us10;
Start the AD conversion ADCSRA|=0x40;
Wait for the AD conversion to complete while ADCSRA 0x10==0;
Universitas Sumatera Utara
ADCSRA|=0x10; return ADCW;
}
Declare your global variables here void ic_aktifvoid
{ ce = 0; ic aktif
delay_ms250; ce = 1; ic tidak aktif
delay_ms2000; }
void mainvoid {
long int adc0,suhu; int i,j;
unsigned char save[16];
ce = 1; pr = 1;
PORTD = 0XFF; DDRD = 0XFF;
Universitas Sumatera Utara
DDRB.0 = 1; DDRB.1 = 1;
PORTB.6 = 1; DDRB.6 = 0;
ADC initialization ADC Clock frequency: 1000.000 kHz
ADC Voltage Reference: AREF pin ADC High Speed Mode: Off
ADC Auto Trigger Source: None ADMUX=ADC_VREF_TYPE 0xff;
ADCSRA=0x82; SFIOR=0xEF;
LCD module initialization lcd_init16;
lcd_gotoxy0,0; lcd_putsftekan mulai;
while 1 {
Place your code here ce = 1; ISD2560 DI NON AKTIFKAN
pr = 1; ISD2560 BERMODE PLAY
Universitas Sumatera Utara
j = 0; alamat=0;
while key == 0 {
alamat = 0; lcd_clear;
for i = 0; i = 60; i++ {
j ++; sprintfsave, proses..: -i, i;
lcd_gotoxy0,0; lcd_putssave;
lcd_gotoxyj,1; lcd_putsf..;
delay_ms1000; if j == 15j=0;
lcd_clear; }
adc0 = read_adc0; MENGKONVERSI ANALOG DI PINA.0 suhu = adc0 50001023;
lcd_gotoxy0,0; lcd_putsfthermo.. suara;
Universitas Sumatera Utara
if suhu 350 {
lcd_gotoxy0,1; lcd_putsftak terbaca;
} if suhu = 410
{ lcd_gotoxy0,1;
lcd_putsftak terbaca; }
============================================= if suhu 355 suhu =350
{ lcd_gotoxy0,1;
lcd_putsfsuhu: 35 C; alamat = 0x12;
ic_aktif; alamat = 0x01;
ic_aktif; alamat = 0x16;
ic_aktif; }
=============================================
Universitas Sumatera Utara
if suhu 360 suhu = 355 {
lcd_gotoxy0,1; lcd_putsfsuhu: 35.5 C;
alamat = 0x12; ic_aktif;
alamat = 0x02; ic_aktif;
alamat = 0x16; ic_aktif;
} ============================================
if suhu 365 suhu = 360 {
lcd_gotoxy0,1; lcd_putsfsuhu: 36 C;
alamat = 0x12; ic_aktif;
alamat = 0x18; ic_aktif;
alamat = 0x16; ic_aktif;
} =============================================
if suhu 370 suhu = 365
Universitas Sumatera Utara
{ lcd_gotoxy0,1;
lcd_putsfsuhu: 36.5 C; alamat = 0x12;
ic_aktif; alamat = 0x04;
ic_aktif; alamat = 0x16;
ic_aktif; }
========================================== if suhu 375 suhu = 370
{ lcd_gotoxy0,1;
lcd_putsfsuhu: 37 C; alamat = 0x12;
ic_aktif; alamat = 0x06;
ic_aktif; alamat = 0x16;
ic_aktif; }
============================================= if suhu 380 suhu = 375
{
Universitas Sumatera Utara
lcd_gotoxy0,1; lcd_putsfsuhu: 37.5 C;
alamat = 0x12; ic_aktif;
alamat = 0x07; ic_aktif;
alamat = 0x16; ic_aktif;
} =============================================
if suhu 385 suhu = 380 {
lcd_gotoxy0,1; lcd_putsfsuhu: 38 C;
alamat = 0x12; ic_aktif;
alamat = 0x08; ic_aktif;
alamat = 0x16; ic_aktif;
} =============================================
if suhu 390 suhu = 385 {
lcd_gotoxy0,1;
Universitas Sumatera Utara
lcd_putsfsuhu: 38.5 C; alamat = 0x12;
ic_aktif; alamat = 0x09;
ic_aktif; alamat = 0x16;
ic_aktif; }
============================================= if suhu 395 suhu = 390
{ lcd_gotoxy0,1;
lcd_putsfsuhu: 39 C; alamat = 0x12;
ic_aktif; alamat = 0x0a;
ic_aktif; alamat = 0x16;
ic_aktif; }
============================================= if suhu 400 suhu = 395
{ lcd_gotoxy0,1;
lcd_putsfsuhu: 39.5 C;
Universitas Sumatera Utara
alamat = 0x12; ic_aktif;
alamat = 0x0c; ic_aktif;
alamat = 0x16; ic_aktif;
} =============================================
if suhu 405 suhu = 400 {
lcd_gotoxy0,1; lcd_putsfsuhu: 40 C;
alamat = 0x12; ic_aktif;
alamat = 0x0e; ic_aktif;
alamat = 0x16; ic_aktif;
} =============================================
if suhu 410 suhu = 405 {
lcd_gotoxy0,1;
Universitas Sumatera Utara
lcd_putsfsuhu: 40.5 C; alamat = 0x12;
ic_aktif; alamat = 0x10;
ic_aktif; alamat = 0x16;
ic_aktif; }
============================================= if suhu 415 suhu = 410
{ lcd_gotoxy0,1;
lcd_putsfsuhu: 41 C; alamat = 0x12;
ic_aktif; alamat = 0x11;
ic_aktif; alamat = 0x16;
ic_aktif; }
=============================================
} };
}
Universitas Sumatera Utara
BAB 5
KESIMPULAN DAN SARAN
5.1. Kesimpulan