PIC|ULAK PIC|ULAK ile Gece Lambası By Sinan Sözügüzel Posted on 11 Nisan 2016 4 min read 2 1 5,382 Paylaş ! Facebook Paylaş ! Twitter Paylaş ! Google+ Paylaş ! Reddit Paylaş ! Pinterest Paylaş ! Linkedin Paylaş ! Tumblr Merhaba arkadaşlar, Bu yazımızda, MekatronikLAB firmasının üretmiş olduğu PIC mikrodenetleyiciler ile proje geliştirme kiti PIC|ULAK ile adına gece lambası dediğimiz uygulamayı gerçekleştirdik. Uygulamamızda daha öncede kullanmış olduğumuz adc özelliğini kullandık. Burda elimizde ki potansiyometre yardımıyla analog olarak 0-1023 değerini elde etmekteyiz. Bu değerleri RGB ledin oluşturacağı renk sayısına bölerek oranlayarak potansiyometreyi döndürerek farklı renkleri elde ettik. RGB led hakkında bilgi vericek olursak, bağlantı şeması resimde görülmekte olup, ortak uç GND ye bağlanır. Hangi rengi yakmak istiyorsak o uca lojık 1 verilir. Malzemeler pic|ulak rgb led potansiyometre 1k direnç Bağlantı Şeması CCS C Kodları [php] #include <18f2550.h> // pic tanıtılıyor. #device adc=10 // 10 bitlik adc kullanılıyor. #use delay (clock=4000000) // osilatör frekansı #fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD // sigorta ayarları unsigned long int bilgi; //bilgi adındaişaretsiz tamm sayı tanımlanıyor. void main() { set_tris_b(0x00); // B portu çıkış output_b(0x00); // B portu sıfırlanıyor. 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. while(TRUE) { bilgi=read_adc(); // okunan adc sonucu bilgi değişkenine aktarılıyor. if(bilgi>0 && bilgi<=100) // RGB ledin kapalı olduğu kısım. { output_low(pin_b0); output_low(pin_b1); output_low(pin_b2); } if(bilgi>101 && bilgi<=230) // KIRMIZI { output_high(pin_b0); output_low(pin_b1); output_low(pin_b2); } if(bilgi>231 && bilgi<=360) // YEŞİL { output_high(pin_b1); output_low(pin_b0); output_low(pin_b2); } if(bilgi>361 && bilgi<=490) // MAVİ { output_high(pin_b2); output_low(pin_b1); output_low(pin_b0); } if(bilgi>491 && bilgi<=620) // SARI { output_high(pin_b0); output_high(pin_b1); output_low(pin_b2); } if(bilgi>621 && bilgi<=750) // MAGENTA { output_high(pin_b0); output_high(pin_b2); output_low(pin_b1); } if(bilgi>751 && bilgi<=880) // CYAN { output_high(pin_b1); output_high(pin_b2); output_low(pin_b0); } if(bilgi>751 && bilgi<=880) // BEYAZ { output_high(pin_b0); output_high(pin_b1); output_high(pin_b2); } } } [/php] Devrenin Çalışma Videosu https://www.youtube.com/watch?v=RrbP34TpAF8