Ana Sayfa PIC|ULAK PIC|ULAK ile LDR Uygulaması

PIC|ULAK ile LDR Uygulaması

5 min read
0
0
4,235

Merhaba arkadaşlar,

Bu yazımızda, MekatronikLAB firmasının üretmiş olduğu  PIC mikrodenetleyiciler ile proje geliştirme kiti PIC|ULAK ile pwm(Pulse width modulation) darbe genişlik modülasyonu ile adc(analog to converter) bölümlerini birleştirerek ışığın şiddetine ters orantılı şekilde ledin yanması uygulanmasını gerçekleştirdik gerçekleştirdik.

Foto direnç (LDR,light dependent resistor), üzerine düşen ışığın şiddetine göre direni değişen devre elemanıdır.

Videoda uygulama pek anlaşılmayabilir o yüzden uygulama hakkında açıklama yapıyorum. 🙂

Bu uygulamamızı sokak lambalarının çalışma prensibi yada, telefonlarımızda bulunan parlaklık düzeyi otomatik konumda olduğunda gerçekleşen olaylar gibi düşünebiliriz, kısacası karanlıkta yanan led gibi 🙂

Daha önceki yazılarımızda bu uygulamada kullanılan adc ve pwm bölümlerini anlattığım için merak ettiklerinize önceki yazılardan ulaşabilirsiniz.

iyi çalışmalar…

NOT:Arkadaşlar ldr nin benim uyguladığım ışık şiddetine karşı algıladığı dijital değer 800 civarı olduğu için bu değerde sınırladım, yani bu değeri geçtiğinde led yine yanmaya başlayacak. (video da olduğu gibi 🙂  )

Malzemeler

  • pic|ulak
  • ldr
  • 10k direnç
  • 330Ω direnç
  • led
  • lcd

Bağlantı Şeması

?????????????

CCS C Kodları

[php]

#include <18f2550.h>

#device adc=10 // 10 bitlik adc kullanılıyor.

#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD // sigortaayarları.

#use delay (clock=20M) // osilatör frekansı

#define use_portb_lcd TRUE // lcd i b portuna bağlı

#include <lcd420.c> //4*20 lcd tanıtılıyor.

unsigned long int bilgi; //bilgi adındaişaretsiz tamm sayı tanımlanıyor.

void main()
{
lcd_init(); // lcd hazırlanııyor.
printf(lcd_putc,"\fMEKATRONIKLAB");
printf(lcd_putc,"\nROBOTURKA");
printf(lcd_putc,"\nSINAN SOZUGUZEL");
printf(lcd_putc,"\nGAZIOSMANPASA UNI");
delay_ms(500);

setup_adc(adc_clock_div_32); // ADC clock frekansı fosc/32
setup_adc_ports(AN0); // A0 pini analog giriş olarak ayarlanıyor.
set_adc_channel(0); // A0 pini adc işlemine tabi tutuluyor.
delay_ms(20); // gecikme veriliyor.

setup_timer_2(t2_div_by_16,254,1); // pwm ayarları yapılıyor.
setup_ccp1(ccp_pwm); // ccp1 aktifleştiriliyor.

while(1)
{
bilgi=read_adc(); // okunan değer bilgi değişkenine aktarılıyor.

set_pwm1_duty(800-bilgi); // 800 sınır olarak ayarlanıyor.
delay_ms(20);

printf(lcd_putc,"\fDIJITAL=%lu",bilgi); // adc sonucu lcd ye aktarılıyor.
printf(lcd_putc,"\n");
printf(lcd_putc,"\n LDR UYGULAMSI");
printf(lcd_putc,"\nROBOTURKA / PIC|ULAK");
delay_ms(100);

}
}

[/php]

Devrenin Çalışma Videosu

 

Buna Benzer Yazılar Göster !
Daha Fazlasını Yükle - Sinan Sözügüzel
Daha Fazla Göster -  PIC|ULAK

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bak Bakalım ?

PIC|ULAK ile Gece Lambası

Merhaba arkadaşlar, Bu yazımızda, MekatronikLAB firmasının üretmiş olduğu  PIC mikrodenetl…