PWM Sinyalleri Anlamak: Teori ve Arduino Uygulaması

PWM (Pulse Width Modulation), dijital bir pin üzerinden analog gibi kontrol sağlayan bir tekniktir. Pinin hızla açılıp kapanmasıyla (on-off), ortalama voltajı değiştirirsin. LED'in parlaklığından motor hızına kadar pek çok uygulamada kullanılır.

PWM'de iki önemli kavram vardır:

Frekans (Frequency): Pinin kaç kez açılıp kapandığı (Hz cinsinden). Arduino'da genellikle 490 Hz veya 980 Hz'dir.

Duty Cycle (Görev Oranı): Pinin açık olduğu sürenin, toplam periyoda oranı. 0-255 arasında (0-100%) gösterilir.

Formül:

1Ortalama Voltaj = (Duty Cycle / 255) × 5V

Örneğin duty cycle 128 ise: (128/255) × 5V ≈ 2.5V çıkışı elde edersin.

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası

Arduino Uno'da PWM destekleyen pinler: 3, 5, 6, 9, 10, 11 (tilde ~ işareti ile işaretlenmiş).

1int ledPin = 9; // PWM destekleyen pin
2int brightness = 0;
3
4void setup() {
5pinMode(ledPin, OUTPUT);
6}
7
8void loop() {
9// Parlaklığı 0'dan 255'e artır
10for (brightness = 0; brightness <= 255; brightness++) {
11analogWrite(ledPin, brightness);
12delay(10);
13}
14
15// Parlaklığı 255'ten 0'a azalt
16for (brightness = 255; brightness >= 0; brightness--) {
17analogWrite(ledPin, brightness);
18delay(10);
19}
20}

Beklenen Çıktı: LED yumuşak bir şekilde parlanıp söner, hiçbir titreme yoktur.

1. LED'in pozitif bacağını pin 9'a, negatif bacağını GND'ye bağla (dirençle korumalı).
2. Kodu yükle.
3. LED'i gözlemle, parlaklık kademesiz geçiş yapacak.

`analogWrite()` fonksiyonu PWM'yi kontrol eder. 0 tamamen kapalı, 255 tamamen açık anlamına gelir.

Motor kontrol, LED dimming veya buzzer ses ayarında PWM kullanılır. Frekans arttıkça daha pürüzsüz kontrol elde edersin, ancak güç tüketimi artar. Başlangıçta varsayılan frekans yeterlidir.

Reklam · TEST
AdSense Test ReklamıGönderi altı · Görüntülü
konu hakkında tepkinizi verebilirsiniz