Minggu, 07 Februari 2016

TERMO METER MENGUNAKAN LM35

    Pada kesempatan kali ini saya akan membagikan program,skema dan tata cara mengunakan termometer ini.termometer ini membaca huhu dalam drajat celsius dan bisa membaca 0C- 150C. termometer ini juga di lengkapi 4 relay yang bisa mengontrol atau menghidupkan kipas DLL. bisa diatur suhu  dingin atau panas untuk menghidupkan relai satu sampai relay empat.

 ini gambar skema rangkaian


ini gambar saat proteus di jalan kan di proteus

ini cara mengatur suhu untuk mengatur relay agar berfungsi 

pertama tekan tombol mode hingga kluar tulisan seperti digambar   


lalu sehabis kluar tulisan pada gambar diatas maka akan keluar tulisan seperti ini
setelah itu tombol UP atau Down seting sesuai dengan keingina,tata cara memen cat pencet terus tombol UP maka nanti dia akan terus menambah angka batas yang di inginkan dan sebalik ya


fungsi penyetel UP 1 dan UP 2 adalah apabila suhu yangkita tentukan 27C maka relay akan bekerja apabila suhu  yang dibaca sensor lebih besar dari 27C 





fungsi penyetel dn 1 dan dn 2 adalah apabila suhu yangkita tentukan 27C maka relay akan bekerja apabila suhu  yang dibaca sensor kurang dari  27C 


program dan simulator ada di ling ini silah kan unduh klik disini

ini vidio cara mengunakan ya


vidio aplikatif ya
sekian penjelasan dari saya, semoga bermanfaat.

tambahan program apabila tidak bisa di unduh di google drev

#include  <mega8.h>
#include  <delay.h>

unsigned char angka[20]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
int satuan,puluhan,ratusan,ribuan,data,data_temp,x,Y,empat,tiga,dua,satu,relay1,PILIH,relay2,relaya,relay3,relay4;

#define ADC_VREF_TYPE 0x40
 #define UP PINC.4
 #define RL PORTB.4
  #define RLL PORTB.5
  #define SW PINC.2
  #define DW PINC.3
  #define R3 PORTB.6
  #define R4 PORTB.7
 // #define DOT PORTD.7
//relay1=0;
//relay2=0;
//relay3=0;
//relay4=0;
//PILIH=0;
 
// 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 aditt()
{satu=0x88;
dua=0xa1;
tiga=0xf9;
empat=0x87; }
void swit()
 {
satu=0xc1;
dua=0x8c;
tiga=0xff;
empat=0xf9;
}
void swit2()
 {
satu=0xc1;
dua=0x8c;
tiga=0xff;
empat=0xa4;
}
   void swit3()
 {
satu=0xa1;
dua=0xc8;
tiga=0xff;
empat=0xf9;
}
   void swit4()
 {
satu=0xa1;
dua=0xc8;
tiga=0xff;
empat=0xa4;
}

void relay11()
{
data_temp=relaya;
satuan=data_temp%10;
puluhan=(data_temp/10)%10;
ratusan=(data_temp/100)%10;
ribuan=(data_temp/1000)%10;
}

void ambil_data()
{

data_temp=data;
satuan=data_temp%10;
puluhan=(data_temp/10)%10;
ratusan=(data_temp/100)%10;
ribuan=(data_temp/1000)%10;

}

void tampilkan_seven_segment()
{

PORTB.0=1;
PORTB.1=0;
PORTB.2=0;
PORTB.3=0;
PORTD=0xC6;
delay_ms(1);

PORTB.0=0;
PORTB.1=1;
PORTB.2=0;
PORTB.3=0;
PORTD=angka[satuan];
delay_ms(1);
         
PORTB.0=0;
PORTB.1=0;
PORTB.2=1;
PORTB.3=0;
PORTD=angka[puluhan];
delay_ms(1);

           
PORTB.0=0;
PORTB.1=0;
PORTB.2=0;
PORTB.3=1;
PORTD=angka[ratusan];
delay_ms(5);

PORTB.0=0;
PORTB.1=0;
PORTB.2=0;
PORTB.3=0;
PORTD=angka[ratusan];
delay_ms(1);
}

void huruf()
{
PORTB.0=1;
PORTB.1=0;
PORTB.2=0;
PORTB.3=0;
PORTD=empat;
 
delay_ms(1);
         
PORTB.0=0;
PORTB.1=1;
PORTB.2=0;
PORTB.3=0;
PORTD=tiga;
delay_ms(1);
           
PORTB.0=0;
PORTB.1=0;
PORTB.2=1;
PORTB.3=0;
PORTD=dua;
delay_ms(1);
           
PORTB.0=0;
PORTB.1=0;
PORTB.2=0;
PORTB.3=1;
PORTD=satu;
delay_ms(1);

PORTB.0=0;
PORTB.1=0;
PORTB.2=0;
PORTB.3=0;
PORTB.3=1;
PORTD=0x88;
delay_ms(1);
}

void main(void)
{


PORTB=0xFF;
DDRB=0xFF;

PORTC=0x00;
DDRC=0x00;

PORTD=0xFF;
DDRD=0xFF;

ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x84;
SFIOR&=0xEF;

PORTD=0XFF;
delay_ms(1);
PORTD=0XFF;
delay_ms(1);
PORTD=0XFF;
delay_ms(1);



 adit:
for (Y=0;Y<200;Y++)
      {
      aditt();
      huruf();
      }
while (1)
      {
      data=read_adc(5)*0.488+2;
     
     
      for(x=0;x<30;x++)
           {    
       
              ambil_data();
           
           
        tampilkan_seven_segment();
            if(data >= relay1)
         { RLL = 0; }
        else
        { RLL=1;}        
                 if(data>= relay2)
                 {RL = 0;}
                 else
                 {RL = 1;}
               
                 if(data <= relay3)
                    { R3 = 0; }
                   else
                    { R3=1;}        
                 if(data<= relay4)
                 {R4 = 0;}
                 else
                 {R4 = 1;}
            }
           
           
         RELAY_SATU:
            if(SW == 1)
            { PILIH++;
            delay_ms(50);
                    if(PILIH == 1)
                    {relaya=relay1;
                     for(x=0;x<100;x++)
                           {swit();                  
                             huruf();
                           }
                    goto tulis;}
                    else
                        {if(PILIH == 2)
                        {relaya=relay2;
                           for(x=0;x<100;x++)
                           {swit2();                  
                             huruf();
                           }                      
                        goto tulis;}
                         else
                         {if(PILIH == 3)
                         {relaya=relay3;
                         for(x=0;x<100;x++)
                           {swit3();                  
                             huruf();
                           }
                            goto tulis;}
                            else
                         {if(PILIH == 4)
                          {relaya=relay4;
                           for(x=0;x<100;x++)
                           {swit4();                  
                             huruf();
                           }
                             goto tulis;}
                         }
                        }
                      }
                      tulis:
                     
                 uuup:  
                   for(x=0;x<100;x++)
                    {//relaya=relay1;
                    relay11();                  
                    tampilkan_seven_segment();
                    }
                   
                    if(UP == 1)
                    { delay_ms(10) ;
                      relaya++;
                      if(relaya > 150)
                                {relaya=150;}
                                else
                                {goto uuup;} }
                     
                    else
                        { if(DW == 1)
                            {delay_ms(10) ;
                            relaya--;
                                if(relaya <= 0)
                                {relaya=0;}
                                else
                                {goto uuup;}
                            }
                        else
                        {if(SW == 1)
                         {  if(PILIH == 1)
                            {relay1=relaya;
                            goto RELAY_SATU;}

                           
                            if(PILIH == 2)
                            {relay2=relaya;
                            goto RELAY_SATU;}
                            else
                                {
                                if(PILIH == 3)
                                {relay3=relaya;
                                goto RELAY_SATU;}
                                else
                                {if(PILIH == 4)
                                    {relay4=relaya;
                                    PILIH=0;
                                    goto adit;}
                                     }
                            }
                          }
                            else
                         {goto uuup;}
                         
                            }                                                    
                                  }
         //   else
        //   { goto baca;}
       }
       

      }
     }

3 komentar:

  1. saya coba dowload sekema dan progam kok gak bisa mas ya

    BalasHapus
  2. Kok bisa padahal ini udah setelan bisa di unduh oleh pemirsa.
    Cobak nanti google dref ya saya seting ulang

    BalasHapus
  3. Klo setelan otomatis gimana oom, tanpa masuk menu mode.
    Seperti pada AC

    BalasHapus