3. Modul relay
4. LCD
5. Minimum sistem ATmega 8535
6. Modul USB to TTL
Minimum sistem akan digunakan sebagai pengambil keputusan untuk mengaktifkan relay tertentu agar motor pompa dapat aktif sesuai dengan data yang
diterima melalui modul USB to TTL.
4.2.2 Program Mesin Pembuat Minuman
Mesin pembuat minuman akan bekerja sesuai dengan perintah dari mikrokontroler berdasarkan data yang diterima. Untuk menentukan pekerjaan yang dilakukan
mikrokontroler, maka ditanamkan sebuah program yang mengendalikan keputusan- keputusan yang akan dieksekusi. Pembuatan program berdasarkan diagram alur yang telah
dirancang dan mengacu pada gambar 3.26. Berdasarkan diagram alur, maka diperlukan pengaturan port yang akan digunakan
dalam program dan percobaan untuk menentukan lama waktu motor pompa aktif untuk mengeluarkan air sebanyak 150 ml yang dapat dilihat pada lampiran L8. Pengaturan port
serta lama waktu aktif motor dapat dilihat pada tabel 4.1. Tabel 4.1. Tabel Pengaturan Port Mikrokontroler
Terdapat 2 bagian utama dalam program mesin pembuat minuman yaitu pengendalian komunikasi USART dan pengendalian motor pompa. Pengendalian
komunikasi USART dilakukan agar komputer yang digunakan untuk mengenali ucapan dapat mengirimkan data hasil pengenalan yang telah direpresentasikan dalam karakter
tertentu kepada mikrokontroler untuk diolah menjadi perintah yang dapat menggerakan motor pompa.
4.2.2.1 Program Motor Pompa dan Komunikasi USART
Komunikasi dilakukan antara komputer dan mikrokontroler ATmega 8535. Komputer mengirimkan karakter sesuai yang telah ditentukan seperti pada perancangan,
dan mikrokontroler akan mengeksekusi perintah sesuai dengan karakter yang diterima.
Port Mikrokontroler Kegunaan
Waktu Aktif ms
PORTB.0 Mengaktifkan motor 1 membuat kopi
6000 PORTB.1
Mengaktifkan motor 2 membuat susu 6250
PORTB.2 Mengaktifkan motor 3 membuat kopi susu
6000 PORTB.3
Mengaktifkan motor 4 membuat cokelat 5750
PORTC Mengaktifkan LCD 16x2
-
Program komunikasi USART ditulis sebagai berikut:
int b; void komserial
{ b=getchar;
}
Pada tahap komunikasi serial, baudrate yang digunakan bernilai 9600bps. Fungsi “getchar” adalah perintah untuk mikrokontroler agar dapat menerima karakter yang
dikirimkan oleh komputer melalui port penerima komunikasi mikrokontroler PORTD.0. Setelah data diterima mikrokontroler, maka akan dilakukan eksekusi perintah selanjutnya,
yang dituliskan sebagai berikut:
while 1 {
lcd_gotoxy0,0;lcd_putsfBEVERAGE MACHINE; lcd_gotoxy0,1;lcd_putsfSIAGA;
komserial; ifb==1
{ lcd_clear;
lcd_gotoxy0,1;lcd_putsfMembuat Kopi;delay_ms2500; PORTB.0=1;delay_ms6000;
PORTB.0=0; lcd_clear;
lcd_gotoxy0,0;lcd_putsfSelesai..Selamat; lcd_gotoxy7,1;lcd_putsfMenikmati;delay_ms2000;
lcd_clear; }
else if b==2 {
lcd_clear; lcd_gotoxy0,1;lcd_putsfMembuat Susu;delay_ms2500;
PORTB.1=1;delay_ms6250; PORTB.1=0;
lcd_clear; lcd_gotoxy0,0;lcd_putsfSelesai..Selamat;
lcd_gotoxy7,1;lcd_putsfMenikmati;delay_ms2000; lcd_clear;
} else if b==3
{ lcd_clear;
lcd_gotoxy0,1;lcd_putsfMembuat KopiSusu; delay_ms2500; PORTB.2=1;delay_ms6000;
PORTB.2=0; lcd_clear;
lcd_gotoxy0,0;lcd_putsfSelesai..Selamat; lcd_gotoxy7,1;lcd_putsfMenikmati;delay_ms2000;
lcd_clear; }
else if b==4
{ lcd_clear;
lcd_gotoxy0,1;lcd_putsfMembuat Coklat;delay_ms2500; PORTB.3=1;delay_ms5750;
PORTB.3=0; lcd_clear;
lcd_gotoxy0,0;lcd_putsfSelesai..Selamat; lcd_gotoxy7,1;lcd_putsfMenikmati;delay_ms2000;
lcd_clear; }
else if b==5 {
lcd_clear; lcd_gotoxy0,0;lcd_putsfERROR...;
lcd_gotoxy0,1;lcd_putsfCoba Lagi;delay_ms3000; lcd_clear;
} };
}
Program di atas adalah program pengendalian waktu aktif untuk masing-masing motor pompa berdasarkan masukan yang diterima komunikasi USART. Pada saat kondisi
siaga, mikrokontroler memerintahkan LCD untuk menampilkan indikasi siaga. Logika if- else digunakan untuk memindai data yang diterima, lalu masing-masing data akan
direpresentasikan sebagai perintah sesuai perancangan pada tabel 3.1. Saat data komunikasi diterima, motor pompa akan aktif sesuai waktu aktif yang telah ditentukan
mengggunakan delay untuk menunda eksekusi perintah selanjutnya. Apabila pada saat dilakukan pemindaian tidak ditemukan adanya komunikasi, maka mikrokontroler akan
terus menampilkan indikasi siaga.
4.3 Pengujian Tingkat Pengenalan Ucapan