Projenin Amacı
Bu projede LM35 sıcaklık sensörü ile ölçülen sıcaklık bilgisi LCD ekranda gösterilmektedir.Buzdolabı kapağı açık kaldıktan bir süre sonra sinyal verir bizde projemizde bir LDR ile bu işlemi gerçekleştirdik yani LDR 5 saniye boyunca ışığa maruz kalırsa buzzer ötmeye başlıyor ışık uzaklaştırılınca susuyor.
Devremizde PIC16F877A ile kontrol işlemleri gerçekleştirilmiştir.
Kullanılan Malzemeler
PIC16F877A
LCD
LM7805
LDR
Buzzer
LM35
100uF kondansatör
4MHz kristal
Çeşitli değerlerde dirençler
Kullanılan Kod
#include<16f877.h>
#device ADC=10
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NODEBUG,NOLVP,NOWRT,NOCPD,NOPUT
#use delay(clock=4000000)
#use fast_io(a)
#use fast_io(c)
#define use_portb_lcd TRUE
#include<lcd.c>
unsigned long int bilgi,bilgildr;
float voltaj,sicaklik,voltldr;
void main()
{
setup_psp(PSP_DISABLED);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED, 0, 1);
setup_CCP1(CCP_OFF);
setup_CCP2(CCP_OFF);
set_tris_a(0x0f);
set_tris_C(0x00);
output_c(0x00);
setup_adc(adc_clock_div_32);
setup_adc_ports(ALL_ANALOG);
lcd_init();
while(true)
{
set_adc_channel(0);
delay_us(20);
bilgi=read_adc();
voltaj=(0.00488281525*bilgi)*1000;
sicaklik=(voltaj/10)-2;
lcd_gotoxy(1,1);
printf(lcd_putc,”\fsicaklik=%5.1f’C”,sicaklik);
delay_ms(1000);
set_adc_channel(1);
delay_us(20);
bilgildr=read_adc();
voltldr=(0.00488281525*bilgildr);
lcd_gotoxy(1,1);
printf(lcd_putc,”\fvoltaj=%fV”,voltldr);
lcd_gotoxy(1,2);
printf(lcd_putc,”Dijtal=%lu”,bilgildr);
if (bilgildr>=613)
{
delay_ms(5000);
output_high(pin_c0);
}
else
{
output_low(pin_c0);
}
delay_ms(1000);
}
}
Yapım Aşaması
ISIS çizimi
ARES çizimi
Baskı devre aşamaları
Oğuz Şanlı(CCS C kodlarının yazılması)
Mücahit Yalçınkaya(ARES çiziminin yapılması)
Zeliha Ay(ISIS çiziminin yapılması)
Metincan Yıldırım(Projenin tasarımı ve yapımı)