Yazılımsal PWM ve LED’in Dimlenmesi

Standart

Yazılımsal olarak nerdeyse her PIC ile PWM sinyal üretebiliriz. Buradaki mantık bir pin’i belirli bir süre 1 yapmak ve diğer bir süre sıfır yapmaktır. Böylece bir PWM elde etmiş oluruz. Fakat bu işlemi PIC sürekli yapmalıdır. Yani komut sürekli çalışmalıdır. Bunu işlemci sürekli yaptığı için aynı anda başka bir işlem yapılamamaktadır.

3 kanal yazılımsal PWM yapılışını göstereceğim. Siz bu kodlara göre kanal çoğaltabilirsiniz. Ben burada hem PWM hem LED kayması yaptım. Kodları değiştirerek istediğimiz animasyon yapabiliriz.

KODLAR: Okumaya devam edin

PWM YÖNTEMİ

Standart

Elektronik ile uğraşanlar PWM kelimesini çok defa duymuş olabilir. PWM, genişliği değişen kare dalgadır aslında. PWM, DC sinyal kullanılan yerlerde, DC sinyalin genliğini değiştirmek için kullanılan etkili ve verimli bir yöntemdir. Günümüzde PWM yönteminin en çok duyulduğu yer; dc motorların hızlarının ayarlanması ve güç kaynaklarıdır. SMPS (Switch Mode Power Supply) güç kaynaklarında, düzenlenecek olan çıkış voltajlarını bu teknikten yararlanarak elde etmektedirler. Yani bunlara Anahtarlama Güç Kaynakları da denilmektedir.

PWM

Şekil-1.

Okumaya devam edin

PIC16F628A ile YÜRÜYEN IŞIK UYGULAMASI

Standart

Merhaba Arkadaşlar. Bu yazımda PIC16F628A mikrodenetleyicisi ile yürüyen ışık (karaşimşek) uygulamasının yapılışını ve kodlarını göstericeğim. Geçen yazımda LED ON/OFF örneğini göstermiştim. Bu da ona benzer bir uygulamadır. Bu uygulamda 8 tane Led’i belli bir aralıkla ON/OFF yapıcağız. Mantık aynıdır. Sadece for döngüsü vardır. for döngüsünün mantığı: for(i=başlangıç; i=bitiş; i=arttırma veya azaltma); budur.

BOARD ÜZERİNDEKİ DEVRE ŞEMASI:

1

ŞEKİL-1. DEVRE ŞEMASI

Okumaya devam edin

PIC16F628A ile LED ON/OFF

Standart

Merhaba Arkadaşlar. Bu yazımda size PIC16F628A ile Led’i butonsuz aç/kapa uygulamasını göstericeğim. İlk önce MicroC programı hakkında bahsedeceğim.

MicroC:  PIC mikrodenetleyicileri için zengin bir kütüphaneye sahip PIC yazılım geliştirme programıdır. MikroC, Mikroelektronika  isimli bir Yugoslav firmasının üretmiş olduğu C tabanlı bir derleyicidir. Temelinde C programlama dilini barındırdığı için, C programlama dilini bilenler kolaylıkla MikroC üzerinde uygulamalar geliştirilebilir. Bu derleyici Microchip firmasının PIC ailesinden ürünler olan 12 , 16 ve 18 serisi mikrodenetleyiciler için destek vermektedir.

Mikroelektronika’nın sayfasından 2KB sınırlı ücretsiz olarak sunulan MikroC derleyicisini buradan bulabilirsiniz veya MicroC Pro 5.61+CRACK sürümünü buradan indirebilirsiniz.

MikroC programının kütüphanesi oldukça geniştir. İletişim; (SPI, USB, Ethernet, PS/2 …) grafik; (LCD, TFT, Dokunmatik Panel …) depolama; (MMC, FAT16, EEPROM, …) gibi kütüphanelerinin yanı sıra Buton, Keypad, Ses, PWM, ADC ve daha birçok kütüphanesi mevcuttur.

Şimdi MicroC Pro ile proje oluşturalım:

İlk önce programı MicroC Pro buradan indirin ve kuralım. Sonra programı açalım ve sırasıyla:

  1. New>>New Project

Adsız

2. Next tıkla

a

3. Ayarları yapıcaz ve Next tıkla

b

4. ve 5. adımlar var olan .C dosyasını ekleme adımları. Biz yazılımı kendimiz yapacağımız için Next diyerek bu adımları geçiyoruz.

6. Finish diyoruz ve programı yazmaya başlıyoruz.

c

PROGRAM KODLARI:

   void kurulum()
{
TRISB=0;                      /* PortB’yi çıkış olarak ayarladık*/
PORTB=0;                     /* PortB’nin tüm pinlerini sıfır yaptık*/
}

void main ()
{
kurulum();
while (1)
{

/*Burada B portunun 0-7 pinlerini bir yapıyoruz. Yani Led’leri ON yapıyoruz*/
PORTB.B0=1;                       /* B portunun 0.pinini 1 yaptık. */
PORTB.B1=1;                  /*NOT: 1, 0x01, 0x0001 bunların hepsi aynı anlama gelir*/
PORTB.B2=1;                /* B portunun 2.pinini 1 yaptık.*/
PORTB.B3=1;
PORTB.B4=1;
PORTB.B5=1;
PORTB.B6=1;
PORTB.B7=1;                 /* PB7’ni 1 yaptık. Yani Led’i ON yaptık*/
delay_ms(100);               /* 100 ms gecikme*/

/*Burada ise B portunun 0-7 pinlerini sıfır yapıyoruz. Yani Led’leri OFF yapıyoruz*/
PORTB.B0=0;                       /* burada ise PB0’ı sıfır yaptık*/
PORTB.B1=0x00;             /*PB1’i 0 yaptık. 0x00, 0x0000 ve 0 aynı*/
PORTB.B2=0;
PORTB.B3=0;
PORTB.B4=0x0000;                 /* PB4 sıfır, Led’i OFF yaptık*/
PORTB.B5=0;
PORTB.B6=0;
PORTB.B7=0;
delay_ms(100);
}
}

PROTEUS ÇİZİMİ:

d

BOARD ÜZERİNDE YAPIMI:

2016-03-23 11.48.28

VİDEO LİNK: PIC16F628A LED ON/OFF

 PROTEUS+MikroC+HEX DOSYALARI

Ben bu uygulamada dahili osilatör kullandım. Dikkat etmemiz gereken; dahili osilatör kullandığımızda hex dosyasını oluşturmadan önce ayar yapmamız gerekiyor:

Project>>Edit Project tıklıyoruz ve “INTOSC oscillator:CLKOUT..” seçiyoruz.

e

En son hex dosyasını oluşturuyoruz ve PIC programlayıcı ile PIC16F628A ya oluşturulan .hex dosyamızı atıyoruz.

Bu yazımı burada tamamlıyorum. Gelecek yazımda yürüyenışık uygulamasını göstericeğim. Görüşmek üzere HOŞÇAKALIN…