Membuat Voltmeter Digital ADC Menggunakan Codevision AVR
Salah satu aplikasi dari penggunaan ADC pada mikrokontroler AVR ATmega adalah untuk membuat instrumen pengukuran digital, salah satunya voltmeter digital. Tegangan analog yang masuk akan didigitalisasi oleh ATMega.
Pada aplikasi kali ini, untuk mengukur tegangan kita menggunakan potensiometer. Tegangan maksimal yang diukur sebesar 5 volt DC. Mode ADC yang digunakan adalah mode free running dengan 10 bit tanpa interrupt. Input masukan dihubungkan dengan pin ADC.0 atau PINA.0
Kode Program Voltmeter Digital ADC ATmel ATMega 16
/***************************************************** CodeWizardAVR V2.05.0 Advanced Project : Voltmeter digital Version : Date : 3/20/2014 Author : Priyo Harjiyono Company : https://anotherorion.com *****************************************************/ #include <mega16.h> #include <delay.h> #include <alcd.h> #include <stdio.h> #define ADC_VREF_TYPE 0x00 unsigned int read_adc(unsigned char adc_input) { ADMUX=adc_input | (ADC_VREF_TYPE & 0xff); delay_us(10); ADCSRA|=0x40; while ((ADCSRA & 0x10)==0); ADCSRA|=0x10; return ADCW; } char buff[33]; int masukan; float hitung; void main(void) { ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0xA1; SFIOR&=0x1F; lcd_init(16); while (1) { lcd_gotoxy(0,0); lcd_putsf("V meter digital"); masukan = read_adc(0); hitung = (float) masukan*5/1024; sprintf(buff," V input : %0.2f", hitung); lcd_gotoxy(0,1); lcd_puts(buff); delay_ms(100); lcd_clear(); } }
Gambar Rangkaian Voltmeter Digital ADC Menggunakan Codevision
Rangkaian skematiknya sebagai berikut
Download file source Codevision AVR & Simulasi ISIS Proteus:
Salam
Maaf ketika saya coba kenapa tampilan dari output voltmeter jadi 2f dan tidak bisa berganti setiap perubahan potensiometernya? Terima kasih.
Salam
terimaksih share ilmunya,kalau ada pertanyaan,bolehkan minta alamat emailnya.
Terimkasih
bisa menghubungi FB saya mas di @anotherorion
Assalamu’alaikum, mas untuk menghidupkan led 8×2 bit sipo shift segister inputan push button ada ngak, jika ada share, baru belajar…