Temeller · 4 dk okuma

Raspberry Pi Pico Nedir? MicroPython Kurulumu, Pinleri ve İlk Projeler

Raspberry Pi Pico nedir, Raspberry Pi'den ve Arduino'dan farkı ne? RP2040 özellikleri, Pico W ve Pico 2, pin yapısı, Thonny ile MicroPython kurulumu, ilk LED, buton, PWM ve analog okuma kodları.

Raspberry Pi Pico, Raspberry Pi Vakfı'nın kendi tasarladığı RP2040 yongasıyla çalışan, avuç içi büyüklüğünde ve çok ucuz bir mikrodenetleyici kartıdır. En büyük özelliği MicroPython ile, yani Python diliyle programlanabilmesidir: kodunu yazıp çalıştırırsın, derleme beklemeden sonucu hemen görürsün. Bu yüzden Python öğrenen öğrenciler ve elektroniğe yeni başlayanlar için harika bir kapıdır. İstersen C/C++ ya da Arduino IDE ile de programlayabilirsin.

Raspberry Pi Pico mikrodenetleyici kartı
Raspberry Pi Pico: ortadaki kare yonga RP2040; bir ucunda micro USB girişi ve BOOTSEL düğmesi, iki kenarında 20'şer pin bulunur.

Raspberry Pi Pico nedir? Raspberry Pi'den farkı

Adı benzese de Pico, Raspberry Pi 4 ya da 5 gibi bir bilgisayar değildir. Üzerinde işletim sistemi, HDMI çıkışı ya da masaüstü yoktur; Arduino gibi tek bir programı çalıştıran bir mikrodenetleyici kartıdır. Elektriği verdiğin anda programın çalışmaya başlar, çok az enerji harcar ve sensör okumak, LED yakmak, motor sürmek gibi işleri gerçek zamanlı yapar.

ÖzellikRaspberry Pi PicoArduino Uno R3Raspberry Pi 4 / 5
TürMikrodenetleyici kartıMikrodenetleyici kartıTek kartlı bilgisayar
İşletim sistemiYokYokLinux
Programlama diliMicroPython, C/C++, ArduinoC/C++ (Arduino)Python ve neredeyse her dil
Açılış süresiAnındaAnında20–30 saniye
Güç tüketimiYaklaşık 25 mAYaklaşık 45 mABirkaç watt
Tipik kullanımSensör, LED, motor, zamanlamaSensör, LED, motorKamera, sunucu, masaüstü bilgisayar

Teknik özellikler: Pico, Pico W ve Pico 2

ÖzellikPicoPico WPico 2
YongaRP2040, çift çekirdek Cortex-M0+, 133 MHzRP2040, çift çekirdek Cortex-M0+, 133 MHzRP2350, çift çekirdek Cortex-M33, 150 MHz
RAM264 KB264 KB520 KB
Flaş bellek2 MB2 MB4 MB
KablosuzYokWi-Fi (2,4 GHz) + BluetoothYok (Pico 2 W'de var)
Kullanılabilir GPIO262626
Analog giriş (ADC)3 kanal, 12 bit3 kanal, 12 bit3 kanal, 12 bit
Çalışma gerilimi3,3 V3,3 V3,3 V

Pico pinleri

Pico'nun iki kenarında toplam 40 pin vardır. GP0'dan GP28'e kadar uzanan 26 GPIO pininin her biri PWM verebilir; I2C, SPI ve UART haberleşmeleri ise birden fazla alternatif pinde kullanılabilir. Analog giriş yalnızca GP26, GP27 ve GP28 pinlerindedir. Kartın tam pin haritasını Pinout aracında görebilirsin; önemli güç ve özel pinler şunlardır:

PinGörevi
VBUSUSB'den gelen 5 V
VSYSHarici besleme girişi (1,8–5,5 V)
3V3(OUT)Sensörler için 3,3 V çıkış (en fazla yaklaşık 300 mA)
GNDToprak (kartta 8 adet bulunur)
GP0–GP22Dijital giriş/çıkış, PWM, I2C, SPI, UART
GP26–GP28Yukarıdakilere ek olarak analog giriş (ADC0–ADC2)
RUNGND'ye bağlanınca kartı yeniden başlatır
Pico'nun pinleri 3,3 V ile çalışır ve 5 V'a dayanıklı değildir. 5 V çıkış veren sensörleri doğrudan bağlama, araya bir Gerilim bölücü koy. Pinler varsayılan olarak 4 mA, en fazla 12 mA akım verebilir; LED için 220–330 Ω direnç yeterlidir, motor ve röle gibi yükleri ise mutlaka bir transistörle sür.

MicroPython kurulumu (Thonny ile)

  1. Thonny programını thonny.org adresinden indirip kur.
  2. Pico'nun üzerindeki BOOTSEL düğmesine basılı tutarak USB kablosunu bilgisayara tak; Pico bilgisayarda RPI-RP2 (Pico 2'de RP2350) adlı bir disk olarak görünür.
  3. Thonny'nin sağ alt köşesindeki yorumlayıcı menüsünden MicroPython (Raspberry Pi Pico) seç, ardından "Install or update MicroPython" ile kartına uygun sürümü (Pico, Pico W ya da Pico 2) yükle. İstersen micropython.org'dan .uf2 dosyasını indirip diske sürükleyerek de kurabilirsin.
  4. Kurulum bitince Pico yeniden başlar. Thonny'nin alt kısmındaki Shell bölümünde >>> işaretini görüyorsan hazırsın.
  5. Kodunu Pico'ya main.py adıyla kaydedersen kart her açıldığında, bilgisayara bağlı olmasa da otomatik olarak çalışır.

İlk program: dahili LED'i yakıp söndürmek

MicroPython
1from machine import Pin
2import time
3
4led = Pin(25, Pin.OUT)      # Pico'da dahili LED; Pico W ve Pico 2 W'de Pin("LED") yaz
5                            # onboard LED on Pico; use Pin("LED") on Pico W / Pico 2 W
6
7while True:
8    led.toggle()            # durumu tersine çevir / flip the state
9    time.sleep(0.5)

Buton ile LED kontrolü

GP15'e 220 Ω'luk bir dirençle bir LED, GP14'e de bir buton bağla. Butonun diğer ucu GND'ye gider ve Pico'nun dahili pull-up direnci açılır; böylece buton serbestken 1, basılıyken 0 okunur:

MicroPython
1from machine import Pin
2
3led = Pin(15, Pin.OUT)
4button = Pin(14, Pin.IN, Pin.PULL_UP)   # butonun diğer ucu GND'de / other leg to GND
5
6while True:
7    led.value(not button.value())        # basılıyken yanar / on while pressed
Pico 2'deki RP2350 yongasında dahili pull-down dirençleriyle ilgili bilinen bir sorun (E9) vardır: pin bazen HIGH konumunda takılı kalabilir. Butonu GND'ye bağlayıp PULL_UP kullanmak hem Pico hem Pico 2'de en güvenli yoldur. Buton bağlantısının ayrıntıları için Arduino'ya Buton Nasıl Bağlanır? yazısına bakabilirsin; mantık aynıdır.

PWM ile LED parlaklığı

Pico'nun her GPIO pini PWM verebilir. MicroPython'da duty değeri 0–65535 arasındadır. Aşağıdaki kod LED'i yavaşça yakar ve tekrar baştan başlar; PWM'in mantığını PWM Nedir? yazısında ayrıntılı bulabilirsin.

MicroPython
1from machine import Pin, PWM
2import time
3
4led = PWM(Pin(15), freq=1000)
5
6while True:
7    for d in range(0, 65536, 1024):   # yavaşça yan / fade in
8        led.duty_u16(d)
9        time.sleep_ms(10)

Analog okuma ve dahili sıcaklık sensörü

Bir potansiyometrenin orta ucunu GP26'ya, kenar uçlarını 3V3 ve GND'ye bağla. read_u16() 0–65535 arası bir değer döndürür. Pico'nun içinde ayrıca ADC'nin 4. kanalına bağlı bir sıcaklık sensörü vardır; kaba bir ölçüm verse de ek parça olmadan sıcaklık okumak için eğlencelidir:

MicroPython
1from machine import ADC
2import time
3
4pot = ADC(26)                    # GP26 (ADC0) / potansiyometre orta ucu / pot wiper
5sensor = ADC(4)                  # dahili sıcaklık sensörü / internal temperature sensor
6
7while True:
8    value = pot.read_u16()                       # 0–65535
9    volts = sensor.read_u16() * 3.3 / 65535
10    temp = 27 - (volts - 0.706) / 0.001721       # °C (yaklaşık / approximate)
11    print(value, round(temp, 1))
12    time.sleep(1)

Pico'yu Arduino IDE ile programlamak

C++ ve Arduino kütüphanelerini tercih ediyorsan Pico'yu Arduino IDE ile de kullanabilirsin. Dosya > Tercihler'deki ek kart URL'leri alanına https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json adresini ekle ve Kart Yöneticisi'nden Earle Philhower'ın Raspberry Pi Pico/RP2040/RP2350 paketini kur. İlk yüklemede BOOTSEL düğmesine basılı tutarak kartı bağla; sonrasında yükleme normal şekilde yapılır. LED_BUILTIN ile Blink örneği ve Arduino kütüphanelerinin çoğu sorunsuz çalışır.

Pico mu, ESP32 mi, Arduino mu?

İhtiyacınÖnerilen kart
İlk proje, 5 V sensörler, en çok örnek ve kaynakArduino Uno
Wi-Fi, Bluetooth, internet, telefonla kontrolESP32 ya da Pico W
Python ile programlama öğrenmekRaspberry Pi Pico
Çok düşük fiyat, hassas zamanlama (PIO)Raspberry Pi Pico
Kamera ve ses projeleriESP32-S3 ya da ESP32-CAM

Kablosuz bağlantı gerektiren projelerde ESP32'yi tanımak için ESP32 Nedir? yazısına göz at. Pico'ya özgü bir güç de PIO (programlanabilir giriş/çıkış) birimleridir: WS2812B LED şeritleri ya da özel haberleşme protokolleri gibi zamanlaması hassas işleri işlemciyi yormadan yapar.

Raspberry Pi Pico ile proje fikirleri

  • Trafik lambası: Üç LED ile sıralı yanan bir trafik ışığı.
  • Karaşimşek (Knight Rider): Altı LED'de ileri geri giden bir ışık efekti.
  • Buton ve kesme (IRQ): Butona basışı ana döngüyü beklemeden yakalayan bir kod.
  • RGB renk çevrimi: Üç PWM kanalıyla RGB LED'de gökkuşağı efekti.
  • Pico W web sunucusu: Telefondan açılan bir sayfayla LED ya da röle kontrolü.
  • Mini termometre: Dahili sıcaklık sensörünü OLED ekranda göster.

Sık yapılan hatalar ve çözümleri

  • RPI-RP2 diski görünmüyor: BOOTSEL düğmesine basılı tutmadan takılmış ya da kablo yalnızca şarj kablosu; veri kablosu kullan.
  • Thonny kartı bulamıyor: Yorumlayıcı yanlış seçilmiş ya da kartta MicroPython yüklü değil.
  • Pico W'de LED yanmıyor: Pico W'de dahili LED kablosuz yongaya bağlıdır; Pin(25) yerine Pin("LED") kullan.
  • 5 V sinyal bağlamak: GPIO'lar 3,3 V'tur; 5 V sinyaller pini bozabilir.
  • Kod bilgisayardan ayırınca çalışmıyor: Kod main.py adıyla Pico'ya kaydedilmemiş.
  • VSYS'e fazla gerilim vermek: VSYS en fazla 5,5 V kabul eder; 9 V ya da 12 V'luk adaptörü doğrudan bağlama.

Raspberry Pi Pico, düşük fiyatı ve Python desteğiyle kodlamayı elektronikle buluşturmanın en kolay yollarından biridir. LED'lerin temellerini LED Nedir? yazısında bulabilirsin; BlueGrays uygulamasında Pico ile LED yakma, trafik lambası, karaşimşek, buton kesmesi, PWM nefes efekti ve RGB renk çevrimi projelerini devre şemaları ve MicroPython kodlarıyla adım adım bulabilirsin.

Sıkça sorulan sorular

Raspberry Pi Pico bir Raspberry Pi bilgisayar mı?

Hayır. Pico, Raspberry Pi Vakfı'nın ürettiği bir mikrodenetleyici kartıdır; işletim sistemi, ekran çıkışı ya da masaüstü yoktur. Arduino gibi tek bir programı çalıştırır. Raspberry Pi 4 ve 5 ise Linux çalıştıran tam bir bilgisayardır.

Raspberry Pi Pico hangi dille programlanır?

En yaygın yol MicroPython'dur; Thonny ile kolayca kurulur ve Python bilenler hemen başlayabilir. Bunun yanında resmi C/C++ SDK'sı ve Arduino IDE (Earle Philhower'ın paketiyle) de kullanılabilir. CircuitPython da desteklenir.

Pico ile Pico W arasındaki fark nedir?

Pico W, Pico'ya 2,4 GHz Wi-Fi ve Bluetooth ekleyen bir kablosuz yonga içerir; geri kalan özellikler aynıdır. Pico W'de dahili LED bu yongaya bağlı olduğu için kodda Pin(25) yerine Pin("LED") kullanılır.

Raspberry Pi Pico 5 V ile çalışır mı?

Kart USB'den gelen 5 V ile ya da VSYS pinine verilen 1,8–5,5 V ile beslenebilir. Ancak GPIO pinleri 3,3 V ile çalışır ve 5 V'a dayanıklı değildir; 5 V sinyalleri doğrudan pinlere bağlamamalısın.

Pico'da kaç analog giriş var?

Kullanıcıya açık üç analog giriş vardır: GP26 (ADC0), GP27 (ADC1) ve GP28 (ADC2). Ayrıca ADC'nin 4. kanalı yonganın içindeki sıcaklık sensörüne bağlıdır. MicroPython'da read_u16() 0–65535 arası değer döndürür.

Raspberry Pi Pico'yu Arduino IDE ile programlayabilir miyim?

Evet. Earle Philhower'ın Raspberry Pi Pico/RP2040/RP2350 kart paketini Arduino IDE'ye kurduğunda Pico'yu Arduino komutlarıyla programlayabilir ve Arduino kütüphanelerinin çoğunu kullanabilirsin. İlk yükleme için BOOTSEL düğmesine basılı tutarak kartı bağlaman gerekir.

Tüm projeleri gör
Raspberry Pi Pico Dahili LED Yakma (GP25 Onboard LED)
#147Başlangıç

Raspberry Pi Pico Dahili LED Yakma (GP25 Onboard LED)

Raspberry Pi Pico serisinin açılış projesi! Pico'nun üzerindeki dahili LED'i (GP25 pinine bağlı yeşil LED) yakıp söndürerek kartın çalıştığını doğruluyoruz — klasik "Hello World" tarzı ilk deney. Harici bileşene ihtiyaç YOK, sadece Pico ve USB kablosu yeterli. Kod **MicroPython** ile yazıldı (Raspberry Pi Vakfı'nın resmi olarak desteklediği dil). Thonny IDE ile Pico'yu programlarken `machine.Pin` sınıfı, `Pin.OUT` mode, `led.on()/off()` metodları ve `time.sleep()` fonksiyonlarını kavrarsın. Seri

5.0(1)
9
Raspberry Pi Pico Harici LED Yakma (GP14 + Breadboard)
#148Başlangıç

Raspberry Pi Pico Harici LED Yakma (GP14 + Breadboard)

Pico'nun dahili LED'inden sonraki adım: breadboard'a harici LED bağlayıp GP14 pini üzerinden kontrol etmek. Bu proje ile Pico'nun herhangi bir genel amaçlı GPIO pinini output olarak nasıl kullanacağını, LED'in polaritesini (uzun bacak = anot/+, kısa bacak = katot/–) ve neden akım sınırlama direnci (220Ω) şart olduğunu öğreniyorsun. Direnci koymazsan LED'e aşırı akım gider ve yanabilir. Devre çok basit: Pico GP14 → 220Ω direnç → LED (+) → LED (–) → Pico GND. Wokwi'de simüle edebilir, gerçek bread

4.5(2)
7
Raspberry Pi Pico Trafik Lambası (3 LED Sıralı, GP11/GP12/GP13)
#150Başlangıç

Raspberry Pi Pico Trafik Lambası (3 LED Sıralı, GP11/GP12/GP13)

Kırmızı, sarı ve yeşil LED'lerle gerçek trafik ışığı mantığını simüle ediyoruz — Pico serisinin 3 LED'e geçen ilk projesi! Yeşil 4 saniye "geç", sarı 1.5 saniye "hazırlan", kırmızı 3 saniye "dur" ve kırmızı+sarı 1 saniye "kalkış" (Avrupa trafik lambası pattern'i). Bu proje ile **fonksiyon tanımlama** (`def hepsini_sondur()`), **durum makinesi mantığı** (sequence) ve **coklu GPIO senkronizasyonu** kavramlarını öğreneceksin. Devre çok basit: GP11 (Yeşil), GP12 (Sarı), GP13 (Kırmızı) pinlerine 3 LE

4.0(1)
12
Raspberry Pi Pico Yürüyen LED / Chasing LED (6 LED, GP14 → GP9)
#153Başlangıç
Premium

Raspberry Pi Pico Yürüyen LED / Chasing LED (6 LED, GP14 → GP9)

Pico ile klasik "yürüyen LED" animasyonu — 6 LED versiyonu! 🌊 6 LED soldan sağa sırayla yanıp sönüyor, sanki ışık dizi boyunca yürüyor. Bu proje ile **Python list yapısı** (`LED_PINS = [9, 10, 11, 12, 13, 14]`), **list comprehension** (`[Pin(p, Pin.OUT) for p in LED_PINS]`), **for döngüsü ile pin kontrolü** ve **enumerate()** kavramlarını öğreneceksin. GP9-GP14 pinlerine 6 LED, her birinde 220Ω akım sınırlama direnci. Kod çok temiz: 6 LED'i tek tek tanımlamak yerine liste ile toplu tanımlıyoruz

0.0(0)
8
Raspberry Pi Pico Buton ile LED Yakma (Push, GP14 + GP2)
#155Başlangıç
Premium

Raspberry Pi Pico Buton ile LED Yakma (Push, GP14 + GP2)

Pico ile ilk **input** projesi — buton okuma! 🔘 Butona basıldıkça LED yanar, bırakıldıkça söner. Bu proje LED animasyonlarından sonraki büyük adım: **Pico'ya dünyadan sinyal girişi**. Yeni öğrenme: `Pin.IN` (input mode), `Pin.PULL_UP` (dahili pull-up direnci — buton için standart), `buton.value()` okuma. GP14 LED, GP2 buton (dahili PULL_UP). Buton basılınca sinyal LOW (0), bırakılınca HIGH (1) — bu ters mantık ilk başta kafa karıştırıcı ama endüstri standardı. Devre çok basit: LED + 220Ω direnç

0.0(0)
11
Raspberry Pi Pico Buton Debounce Karsilastirma: IRQ vs Software Polling (GP5 + GP4)
#159Orta
Premium

Raspberry Pi Pico Buton Debounce Karsilastirma: IRQ vs Software Polling (GP5 + GP4)

Butona bir kere bastığında kod 3-4 kere saydırdıysa nedeni **contact bounce** — buton metal kontakları temas anında mikrosaniyelerde defalarca aç-kapa yapar! 🔁 Bu projede aynı butonu 2 farklı yöntemle sayıp Serial'da yan yana karşılaştırıyoruz: **RAW polling** (bounce'u yakalar, hatalı sayar) vs **IRQ + software debounce** (doğru sayar). Öğrenme: **contact bounce fiziği** (metal titreşim), **software debounce** (`ticks_diff() > 50ms`), **Pin.irq()** interrupt kaydı, **IRQ_FALLING** trigger tipi,

0.0(0)
12
Raspberry Pi Pico PWM ile LED Fade (Nefes Efekti, GP14)
#160Başlangıç
Premium

Raspberry Pi Pico PWM ile LED Fade (Nefes Efekti, GP14)

LED artık sadece yanıp sönmüyor — nefes alıyor! 🌬️ Raspberry Pi Pico'nun **PWM** (Pulse Width Modulation — darbe genişlik modülasyonu) özelliğiyle LED'in parlaklığı yavaş yavaş artar, sonra yavaş yavaş azalır. Uyku modundaki MacBook ışığı gibi sakin bir "nefes" efekti. Öğrenme: **machine.PWM sınıfı** (pini PWM çıkışına çevirme), **duty_u16()** (0–65535 arası 16-bit parlaklık değeri), **PWM frekansı** (`freq(1000)` — saniyede 1000 kez aç-kapa, göz titremeyi görmez), **range() ile adım adım döngü*

0.0(0)
4
Raspberry Pi Pico RGB LED Renk Cevrimi (3 Kanal PWM, GP11-13)
#161Başlangıç
Premium

Raspberry Pi Pico RGB LED Renk Cevrimi (3 Kanal PWM, GP11-13)

Tek LED, milyonlarca renk! 🌈 RGB LED'in içinde aslında 3 ayrı LED var: **kırmızı, yeşil ve mavi**. Pico'nun 3 ayrı **PWM** kanalıyla her birinin parlaklığını ayrı ayrı ayarlayınca renkler karışır: kırmızı + yeşil = sarı, yeşil + mavi = camgöbeği, üçü birden = beyaz. Bu projede LED 8 renk arasında sırayla dönüyor. Öğrenme: **çoklu PWM kanalı** (aynı anda 3 pin), **fonksiyon tanımlama** (`def renk(...)` ile tekrar eden kodu tek yerde toplama), **RGB renk karışımı** (ekranların ve akıllı lambaların

0.0(0)
6

Raspberry Pi Pico'nun bir bilgisayar değil mikrodenetleyici olduğunu, Pico, Pico W ve Pico 2 farkını, MicroPython kurulumunu ve LED, buton, PWM ile analog okuma içeren ilk projelerini öğren.

Raspberry Pi Pico Nedir? MicroPython Kurulumu, Pinleri ve İlk Projeler | BlueGrays