Anda di halaman 1dari 5

Nama: Shera Alice Ayutri

Jurnal Praktikum 12
NIM : 21.11.4085
ADC
Kelas : 21-IF-04

Tujuan praktikum :
• Mahasiswa dapat mempelajari dan Memahami Rangkain Suhu dengan ADC

• Mahasiswa dapat membuat rangkaian sensor suhu dengan ADC

Peralatan :
• Laptop/PC

• CV-AVR

• Proteus (ATmega32, LM041L, LM35, Power, Ground)

Praktikum
1. Jelaskan nama dan fungsi semua device pada rangkaian Proteus di bawah ini ! Serta
jelaskan cara setting generate code program pada CVAVR untuk device di bawah ini !

1. Mikrokontroller ATMEGA32 adalah mikrokontroler yang diproduksi oleh Atmel.


mikrokontroler ini memiliki clock dan kerjanya tinggi sampai 16 MHz, ukuran flash memorinya
cukup besar, kapasistas SRAM sebesar 2 KiloByte, 32 buah port I/O yang sangat memadai untuk
berinteraksi dengan LCD dan keypad. Fungsinya: Memastikan pengeksekusian instruksi
dilakukan dengan benar.

2. LM041L
LCD 16x4 merupakan реrаngkаt dіѕрlау yang sering dіgunаkаn pada mikrokontroler. Fungsinya:
mutlak diperlukan sebagai sumber pemberi informasi utama.

3. LM35
Sensor LM35 merupakan jenis sensor yang berfungsi sebagai pengubah besaran suhu menjadi
besaran tegangan, dapat diartikan bahwa jika terjadi perubahan suhu yang dideteksi oleh sensor
LM35 maka meningkatnya juga arus listrik pada pin out dari sensor. LM35 memiliki tingkat
keakuratan yang baik dalam mendeteksi suhu.

4. Power
Power Supply berarti Sumber Daya.
Fungsinya: memberikan daya arus listrik ke berbagai komponen atau hardware

5. Ground
Ground atau pertanahan adalah sistem pengamanan pada instalasi listrik dimana jika terjadi
kebocoran listrik maka listrik akan langsung mengalir ke tanah sehingga tidak melukai pengguna.
Fungsinya: Fungsi Ground adalah untuk membuang aliran listrik menuju bumi jika terjadi
kebocoran listrik sehingga aman dari sengatan.

6. Analog to Digital Converter (ADC)


Yaitu salah satu komponen yang bertugas mengubah sinyal analog menjadi sinyal digital. Sinyal
analog yang masuk merupakan sinyal keluaran (output) dari perangkat lain (misal, sensor) yang
kemudian ditampilkan pada layar digital.
fungsinya: untuk menjembatani pemrosesan sinyal analog oleh sistem digital.

Setting generate code program pada CVAVR

• Setelah semua perangkat sudah di terpasang menjadi rangakaian pada proteus maka, kita buka
software CV-AVR
• Klik file pada pojok kanan atas  klik New  +Project  klik yes
 lok pada (AT90,ATiny,ATmega)
k

• Tampilan akan seperti dibawah ini lalu ubah chip menjadi ATmega32, clock = 8.000000 (yang
akan disesuikan di proteus )
• Selanjutnya cari Alphanumeric LCD settings lalu kita ceklis/centang enable Alphanumeric LCD
support  ubah character/Line =16 ubah Port LCD menjadi C sesuai dengan rangkaianyang
ada di Proteus.

• Setalah itu cari dan klik Analog to Digital Converter  dalam ADC Setting kita ceklis/centang
ADC Enabled dan disini tidak ada yang dirubah.

• Lalu klik Generate save 3file pada folder yang telah kalian siapkan and exit. Maka siap untuk
memasukkan codingannya

2. Jelaskan coding di bawah ini sesuai dengan yang anda ketahui dan jelaskan bagaimana
hasilnya pada rangkaian di proteus !

#include <mega32.h> //menambahkan library ATmega32


#include <stdlib.h> //library tambahan Untuk mengakses standar input output CVAVR
#include <stdio.h> // library tambahan Untuk mengakses standar input output CVAVR
#include <delay.h> // library Untuk memberikan waktu tunda pada program
// Alphanumeric LCD functions
#include <alcd.h> // library Untuk mengakses perintah LCD pada CVAVR
#define ADC_VREF_TYPE ((0<<REFS1) | (0<<REFS0) | (0<<ADLAR))
// Fungsi untuk mengaktifkan dan membaca nilai adc
// Read the AD conversion result unsigned int
read_adc(unsigned char adc_input)
{
ADMUX=adc_input | ADC_VREF_TYPE;
// Delay needed for the stabilization of the ADC input voltage delay_us(10);
// Start the AD conversion
ADCSRA|=(1<<ADSC);
// Wait for the AD conversion to complete while
((ADCSRA & (1<<ADIF))==0);
ADCSRA|=(1<<ADIF); return
ADCW;
} //Function yang tergenerate dari ADC tersebut

void main(void)
{
// Declare your local variables here char
dataSuhu[20], nilai;
ADMUX=ADC_VREF_TYPE;
ADCSRA=(1<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) |
(1<<ADPS2) | (0<<ADPS1) | (0<<ADPS0);
SFIOR=(0<<ADTS2) | (0<<ADTS1) | (0<<ADTS0);
//Function yang tergenerate dari ADC tersebut

lcd_init(16); //Sebagai inisialisasi awal program lcd, pada penulisan ini jumlah kolom
lcd harus dituliskan misalkan kita menggunakan yang 16x2 maka jumlah kolomnya16 while
(1)
{
// Place your code here
nilai = read_adc(0)/2.05;
//membaca suhu yang berasal dari pendeteksi suhu dengan syntax read_adc dengan pin ke
0 (pin sesuai dengan proteus),2.05 itu koefisien pembagi/nilai thresholdnya supaya
nilainya sesuai yang di baca dengan LCDnya.
//hasil bagi akan dimasukkan ke variable nilai, yang nanti kita gunakan
dibawah kita tampilkan dilayar lcd

lcd_clear();//Fungsi ini sebagai clear layar atau menghapus karakter pada lcd
sprintf(dataSuhu,"%d",nilai);
lcd_gotoxy(0,0); //Fungsi ini untuk menentukan posisi karakter pada lcd ,
posisi karakter ditentukan oleh kolom ke-x baris ke-y. baris dan kolom dimulai dari 0
lcd_puts("Suhu Anda :"); // Berfungsi untuk menampilkan string yang disimpan pada
SRAM pada LCD. lcd_gotoxy(12,0); //Fungsi ini untuk menentukan posisi
karakter pada lcd , posisi karakter ditentukan oleh kolom ke-x baris ke-y. baris dan
kolom dimulai dari 0 lcd_puts(dataSuhu); // Berfungsi untuk menampilkan
string yang disimpan pada SRAM pada LCD.
if (nilai >= 38) {
lcd_gotoxy(0,2);
lcd_puts("Waspada Covid19"); //menampilkan jika nilai tersebut sama dengan
lebih besar dari 38 keatas maka kita tampilkan warning"Waspada Covid19"
} else if (nilai >= 36) { lcd_gotoxy(0,2);
lcd_puts("Anda Sehat");//menampilkan jika nilai tersebut diatas sama dengan 36
maka kita tampilkan warning"Anda Sehat"
} else { lcd_gotoxy(0,2); lcd_puts("Sedang Sakit");
//else itu dibawah 36 yang nilainya 35,34,33 dsb kita tampilkan warning ”Sedang
Sakit”
}
delay_ms (100); //memberi delay100 milisecond
}
}

Hasilnya pada rangkaian di proteus.

• Kita play/run rangkainnya


• Lalu akan terdeteksi 36 pada alat sensor , alat sensor ini dapat kita tambah pada bagian kanan atau
kurangi pada bagian kiri. Setiap kita tambahkan atau kurangkan angkanya pada alat sensor maka
tampilan di layar lcd juga mengikuti seperti yang ada di alat sensor suhu tersebut.
• Apabila saya kurangkan hingga 32 pada alat sensor suhu tersebut maka layar lcd akan
menampilkan warning “Sedang Sakit”

• Lalu aku tambahkan lagi hingga 36 suhunya maka layar lcd akan menampilkan warning “Anda sehat”

• Dan aku tambahkan lagi suhunya hingga 43 maka layar lcd akan menampilkan warning “Waspada
Covid19”

Anda mungkin juga menyukai