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 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.
| Özellik | Raspberry Pi Pico | Arduino Uno R3 | Raspberry Pi 4 / 5 |
|---|---|---|---|
| Tür | Mikrodenetleyici kartı | Mikrodenetleyici kartı | Tek kartlı bilgisayar |
| İşletim sistemi | Yok | Yok | Linux |
| Programlama dili | MicroPython, C/C++, Arduino | C/C++ (Arduino) | Python ve neredeyse her dil |
| Açılış süresi | Anında | Anında | 20–30 saniye |
| Güç tüketimi | Yaklaşık 25 mA | Yaklaşık 45 mA | Birkaç watt |
| Tipik kullanım | Sensör, LED, motor, zamanlama | Sensör, LED, motor | Kamera, sunucu, masaüstü bilgisayar |
Teknik özellikler: Pico, Pico W ve Pico 2
| Özellik | Pico | Pico W | Pico 2 |
|---|---|---|---|
| Yonga | RP2040, çift çekirdek Cortex-M0+, 133 MHz | RP2040, çift çekirdek Cortex-M0+, 133 MHz | RP2350, çift çekirdek Cortex-M33, 150 MHz |
| RAM | 264 KB | 264 KB | 520 KB |
| Flaş bellek | 2 MB | 2 MB | 4 MB |
| Kablosuz | Yok | Wi-Fi (2,4 GHz) + Bluetooth | Yok (Pico 2 W'de var) |
| Kullanılabilir GPIO | 26 | 26 | 26 |
| Analog giriş (ADC) | 3 kanal, 12 bit | 3 kanal, 12 bit | 3 kanal, 12 bit |
| Çalışma gerilimi | 3,3 V | 3,3 V | 3,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:
| Pin | Görevi |
|---|---|
| VBUS | USB'den gelen 5 V |
| VSYS | Harici besleme girişi (1,8–5,5 V) |
| 3V3(OUT) | Sensörler için 3,3 V çıkış (en fazla yaklaşık 300 mA) |
| GND | Toprak (kartta 8 adet bulunur) |
| GP0–GP22 | Dijital giriş/çıkış, PWM, I2C, SPI, UART |
| GP26–GP28 | Yukarıdakilere ek olarak analog giriş (ADC0–ADC2) |
| RUN | GND'ye bağlanınca kartı yeniden başlatır |
MicroPython kurulumu (Thonny ile)
- Thonny programını thonny.org adresinden indirip kur.
- 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.
- 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.
- 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.
- 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
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:
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 pressedPWM 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.
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:
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 kaynak | Arduino Uno |
| Wi-Fi, Bluetooth, internet, telefonla kontrol | ESP32 ya da Pico W |
| Python ile programlama öğrenmek | Raspberry Pi Pico |
| Çok düşük fiyat, hassas zamanlama (PIO) | Raspberry Pi Pico |
| Kamera ve ses projeleri | ESP32-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.
Bu yazıdan sonra yapabileceğin projeler
Tüm projeleri gör
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

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

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

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

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ç

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,

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ü*

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
Diğer yazılar
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.

