Arduino Ders 12.1: PWM.h Kütüphanesi ile Değişken Frekanslı Kare Dalga Üretmek
Giriş
PWM (Pulse Width Modulation), dijital sinyallerin bir süre boyunca "AÇIK" ve "KAPALI" modları arasında değişmesini ifade eder. Bu derste, Arduino'da PWM.h kütüphanesi ile değişken frekanslı kare dalga üretmeyi öğreneceğiz.
1. PWM Kavramı Nedir?
PWM'nin iki temel parametresi vardır:
- Görev Döngüsü (Duty Cycle): PWM sinyalinin bir çevrim boyunca "AÇIK" olduğu sürenin yüzdesidir.
- Frekans: Sinyalin saniyede kaç çevrim tamamladığını belirler.
2. PWM.h Kütüphanesi Nedir?
PWM.h, Arduino platformunda PWM sinyalleri oluşturmayı kolaylaştıran bir kütüphanedir. Standart analogWrite()
fonksiyonunun aksine, PWM.h:
- Değişken frekans ayarlarını destekler.
- Çoklu PWM pinlerini bağımsız olarak kontrol eder.
- Görev döngüsü üzerinde hassas kontrol sağlar.
3. PWM.h Kütüphanesinin Yüklenmesi
- Arduino IDE'yi açın.
- Sketch > Include Library > Manage Libraries menüsüne gidin.
- Arama çubuğuna
PWM
yazın ve PWM.h kütüphanesini seçin. - Kütüphaneyi yüklemek için Install düğmesine tıklayın.
4. PWM.h ile Değişken Frekanslı Kare Dalga Üretmek
Kod Örneği
#include <PWM.h>
#define PWM_PIN 9
int frequency = 1000;
int dutyCycle = 50;
void setup() {
InitTimersSafe();
bool success = SetPinFrequencySafe(PWM_PIN, frequency);
if (success) {
Serial.begin(9600);
Serial.println("PWM başlatıldı!");
} else {
Serial.println("PWM başlatılamadı. Zamanlayıcı çakışması olabilir.");
}
pwmWrite(PWM_PIN, dutyCycle);
}
void loop() {
for (frequency = 500; frequency <= 2000; frequency += 100) {
SetPinFrequencySafe(PWM_PIN, frequency);
delay(500);
}
for (frequency = 2000; frequency >= 500; frequency -= 100) {
SetPinFrequencySafe(PWM_PIN, frequency);
delay(500);
}
}
Kodun Açıklaması
- PWM_PIN Tanımı: PWM sinyali üretmek için kullanılacak pin belirtilir.
- InitTimersSafe: PWM çıkışı için donanım zamanlayıcılarını güvenli bir şekilde başlatır.
- SetPinFrequencySafe: PWM pininin frekansını güvenli bir şekilde ayarlar.
- pwmWrite: Belirli bir görev döngüsü ile PWM sinyali üretir.
5. PWM Kullanım Alanları
- Motor Kontrolü: Hız kontrolü ve yönlendirme için PWM kullanılır.
- LED Parlaklık Ayarı: LED'in parlaklığı, görev döngüsü değiştirilerek ayarlanabilir.
- Ses Üretimi: Farklı frekanslarda ses dalgaları oluşturmak için kullanılabilir.
- Isı Kontrolü: PWM sinyalleri, ısıtıcı veya soğutucu cihazların kontrolü için kullanılabilir.
Sonuç
PWM.h kütüphanesi, Arduino üzerinde değişken frekanslı ve görev döngüsü ayarlanabilir kare dalga sinyalleri üretmek için güçlü bir araçtır. Bu kütüphane, zamanlayıcı çakışmalarını en aza indirirken, kullanıcı dostu bir arayüz sunar. PWM sinyallerini daha iyi anlamak ve kullanmak için pratik yapmayı unutmayın!
0 Yorumlar