5 A-10 Bagas Yuda Ananda 119130102 EL2209 Christopher
5 A-10 Bagas Yuda Ananda 119130102 EL2209 Christopher
Abstrak – Pada percobaan kali ini yang melakukan untuk menkonversi input tegangan analog
percobaan dengan mengkonversi analog ke digital menjadi nilai digital
atau yang biasa di sebut ADC. Pada percobaan ini ada 2. Praktikan mampu membuat program untuk
dilakukan 2 percobaan yaitu percobaan untuk mengubah hasil konversi dalam satuan
menghitung suhu dengan Lm35 dan percobaan kedua binermenjadi BCD dan dikirimkan ke PC
menghitung tegangan dengan menggunakan LDR. melalui komunikasi serial USART
Dari percobaan yang dilakukan pada pengukuran suhu
lm 35 dihubungkan dengan ADC0 dan pada BAB II
percobaan kedua menghitung tegangan dihubungkan LANDASAN TEORI
ke ADC1 pada atmega 8535.
ADC
Kata kunci -- lm35, ADC converter
Analog to Digital Converter atau sering disingkat
BAB I dengan ADC adalah rangkaian yang mengubah nilai
PENDAHULUAN tegangan kontinu (analog) menjadi nilai biner (digital)
yang dapat dimengerti oleh perangkat digital sehingga
Dalam dunia elektronika, penggunaan dapat digunakan untuk komputasi digital. Dengan kata
mikrokontroler dalam pembuatan rangkaian-rangkaian lain, Analog to Digital Converter atau Konverter
elektronika tidaklah sulit dalam pengaplikasiannya Analog ke Digital ini memungkinkan rangkaian
karna dalam perancangan suatu rangkaian elektronika
Digital berinteraksi dengan dunia nyata dengan
tidak langsung dibuat dalam bentuk hardwere
melainkan dapat dibuat simulasi terlebih dahulu. menyandikan sinyal Analog ke sinyal Digital yang
Proses pembuatan simulasi ini dilakukan bertujuan berbentuk Biner. Rangkaian ADC ini pada umumnya
untuk mengecek kondisi dari rangkaian yang akan dikemas dalam bentuk IC dan diintegrasikan dengan
dibuat. Pada pembuatan simulasi suatu rangkaian Mikrokontroler.
elektronika ini dapat digunakan suatu program yang
dapat memberikan fasilitas dalam perancangan suatu Di dunia nyata, sinyal Analog yang berasal dari
rangkaian yaitu program proteus.7 dan CVAVR untuk berbagai sumber dan sensor yang mengukur suara
pembuatan program yang dibutuhkan oleh rangkaian cahaya, gerakan dan suhu akan terus berubah nilai
yang kita buat.
(kontinu) sehingga memberikan nilai yang berbeda
Mikrokontroler AVR ATMega8535 mempunyai
ADC dengan resolusi 10-bit. Di dalam jumlah yang tak terbatas. Sedangkan rangkaian
dalam mikrokontroller ATMega8535, input ADC Digital di sisi lain bekerja dengan sinyal Biner yang
dihubungkan ke sebuah 8 channel Analogmultiplekser hanya memiliki dua kondisi diskrit yaitu logika 0
yang digunakan untuk single ended (rendah) dan logika 1 (tinggi). Oleh karena itu,
diperlukan sebuah rangkaian elektronika yang dapat
mengubah dua domain yang berbeda dari sinyal
Lalu tujuan dari praktikum ini adalah :
analog yang kontinu menjadi sinyal digital yang
1. Praktikan mampu membuat program yang diskrit. Rangkaian inilah yang kita sebut dengan
menggunakan ADC pada avr Atmega 8535 Analog to Digital Converter (ADC) atau Konverter
Analog ke Digital, Perangkat yang menjadi perantara
untuk mengubah sinyal analog menjadi sinyal Digital bahwa output komparator tersebut tergolong tinggi
agar dimengerti oleh mikrokontroler dan atau high. Namun sebaliknya malah akan memberikan
mikroprosesor output rendah atau low.
Ada dua faktor utama dalam ADC yang menjadi Jenis ADC yang kedua dinamakan seabgai counter
ramp ADC yang di dalamnya nanti Anda temukan
penentu keakuratan nilai digital yang dihasilkannya.
rangkaian DAC yagn akan diberikan input dari
Kedua faktor tersebut adalah Resolusi dan Sample counter yang berasal dari sumber clock dimana
Rate. sumber clock tersebut akan dikontrol. Caranya adalah
dengan meng AND kan terhadap keluaran
1. Resolusi komparator. Komparator akan membandingkan
tegangan dari masukan analog dengan masukan DAC.
Sebagai contoh, apabila sinyal 1V diubah menjadi
sinyal Digital dengan menggunakan ADC 3 bit, maka Ketika tegangan yang akan dimasukkan tersebut
akan menghasilkan 8 tingkatan pembagian (23 = 8 ternyata tidak sama dengan tegangan output DAC,
atau dalam biner adalah 111). Dengan kata lain, maka keluaran komparator sama dengan 1. Dengan
terdapat 8 tingkatan untuk mencapai output 1V. begitu, clock bisa memberikan masukan counter dan
Masing-masing satu tingkatan adalah 0,125V (1/8 = juga hitungan dari counter naik.
0,125V). Jadi perubahan minimum dari ADC 3 bit
3. SAR (Successive Aproximation Register)
untuk 1V ini adalah 0,125V atau 125mV setiap ADC
tingkatan. SAR akann menggunakan konfigurasi yang tidak jauh
berbeda dengan counter ramp. Namun ketika
melakukan trace dengan tracking, maka keluaran yang
dihasilkan adalah kombinasi bit MSB = 1 =====>
1000 0000. Namun ketika belum sama, maka akan
dinyatakan 1 ===> 1100 0000. Ketika tegangan
malah lebih kecil, maka Anda harus menurunkan
kombinasi bit ====> 10100000.
BAB III
2. Kecepatan sampel METODOLOGI
Jumlah sampel konversi dari analog ke digital yang A. Alat dan Bahan
dapat dibuat oleh konverter dalam setiap detik disebut 1. Aplikasi Proteus
dengan Kecepatan Sampel (Sample Speed atau 2. Aplikasi CV AVR
Sample Rate). Sample Speed ini diukur dalam satuan 3. PC atau Laptop
S/s (Sample per Detik) atau SPS (Sample per
Second). Misalnya ADC yang bagus dapat memiliki B. Diagram Alir
sample rate atau rasio pengambilan sample hingga
300Ms/s (bisa dibaca menjadi 300 juta sampel per Percobaan 1
detik).
1. ADC Simultan
DAFTAR PUSTAKA
#include <mega8535.h>
#include <delay.h>
#include <string.h>
#include <stdio.h>
hasil=((input/10000)*65536)+
(((input%10000)/1000)*4096)+
((((input%10000)%1000)/100)*256)+
(((((input%10000)%1000)%100)/10)*16)+
((((input%10000)%1000)%100)%10);
return(hasil);
ADMUX=adc_input|ADC_VREF_TYPE;
//Start konversi ADC
ADCSRA|=0x40;
data_adc=0x0000;
void main(void)
DDRA=0x00;
ADMUX=ADC_VREF_TYPE;
ADCSRA=0x87;
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x19;
while (1)
temp=string[i];
putchar(temp);
putchar(',');
putchar(temp);
putchar(temp);
putchar(' ');
putchar('C');
putchar(0x0A);
delay_ms(1000);
}
Percobaan 2 :
#include <mega8535.h>
#include <delay.h>
#include <string.h>
#include <stdio.h>
hasil=((input/10000)*65536)+
(((input%10000)/1000)*4096)+
((((input%10000)%1000)/100)*256)+
(((((input%10000)%1000)%100)/10)*16)+
((((input%10000)%1000)%100)%10);
return(hasil);
ADMUX=adc_input|ADC_VREF_TYPE;
//Start konversi ADC
(ADCSRA=ADCSRA|0x40) ;
data_adc=0x0000;
temp=ADCL;
data_adc=ADCH;
data_adc|=temp;
return data_adc;
//Right adjusted
void main(void)
DDRA=0x00;
ADMUX=ADC_VREF_TYPE;
//Inisialisai ADC (Enable ADC)
ADCSRA=0x87;
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x19;
while (1)
temp=string[i];
putchar(temp);
putchar(',');
putchar(temp);
putchar(' ');
putchar('V');
putchar(0x0A);
delay_ms(1000);