> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/turkish/fonksiyon-bloklari/blocks-reference/input-output/data-inputs/pwm-pulse-width-modulation.md).

# PWM (Pulse Width Modulation)

Bu fonksiyon bloğu, kullanıcıların dijital sinyallerin zamanlamasını zaman aralıkları veya örnek sayıları temelinde kontrol etmek için yararlı olan yapay bir darbe genişliği modülasyon sinyali oluşturmalarına olanak tanır.

## 📥 Girdiler <a href="#inputs" id="inputs"></a>

Bu fonksiyon bloğunun herhangi bir girdi soketi yoktur.

## 📤 Çıktılar <a href="#outputs" id="outputs"></a>

`Boolean` Bu çıktı, PWM sinyalinin mevcut durumunu gösterir ve `True` ve `False` arasında geçiş yapar.

## 🕹️ Kontroller <a href="#controls" id="controls"></a>

`Interval` PWM sinyali için toplam aralık süresini ayarlayabileceğiniz etiketli bir giriş alanıdır. Bu, bir tam döngünün (yukarı ve aşağı) ne kadar süreceğini tanımlar.

`Up Duration` Sinyalin toplam aralık içinde yüksek durumda (True) kalacağı süreyi belirtmek için kullanılan etiketli bir giriş alanıdır.

`Time Mode` Zaman tabanlı sinyal verme (açık) veya örnek tabanlı sinyal verme (kapalı) arasında seçim yapmanıza olanak tanıyan bir anahtardır.

## 🎨 Özellikler <a href="#features" id="features"></a>

`Versatile Duration Options` Kullanıcılar, PWM davranışını zaman aralıkları veya örnek sayıları temelinde tanımlamak üzere seçim yapabilir, bu da çeşitli uygulamalar için esneklik sağlar.

`Real-time State Updates` Çıktı durumu, belirtilen aralıklara ve anahtar ayarlarına göre sürekli güncellenir.

## 📝 Kullanım Talimatları <a href="#usage" id="usage"></a>

1. **Set Interval**: `Interval` kontrolünü kullanarak istenen toplam aralığı girin.
2. **Set Up Duration**: `Up Duration` kontrolünü kullanarak bu aralıkta sinyalin ne kadar süre yüksek kalacağını belirtin.
3. **Toggle Mode**: Uygulama ihtiyaçlarınıza göre `Time Mode` anahtarını kullanarak zaman modu ve örnek modu arasında geçiş yapın.
4. **Evaluate**: Bloğu çalıştırdığınızda, çıktı PWM sinyalinin mevcut durumunu gösterecektir.

## 📊 Değerlendirme <a href="#evaluation" id="evaluation"></a>

Çalıştırıldığında, bu fonksiyon bloğu toplam süre ve yukarı süre için ayarlanan parametrelere dayalı olarak dalgalanan bir boolean sinyali çıkarır ve bir PWM sinyali simüle eder.

## 💡 İpuçları ve Püf Noktaları <a href="#tips-and-tricks" id="tips-and-tricks"></a>

<details>

<summary>Sinyal Frekansını Ayarlama</summary>

PWM sinyalinin frekansını ayarlamak için `Interval` değerini değiştirin; bu, sinyalin durumlar arasında ne kadar hızlı geçiş yapacağını doğrudan etkiler.

</details>

<details>

<summary>Örnek Sayısını Kullanarak Tutarlılık Sağlama</summary>

Kontrollü bir ortamda tekrarlı ve tutarlı bir davranış gerekiyorsa, örnek modunu seçin ve öngörülebilir zamanlama sağlamak için sabit örnek sayıları kullanın.

</details>

<details>

<summary>Durum Değişimlerini İzleme</summary>

Bu fonksiyon bloğunun çıktısını herhangi bir görselleştirme aracı ile bağlayarak PWM çıktısının durumunun zaman veya örnekler üzerinden nasıl değiştiğini izleyin.

</details>

## 🛠️ Sorun Giderme <a href="#troubleshooting" id="troubleshooting"></a>

<details>

<summary>Çıktı Gözlemlenmedi</summary>

`Interval` ve `Up Duration` alanlarının doğru ayarlandığından emin olun. Eğer `Up Duration` `Interval` ile eşit veya daha uzunsa, çıktı yüksek kalabilir.

</details>

<details>

<summary>Zaman Modunda Beklenmeyen Davranış</summary>

`Time Mode` anahtarının doğru ayarlandığından emin olun. Eğer etkinleştirilmişse fakat çıktı davranışı düzensizse, sistem saatinin doğru çalışıp çalışmadığını kontrol edin.

</details>

<details>

<summary>Örnek Modunda Hata</summary>

`Interval` değerinizin 1'in altında ayarlanmamış olduğundan emin olun, çünkü bu durum örnek modundaki bölünebilirlik hatalarına veya kararsız çalışmaya neden olabilir. Buna göre ayarlamalar yapın.

</details>
