19 Nisan 2026, 13:00 tarihinde eklendi

Raspberry Pi Pico ile PWM Uygulaması

Raspberry Pi Pico ile PWM Uygulaması

Bu uygulamada Raspberry Pi Pico'nun GP16 nolu pinine bağlı harici LED ile PWM uygulaması yapılmıştır. Programlama dili olarak MicroPython, editör olarak Thonny 4.1.6 kullanılmıştır. Kod açıklamaları açıklama (yorum) satırı olarak verilmiştir.

Thonny yazılımında "Çalıştır" menüsünden "Configure interpreter..." seçeneği çalıştırılarak açılan pencerenin "Yorumlayıcı" sekmesinden MicroPython (Raspberry Pi Pico) ve port olarak "" seçeneği seçilmelidir.

Thonny Python IDE for beginners, https://thonny.org sitesinden ücretsiz olarak indirilebilir. Alternatif editör olarak uPyCraft kullanılabilir.

Bir LED diyotun parlaklığı, içinden geçen akım miktarını kontrol ederek belirlenir. Ancak bu, daha fazla donanım bileşeni gerektirir. Daha basit bir yöntem, LED'i gözün fark edemeyeceği kadar hızlı bir şekilde yakıp söndürmektir. LED diyotun açık ve kapalı olduğu süreleri kontrol ederek algılanan parlaklığı değiştirilebilir. Bu tekniğe PWM (Darbe Genişlik Modülasyonu) denir (Görsel 1).

Raspberry Pi Pico'da PWM çözünürlüğü 16 bittir.  Bu değer, 216 = 65536 farklı seviye sağlar. Değişim 0 - 65535 arasında olur.

 

Görsel 1: Darbe Genişliği Modülasyonu (PWM)

Uygulamaya Ait Şema, Bağlantı Şekli ve Görseller

Görsel 2: LED diyot pin yapısı

Görsel 3: Raspberry Pi Pico ile harici LED kontrolü uygulaması devre şeması

Malzeme Listesi

Sıra No

Adı

Özelliği

Miktarı

1

Raspberry Pi Pico

-

1 Adet

2

LED diyot

5 mm

1 Adet

3

Direnç

220R / ¼ W

1 Adet

4

Jumper kablo

Erkek-erkek

-

 

Uygulamaya Ait Kod

"""
    Uygulama Adı  : RPI Pico ile PWM LED uygulaması
    Açıklama         : PWM tekniği
    Tarih               : 05 Nisan 2026
    Yazan              : İlhan DEMİR
"""

from machine import Pin, PWM
#machine modülü Pin ve PWM class (sınıf) tanımla.
from utime import sleep
#utime modülü sleep class (sınıf) tanımla.
from time import sleep_us
#time modülü sleep_us class (sınıf) tanımla.

pwm = PWM(Pin(16))
#16 nolu pin için PWM sınıfından pwm nesnesi oluşturuldu.
pwm.freq(1000)
#pwm frekansı 1000 Hz (1kHz) ayarlandı.

for parlaklik in range(65535):
    pwm.duty_u16(parlaklik)
    #PWM sinyalinin çözünürlüğü (duty cycle) 16 bit
    #u16 işaretsiz 16 bit
    #sleep(0.0001)    #0,1 msn=100usn bekle.
    sleep_us(100)
    #100 usn (donanım seviyesinde daha kararlı sonuç verir).

pwm.duty_u16(0)
#İşlem bittiğinde LED'i kapat.

 

"""
    Uygulama Adı  : RPI Pico ile PWM LED uygulaması
    Açıklama         : PWM tekniği
    Tarih               : 19 Nisan 2026
    Yazan             : İlhan DEMİR
"""

from machine import Pin, PWM
#machine modülü Pin ve PWM class (sınıf) tanımla.
from utime import sleep
#utime modülü sleep class (sınıf) tanımla.

pwm = PWM(Pin(16))
#16 nolu pin için PWM sınıfından pwm nesnesi oluşturuldu
pwm.freq(1000)
#pwm frekansı 1000 Hz (1kHz) ayarlandı.

for parlaklik in range(0,65535,100):
    #Döngü başlangıç ve bitiş değerleri 0 ile 65535, artış miktarı 100
    pwm.duty_u16(parlaklik)
    #PWM sinyalinin çözünürlüğü (duty cycle) 16 bit
    #u16 işaretsiz 16 bit
    sleep(0.01)    #0,01 sn=10 msn bekle

pwm.duty_u16(0)
#İşlem bittiğinde LED'i kapat.

 

"""
    Uygulama Adı  : RPI Pico ile PWM LED uygulaması
    Açıklama         : PWM tekniği
    Tarih               : 19 Nisan 2026
    Yazan              : İlhan DEMİR
"""

from machine import Pin, PWM
#machine modülü Pin ve PWM class (sınıf) tanımla.
from utime import sleep
#utime modülü sleep class (sınıf) tanımla.

pwm = PWM(Pin(25))
#16 nolu pin için PWM sınıfından pwm nesnesi oluşturuldu
pwm.freq(1000)
#pwm frekansı 1000 Hz (1kHz) ayarlandı.

while True:    #Sonsuz döngü
    for parlaklik in range(0,65535,100):
        #Döngü başlangıç ve bitiş değerleri 0 ile 65535, artış miktarı 100
        pwm.duty_u16(parlaklik)
        #PWM sinyalinin çözünürlüğü (duty cycle) 16 bit
        #u16 işaretsiz 16 bit
        sleep(0.01)    #0,01 sn=10 msn bekle

Bu internet sitesi içeriğinde yer alan tüm eserler (yazı, resim, görüntü, fotoğraf, video, müzik vb.) İlhan DEMİR'e ait olup, 5846 sayılı Fikir ve Sanat Eserleri Kanunu ve 5237 sayılı Türk Ceza Kanunu kapsamında korunmaktadır. Bu hakları ihlal eden kişiler, 5846 sayılı Fikir ve Sanat eserleri Kanunu ve 5237 sayılı Türk Ceza Kanununda yer alan hukuki ve cezai yaptırımlara tabi olurlar. İlhan DEMİR, yasal işlem başlatma hakkına sahiptir.

BİR CEVAP YAZ

E-posta hesabınız yayımlanmayacak. Doldurulması zorunlu alanlar işaretlendi *