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
vidio aplikatif ya
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;}
}
}
}
saya coba dowload sekema dan progam kok gak bisa mas ya
BalasHapusKok bisa padahal ini udah setelan bisa di unduh oleh pemirsa.
BalasHapusCobak nanti google dref ya saya seting ulang
Klo setelan otomatis gimana oom, tanpa masuk menu mode.
BalasHapusSeperti pada AC