Kamis, 13 Desember 2012

Membuat termometer digital dengan LM35 dan mikrokontroller ATmega8535

Berikut ini skematik dan simulasi rangkaian di program proteus :
 klik untuk memperbesar



Untuk programnya menggunakan Code Vision AVR;
berikut programnya:





/*****************************************************
This program was produced by the
CodeWizardAVR V2.03.9 Standard
Automatic Program Generator
© Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : Termometer digital
Version : 1.0
Date    : 12/13/2012
Author  : Bayu Sasongko
Company : Teknik Elektro UNILA
Comments: Sipp dah


Chip type               : ATmega8535
Program type            : Application
AVR Core Clock frequency: 12.000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 128
*****************************************************/

#include <mega8535.h>
#include <stdio.h>

#asm
   .equ __lcd_port=0x15 ;
#endasm
#include <lcd.h>
#include <delay.h>
#include <stdlib.h>


unsigned char kata[16];
int data_suhu,x;
float suhu_celcius;

#define ADC_VREF_TYPE 0x40

// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}

void main(void)
{
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x84;
SFIOR&=0xEF;

lcd_init(16);

for(x=0;x<=2;x++)
{
lcd_gotoxy(5,0);
lcd_putsf("-ETEKNO-");
delay_ms(100);
lcd_clear();
delay_ms(100);
}

while (1)
      {   
         data_suhu = read_adc(0);
         suhu_celcius = ((float)data_suhu*500/1023);   //Rubah kecelcius              
         ftoa(suhu_celcius,2,kata); 
         
         lcd_gotoxy(2,0);
         lcd_putsf("SUHU SAAT INI");
         
         lcd_gotoxy(4,1);  
         lcd_puts(kata); 
         
         lcd_gotoxy(9,1);
         lcd_putchar(0xdf);//menampilkan karakter derajat
         lcd_putsf("C");  
         
         delay_ms(100);         
                 
      };
}


download project proteus dan coding nya disini 

9 komentar:

  1. infony sangat menarik gan :)
    kalo buat tachometer pake 8535 dengan output lcd gmn gan ?

    BalasHapus
  2. ikut nimbrung mas
    keren infonya,,,
    pertanyaanya sama kek yang di atas... klo bisa tolong infonya mass ke deoza.in@gmail.com
    makasih mas sblmnya suksess

    BalasHapus
  3. mas kenapa mesti 500 pasa rumus merubah celciusnya ?

    BalasHapus
    Balasan
    1. itu sudah sesuai dengan perumusan dari sananya... kebanyakan hanya dikali 5 dan dibagi 10 ... tapi disni dibuat dikali 500 / 1023... saya rasa untuk ketelitian yang lebih tinggi... sehingga hasil yang ditampilka pada LCD bisa lebih akurat

      Hapus
  4. mas kalo LM35 nya di ganti termokopel type K .
    program nya apa yang di ganti mas.
    thx ?

    BalasHapus
    Balasan
    1. bagian perumusannya yg di ganti... karena tiap sensor memiliki karakteristik tersendiri ...dengan ketelitian pengukuran yg berbeda2

      Hapus
  5. maksih atas potingannya... akhirnya saya bisa membuat Thermometer digital.... silahkan yang pengen unduh PCB dan Source codenya mampir disini http://rokhmad.blogspot.com/2014/11/membuat-thermometer-digital-dengan.html

    BalasHapus
  6. bahasa program memakai bascom ndak ada min?

    BalasHapus
  7. Maaf itu komponenya apa saja ya mas?

    BalasHapus

Silahkan isi komentar yang dapat membangun blog ini. Atas komentarnya saya ucapkan terimakasih

Related Posts Plugin for WordPress, Blogger...