PIC|ULAK PIC|ULAK ile Bilgisayar Üzerinden LED Kontrolü By Sinan Sözügüzel Posted on 25 Aralık 2015 6 min read 1 0 2,456 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 bilgisayar üzerinden farklı renklere sahip ledleri, kolaylıkla kontrol etmeyi gerçekleştireceğiz. Bunun için ilk olarak bilgisayarımıza herhangi bir Serial Communicator yazılımını yüklememiz gerekiyor. Bu işlemden sonra, aşağıdaki uygulama kodunu c derleyici ile derleyip hex kodunu oluşturuyoruz.. Oluşturduğumuz hex kodunu PICKit2 yazılımı ile PIC|ULAK’a yüklüyoruz.. Yükleme işleminden sonra PIC|ULAK’ı Programlayıcı modundan Seri-USB dönüştürücü moduna alıyoruz.. Seri-USB moduna aldığımız da artık bilgisayarımız ile PIC|ULAK’ konuşturabiliriz.. Serial Communşcator yazılımının transmit alanına hangi LED’i yakmak istiyorsanız o LED’in rengini yazıp ENTER tuşuna basmanız yeterli.. 🙂 Eğer yakmış olduğunuz LED’i söndürmek için ise XRENK yazıp gönderdiğinizde ise ilgili LED sönüyor. Örneğin, Sarı LED’i yakmak için SARI yazıp gönderiyoruz.. Söndürmek için ise XSARI yazı gönderiyoruz.. Kolaylıklar… Malzemeler: PIC|ULAK 1 Adet Sarı LED 1 Adet Kırmızı LED 1 Adet Yeşil LED 3 Adet 220Ω direnç Bağlantı şeması: Kod kısm [php] #include <main.h> #FUSES XT, NOWDT, NOPROTECT, NOBROWNOUT, NOLVP, NOPUT, NOWRT, NODEBUG, NOCPD //KONFİGÜRASYON YARLARI #use delay (clock = 4000000) //ÖSİLATÖR FREKANSI #use rs232 (baud=9600, xmit=pin_c6, rcv=pin_c7, parity=N, stop=1) //RS232 PROTOKOLÜ AYARLARI char islem[20]; // İSLEM TİPİNDE 20 ÜYELİ DİZİ TANIMLANIYOR void main() { printf("\n\r——————PIC|ULAK——————"); printf("\n\r*-*-*-*-*-*-*-* LED CONTROL *-*-*-*-*-*-*-*"); printf("\n\rYAKMAK İSTEDİĞİNİZ LED İÇİN (RENK) VEYA SÖNDÜRMEK İSTEDİĞİNİZ LED İÇİN X(RENK) YAZINIZ:"); set_tris_b(0x00); // B PORTU CIKIS OLARAK TANIMLANIYOR output_b(0x00); // B PORTUSIFIRLANIYOR while(TRUE) { islem="null"; // İSLEM DEĞİŞKENİNİN İÇERİĞİ BOŞ OLARAK AYARLANIYOR gets(islem); // YAZILAN METNİ İSLEM DEĞİŞKENİNE AKTAR puts(islem); // YAZILAN DEĞERİ EKRANA YAZ printf("\n\rYAKMAK İSTEDİĞİNİZ LED İÇİN (RENK) VEYA SÖNDÜRMEK İSTEDİĞİNİZ LED İÇİN X(RENK) YAZINIZ:"); // LEDLERİ YAKMA İŞLEMİ if(islem[0]==’S’ && islem[1]==’A’&& islem[2]==’R’ && islem[3]==’I’ ) output_high(pin_b0); if(islem[0]==’Y’ && islem[1]==’E’&& islem[2]==’S’ && islem[3]==’İ’ && islem[4]==’L’) output_high(pin_b1); if(islem[0]==’K’ && islem[1]==’I’&& islem[2]==’R’ && islem[3]==’M’ && islem[4]==’I’&& islem[5]==’Z’ && islem[6]==’I’ ) output_high(pin_b2); // LEDLERİ SÖNDÜRME İŞLEMLERİ if(islem[0]==’X’ && islem[1]==’S’ && islem[2]==’A’&& islem[3]==’R’ && islem[4]==’I’ ) output_low(pin_b0); if(islem[0]==’X’ && islem[1]==’Y’ && islem[2]==’E’&& islem[3]==’S’ && islem[4]==’İ’ && islem[5]==’L’) output_low(pin_b1); if(islem[0]==’X’ && islem[1]==’K’ && islem[2]==’I’&& islem[3]==’R’ && islem[4]==’M’ && islem[5]==’I’&& islem[6]==’Z’ && islem[7]==’I’ ) output_low(pin_b2); } } [/php] Devrenin Çalışma Videosu: