İlk proje için ESP32 mi Raspberry Pi Pico mu? sorusunun tek bir cevabı yoktur; doğru seçim, projenin karttan ne beklediğine bağlıdır. Kablosuz bağlantı, uzaktan erişim veya bir IoT servisiyle iletişim öncelikliyse ESP32 ailesi daha doğal bir başlangıç olabilir. Yalnızca sensör, LED, motor ya da ekran kontrolü gibi doğrudan donanım işlemleri yapılacaksa Raspberry Pi Pico ailesi daha sade bir öğrenme yolu sunabilir.
Karar vermek için üç eksene bakmak yeterlidir: kablosuz bağlantı ihtiyacı, güç tüketimi ve taşınabilirlik, gömülü C/C++ öğrenme hedefi. Bu üç soruya vereceğiniz cevap, kart adından daha önemlidir. Raspberry Pi’nin Pico ailesi belgelerinde kablosuz olmayan ve Wi-Fi/Bluetooth özellikleri taşıyan varyantlar ayrı şekilde ele alınır; bu nedenle “Pico” ifadesini kullanırken modelin kablosuz olup olmadığını ayrıca kontrol etmek gerekir. Raspberry Pi Pico-serisi resmî belgeleri bu ayrımı model bazında incelemek için kullanılabilir.
İlk proje için ESP32 mi Raspberry Pi Pico mu seçilmeli?
İlk projeniz odadaki sıcaklığı ölçüp telefona gönderecek, bir web servisine veri aktaracak veya uzaktan açılıp kapanacaksa ESP32 tarafına bakın. ESP32 ailesindeki yaygın geliştirme kartları Wi-Fi ve Bluetooth/BLE gibi kablosuz iletişim yetenekleriyle IoT senaryolarında harici bir kablosuz modül ihtiyacını azaltabilir. Buradaki önemli nokta, “ESP32” adının tek bir kartı değil, farklı işlemci, kablosuz bağlantı ve çevre birimi seçeneklerine sahip geniş bir aileyi ifade etmesidir.
Projeniz bir düğmeye basıldığında LED yakmak, analog bir sensörden değer okumak, servo motor sürmek, küçük bir ekranı kontrol etmek veya bir devre üzerinde zamanlama mantığını öğrenmekle sınırlıysa Raspberry Pi Pico daha doğrudan bir seçenek olabilir. Kablosuz haberleşme gerekmeyen bu tür çalışmalarda, bağlantı yapılandırmasıyla uğraşmadan GPIO, PWM, ADC, UART, I2C veya SPI gibi temel donanım kavramlarına odaklanabilirsiniz.
Ancak Raspberry Pi Pico tarafında da aile ayrımı vardır. Temel Pico ve Pico 2 kartları kablosuz olmayan seçeneklerdir; Pico W, Pico WH ve Pico 2 W gibi modeller ise karta entegre kablosuz iletişim donanımı sunar. Bu nedenle karşılaştırmayı “ESP32 mi Pico mu?” biçiminde değil, “İhtiyacım olan kablosuz ve donanım özelliklerini hangi model karşılıyor?” biçiminde yapmak daha doğrudur.
Üç eksenli karar çerçevesi
- Kablosuz bağlantı ihtiyacını belirleyin. Wi-Fi, Bluetooth veya BLE ile telefon, bilgisayar, yerel ağ ya da çevrim içi bir servisle iletişim kurulacaksa kablosuz özellikleri kart üzerinde yerleşik olan bir ESP32 veya Pico’nun kablosuz varyantı değerlendirilmelidir. Hiçbir kablosuz iletişim gerekmiyorsa temel Raspberry Pi Pico modelleri de yeterli olabilir.
- Güç tüketimi ve taşınabilirliği değerlendirin. Pil ile çalışan bir sensör, giyilebilir prototip veya sahada uzun süre çalışacak bir cihaz tasarlıyorsanız yalnızca işlemciye bakmayın. Kablosuz radyo ne zaman aktif olacak, kart hangi uyku modlarını destekliyor, sensörler sürekli mi çalışacak ve kullandığınız geliştirme kartı regülatörü ne kadar ek tüketim oluşturuyor gibi soruları inceleyin. Gerçek tüketim, seçilen modül, firmware, çevre birimleri ve çalışma senaryosuna göre değişebilir.
- Gömülü C/C++ hedefinizi netleştirin. Amacınız hızlıca çalışan bir prototip oluşturmaksa MicroPython başlangıçta daha kısa bir yol sunabilir. Donanım sürücülerini, derleme sürecini, bellek kullanımını, kesmeleri ve zamanlamayı daha yakından öğrenmek istiyorsanız C/C++ tabanlı geliştirme süreci daha öğretici olabilir.
Bu çerçevede basit bir kural kullanılabilir: iletişim ağırlıklı proje ESP32’ye, kablosuz bağlantı gerektirmeyen doğrudan donanım projesi ise temel Pico’ya yaklaşır. Fakat güç tüketimi veya gömülü C/C++ öğrenme hedefi ağır basıyorsa ilk izleniminizi değiştirebilirsiniz. Yazının devamındaki donanım, programlama yaklaşımı ve proje senaryosu karşılaştırmaları sonunda kendi projeniz için bilinçli bir seçim yapabilirsiniz.
Donanım özellikleri proje kararını nasıl değiştirir?

Bir geliştirme kartını seçerken yalnızca işlemci hızına veya GPIO sayısına bakmak yanıltıcıdır. ESP32 ailesinde model ve geliştirme kartına göre işlemci mimarisi, flash bellek, PSRAM, analog özellikler, kablosuz standartlar ve kullanılabilir pinler değişebilir. Raspberry Pi Pico tarafında da RP2040 tabanlı Pico/Pico W ile RP2350 tabanlı Pico 2/Pico 2 W arasında aile ve nesil farkı bulunur. Raspberry Pi’nin teknik belgeleri Pico 2 ailesinde GPIO, ADC, PWM, SPI, I2C, UART ve PIO gibi çevre birimlerini ayrı başlıklarla açıklar.
| Karar ölçütü | ESP32 tarafında kontrol edilecek özellik | Raspberry Pi Pico tarafında kontrol edilecek özellik | Başlangıç projesine etkisi |
|---|---|---|---|
| Kablosuz iletişim | Seçilen ESP32 modelinde Wi-Fi, Bluetooth veya BLE desteği | Pico, Pico 2 ya da W varyantında kablosuz donanım bulunup bulunmadığı | Uzaktan erişim, telefon bağlantısı ve IoT haberleşmesi mümkün olur veya proje yalnızca yerel çalışır. |
| GPIO kullanımı | GPIO’ların giriş/çıkış, ADC, PWM ve özel işlev kısıtları | GPIO’ların ADC, PWM, PIO ve kablosuz birimlerle paylaşım durumu | Birden fazla sensör, LED, motor ve ekranı aynı anda bağlarken pin çakışmalarını önlersiniz. |
| Çevre birimleri | ADC kanalları, LED PWM, UART, SPI, I2C ve kart üzerindeki ek bağlantılar | ADC, PWM, UART, SPI, I2C, USB ve PIO olanakları | Harici sürücü veya ek modül gerekip gerekmediği belirlenir. |
| Güç ve taşınabilirlik | Modülün çalışma koşulları, uyku seçenekleri, radyo kullanım süresi ve kart regülatörü | Kartın besleme mimarisi, uyku/dormant seçenekleri ve kablosuz varyantın ek tüketimi | Pille çalışan projenin ne kadar süre kullanılabileceğini etkiler. |
| Genişleme | Seçilen kartın pin başlıkları, flash/PSRAM durumu ve kullanılacak modüller | Header’lı veya headersız kart, PIO ihtiyacı ve taşıyıcı karta montaj biçimi | Prototipin breadboard’da mı, özel bir devrede mi kurulacağını etkiler. |
ESP32 geliştirme kartlarının pin yerleşimleri ve özellikleri modelden modele değişebildiği için, alışveriş veya devre kurulumundan önce kullandığınız kartın pinout belgesine bakın. Örneğin ESP32-DevKitC belgelerinde Wi-Fi, Bluetooth, ADC, LED PWM, I2S ve SD/SDMMC gibi işlevler birlikte listelenir; fakat bir GPIO’nun her durumda bütün işlevleri aynı anda kullanılamaz. Espressif ESP32-DevKitC teknik dokümanı bu tür pin ve çevre birimi ayrıntılarını model özelinde kontrol etmek için başvurulacak resmî kaynaktır.
GPIO sayısı tek başına yeterli değildir
Diyelim ki projenizde bir LED, sıcaklık sensörü ve küçük bir OLED ekran bulunuyor. LED için dijital çıkış, sıcaklık sensörü analog ölçüm yapıyorsa ADC destekli giriş, OLED ekran için ise I2C pinleri gerekebilir. Buna bir servo motor eklendiğinde PWM kanalı, seri haberleşmeli başka bir modül eklendiğinde UART ihtiyacı doğar. Bu durumda “kartta kaç GPIO var?” sorusundan önce “hangi pin hangi işleve ayrılacak ve aynı anda kaç çevre birimi çalışacak?” sorusu sorulmalıdır.
Voltaj seviyesi de aynı derecede önemlidir. Bir sensörün çıkış gerilimi kartın kabul ettiği giriş aralığıyla uyumlu değilse yalnızca yazılım kodunu değiştirerek sorun çözülmez; seviye dönüştürücü veya uygun bağlantı gerekir. Ayrıca bazı pinler açılış sırasında özel amaçla kullanılabilir, bazıları analog girişteyken dijital işlev sunmayabilir veya kablosuz alt sistemle paylaşılabilir. Bu yüzden bağlantı şemasını kurmadan önce modelin pinout ve datasheet belgelerini kontrol etmek, başlangıçta yaşanan birçok “kod çalışıyor ama devre tepki vermiyor” sorununu önler.
MicroPython mı gömülü C/C++ mı daha uygun?
İlk prototip için MicroPython genellikle daha hızlı geri bildirim sağlar. Değişken, koşul, döngü, fonksiyon ve modül gibi Python temellerini bilen bir öğrenci, bir pini giriş veya çıkış olarak ayarlayıp sonucu kısa sürede gözlemleyebilir. ESP32 için MicroPython firmware seçenekleri, Raspberry Pi Pico W ve Pico 2 W gibi kartlar için de resmî MicroPython belgeleri bulunmaktadır.
MicroPython, masaüstü Python’unun birebir aynısı değildir. Donanıma erişmek için kullanılan Pin, zamanlayıcı, ağ ve sürücü API’leri karta, MicroPython portuna ve firmware sürümüne göre farklılaşabilir. Bellek sınırlamaları, gerçek zamanlı zamanlama ihtiyaçları ve donanıma özel kütüphaneler de masaüstü Python’dan ayrılan noktalardır.
Gömülü C/C++ yaklaşımında ise derleme, karta uygun proje yapılandırması, türler, bellek, firmware yükleme ve düşük seviyeli hata ayıklama gibi yeni kavramlar devreye girer. ESP32 tarafında Espressif’in ESP-IDF geliştirme ortamı; Raspberry Pi Pico tarafında ise C/C++ SDK ve CMake tabanlı araç zinciri kullanılır. Bu yaklaşım başlangıçta daha fazla hazırlık gerektirse de donanımın nasıl başlatıldığını, zamanlamanın nasıl yönetildiğini ve kaynakların nasıl kullanıldığını daha yakından incelemek isteyenler için güçlüdür.
En pratik seçim şu olabilir: sensör verisini okuyup hızlıca ekranda göstermek veya kablosuz olarak göndermek istiyorsanız MicroPython ile başlayın. Aynı sistemi daha düşük seviyede anlamak, sürücü mantığını incelemek veya gömülü yazılım geliştirme alışkanlığı kazanmak istiyorsanız daha sonra C/C++ tarafına geçin. Python temelindeki değişken, koşul, döngü, fonksiyon ve modül konularını pekiştirmek isteyenler için uygulamalı Python video eğitimleri donanım kursu yerine geçmeyen bir hazırlık kaynağı olarak değerlendirilebilir.
Özetle MicroPython hızlı deneme ve öğrenme döngüsünü, C/C++ ise donanıma yakınlık ve ayrıntılı kontrolü öne çıkarır. Her iki yaklaşım da ESP32 ve Raspberry Pi Pico ailesinin uygun modellerinde kullanılabilir; ancak firmware, kart modeli ve kullanılan kütüphane belgeleri mutlaka birlikte kontrol edilmelidir.
Hangi proje senaryosunda hangi kart öne çıkar?
İlk kart seçimini “ESP32 her zaman daha iyi” veya “Raspberry Pi Pico daha kolay” gibi tek cümlelik bir sonuca bağlamak doğru değildir. Projenin internete bağlanıp bağlanmayacağı, pille ne kadar süre çalışacağı ve donanıma yakın programlama öğrenme hedefiniz birlikte değerlendirilmelidir.
Raspberry Pi Pico ailesinde kablosuz bağlantı içermeyen Pico modellerinin yanı sıra Wi-Fi ve Bluetooth özelliklerine sahip Pico W modelleri de bulunur. Bu nedenle karşılaştırma yaparken yalnızca “ESP32 ve Pico” demek yerine, kullanacağınız kartın tam varyantını kontrol etmek gerekir. Raspberry Pi’nin Pico-serisi resmî dokümantasyonu kablosuz ve kablosuz olmayan modeller arasındaki farkları, GPIO, ADC, PWM ve haberleşme arabirimlerini ayrı ayrı açıklar.
Akıllı ev projeleri
Projenin ihtiyacı: Ortam sıcaklığını izlemek, bir lambayı uzaktan açıp kapatmak, hareket sensöründen gelen bilgiyi telefona veya yerel ağa aktarmak.
Kontrol edilecek donanım özelliği: Kart üzerinde kablosuz bağlantı bulunması, sensör verisini ağa aktarabilecek yazılım desteği, bağlantı sırasında kullanılacak GPIO ve haberleşme arabirimlerinin çakışmaması.
Başlangıç için uygun olabilecek kart: Wi-Fi veya Bluetooth gerektiren bir akıllı ev prototipinde ESP32 ailesi doğal bir adaydır. Kablosuz bağlantılı bir Raspberry Pi Pico W varyantı da benzer bir senaryoda değerlendirilebilir. Kablosuz olmayan standart Pico modeli ise ek haberleşme donanımı gerektirebileceğinden ilk tercih olmaktan uzaklaşabilir.
Dikkat edilmesi gereken sınırlama: Kablosuz bağlantı yalnızca kartta radyonun bulunmasıyla tamamlanmaz. Ağ kopması, yeniden bağlanma, kimlik bilgilerinin güvenli saklanması, veri gönderme sıklığı ve cihazın bağlantı sırasında harcadığı enerji ayrıca tasarlanmalıdır. Örneğin her saniye veri gönderen bir sistem ile yalnızca değişiklik olduğunda veri gönderen bir sistemin güç ve bağlantı davranışı aynı olmaz.
Uzaktan sensör izleme
Projenin ihtiyacı: Bahçe, sera veya farklı bir odadaki sıcaklık, nem, ışık ya da toprak nemi değerlerini belirli aralıklarla merkezi bir sisteme iletmek.
Kontrol edilecek donanım özelliği: Wi-Fi veya Bluetooth desteği, sensörün kullandığı I2C, SPI ya da analog giriş, bağlantı kararlılığı ve uyku-uyanma döngüsünün projeye uygunluğu.
Başlangıç için uygun olabilecek kart: Veriyi doğrudan kablosuz ağ üzerinden göndermek istiyorsanız ESP32 veya kablosuz Pico W ailesi değerlendirilebilir. Sürekli bağlantı yerine belirli aralıklarla ölçüm alıp veri aktarma yaklaşımı kullanılıyorsa, kablosuz özelliğin yazılım ve enerji yönetimiyle birlikte test edilmesi gerekir.
Dikkat edilmesi gereken sınırlama: “Kablosuz bağlantı var” demek, cihazın pille uzun süre çalışacağı anlamına gelmez. Sensörün kendisi, kablosuz aktarım süresi, sinyal seviyesinin düşük olduğu ortamlarda yapılan yeniden denemeler ve regülatör kayıpları toplam tüketimi etkiler. İlk prototipte ölçüm aralığını, bağlantı koparsa uygulanacak davranışı ve başarısız veri gönderiminin nasıl ele alınacağını yazılı olarak belirleyin.
Taşınabilir ölçüm cihazları
Projenin ihtiyacı: Pil ile çalışan, sensörden veri alan ve sonucu küçük bir ekranda gösteren bir el cihazı geliştirmek.
Kontrol edilecek donanım özelliği: Uyku veya düşük güç yaklaşımı, uyanma koşulları, pil ve regülatör bağlantısı, ekranın kullandığı I2C/SPI hatları, analog ölçüm hassasiyeti ve boşta kalan çevre birimlerinin kapatılabilmesi.
Başlangıç için uygun olabilecek kart: Kablosuz bağlantıya ihtiyaç yoksa kablosuz olmayan Raspberry Pi Pico, sensör-ekran-mikrodenetleyici ilişkisini sade biçimde öğrenmek için uygun bir seçenek olabilir. Cihazın telefona veya ağa veri göndermesi gerekiyorsa kablosuz ESP32 ya da kablosuz Pico varyantları öne çıkabilir.
Dikkat edilmesi gereken sınırlama: Pil ömrünü yalnızca mikrodenetleyicinin veri sayfasındaki düşük güç ifadelerine bakarak tahmin etmeyin. Gerçek sonuç; ekranın açık kalma süresi, sensörün sürekli çalışıp çalışmadığı, kablosuz aktarım sıklığı ve kullanılan güç devresiyle belirlenir. Önce USB üzerinden çalışan prototipi kurup, daha sonra ölçüm al-uykuya geç-uyan akışını eklemek daha güvenlidir.
Temel robotik projeleri
Projenin ihtiyacı: Motorları sürmek, mesafe veya çizgi sensörlerinden veri almak ve bu veriye kısa sürede tepki vermek.
Kontrol edilecek donanım özelliği: PWM kanalları, GPIO sayısı, zamanlayıcılar, sensör okuma arayüzleri, motor sürücüsüyle lojik seviye uyumu ve kontrol döngüsünün zamanlaması.
Başlangıç için uygun olabilecek kart: İnternet bağlantısı gerekmeyen çizgi izleyen araç, servo kontrolü veya engelden kaçan robot gibi projelerde Raspberry Pi Pico güçlü bir başlangıç alternatifi olabilir. Aynı projede kablosuz kumanda, telemetri veya telefondan kontrol isteniyorsa ESP32 daha pratik hâle gelebilir.
Dikkat edilmesi gereken sınırlama: Motoru doğrudan GPIO pininden beslemek yerine uygun bir motor sürücüsü kullanın. PWM sinyali motor hızını kontrol edebilir; ancak motorun ihtiyaç duyduğu akım kartın GPIO çıkışından karşılanmamalıdır. Ayrıca motorların oluşturduğu elektriksel gürültü, sensör okumalarını ve mikrodenetleyicinin kararlılığını etkileyebilir.
İhtiyaçtan karta giden kısa seçim akışı
- Wi-Fi, Bluetooth veya uzaktan veri aktarımı gerekiyor mu? Evetse kablosuz ESP32 ya da kablosuz Raspberry Pi Pico varyantlarını inceleyin. Hayırsa kablosuz olmayan Pico da seçeneklere eklenebilir.
- Pil ile uzun süre çalışacak mı? Evetse uyku-uyanma desteğini, sensörlerin boşta tüketimini ve kablosuz aktarım sıklığını test edin.
- Yalnızca yerel sensör, LED veya motor kontrolü mü yapılacak? Evetse kablosuz bağlantı kararın merkezinden çıkar; GPIO, PWM, ADC ve zamanlama gereksinimleri önem kazanır.
- Gömülü C öğrenme hedefi var mı? Evetse kartın resmî C/C++ SDK’sını, hata ayıklama yöntemlerini ve donanıma yakın çalışma modelini inceleyin. MicroPython ile hızlı prototip yapmak, C/C++ öğrenme hedefini ortadan kaldırmaz.
ESP32 ile MicroPython sensör okuma örneği

Aşağıdaki örnek, ESP32-DevKitC V4 üzerinde ESP32-WROOM-32E modülü ve GPIO34 kullanılarak analog girişten ham değer okur. Bu pin, ilgili kart dokümantasyonunda ADC1_CH6 olarak gösterilir ve giriş yönlüdür; dolayısıyla sensör sinyali okunabilir ancak aynı pin üzerinden çıkış üretilemez.
from machine import ADC, Pin
from time import sleep
adc = ADC(Pin(34), atten=ADC.ATTN_11DB)
while True:
value = adc.read_u16()
print(value)
sleep(1)
MicroPython dokümantasyonundaki ESP32 ADC API’sine göre read_u16() ham okumayı 0-65535 aralığında sunar. Bu sayı doğrudan derece, lüks veya santimetre değildir; yalnızca ADC’nin ölçtüğü analog sinyalin sayısal karşılığıdır. Seri konsolda yaklaşık birer saniye arayla değişen sayılar görmeniz beklenir. Kesin değer; sensörün türüne, beslemesine, ortam koşullarına ve bağlantı devresine bağlıdır.
Bu örnekte 11 dB zayıflatma seçilmiştir. ESP32’nin ilgili ADC yapılandırmasında yaklaşık doğrusal ölçüm aralığı 0,15-2,45 V civarındadır; giriş pininin mutlak maksimum gerilimi ise 3,6 V olarak belirtilir. Bu sınır, sensör çıkışının doğrudan karta bağlanabileceği anlamına gelmez: sensörün veri sayfasındaki çıkış gerilimini ve kartın elektriksel sınırlarını ayrıca kontrol edin. Güncel ayrıntılar için MicroPython ESP32 ADC dokümantasyonu incelenmelidir.
- Sensörün GND hattı ile ESP32’nin GND hattı ortak olmalıdır.
- Sensör, kartın kabul ettiği uygun besleme gerilimiyle çalıştırılmalıdır.
- Analog çıkış, doğrudan 3,3 V mantık seviyesini aşmamalıdır.
- Gerekirse gerilim bölücü veya uygun seviye dönüştürme devresi kullanılmalıdır.
- Fiziksel birim elde etmek için sensör veri sayfasındaki dönüşüm formülü ve kalibrasyon ölçümleri kullanılmalıdır.
Karar vermeden önce uygulanacak başlangıç kontrol listesi
- Proje hedefinizi tek cümleyle yazın: “Kart, şu sensörden veri alacak ve şu çıktıyı üretecek.”
- Wi-Fi, Bluetooth veya uzaktan veri aktarımının gerçekten gerekli olup olmadığını belirleyin.
- Güç kaynağını seçin: USB mi, pil mi? Pil ise hedeflenen çalışma süresini yazın.
- Kullanacağınız sensör ve aktüatörlerin besleme ve sinyal gerilimlerini kontrol edin.
- Kaç GPIO, ADC ve PWM kanalına ihtiyaç duyduğunuzu listeleyin.
- İlk prototipte MicroPython ile hızlı ilerlemeyi mi, yoksa C/C++ ile donanıma daha yakın çalışmayı mı hedeflediğinizi belirleyin.
- Kullandığınız kartın pinout belgesini ve yazılım kurulum dokümantasyonunu açmadan bağlantı yapmayın.
- İlk denemeyi tek sensör ve tek çıktı ile sınırlandırın; aynı anda ekran, motor, kablosuz bağlantı ve çoklu sensör eklemeyin.
- Seri porttan hata mesajı ve ölçüm çıktısı okuyabildiğinizi, daha büyük devreye geçmeden test edin.
Bu listeyi kısa bir puanlama çerçevesiyle kullanabilirsiniz: kablosuz bağlantı kritikse haberleşme eksenine, uzun pil ömrü kritikse güç eksenine, donanıma yakın programlama hedefi kritikse C/C++ eksenine daha fazla ağırlık verin. Üç eksenin toplam sonucu hangi kartın projenize daha uygun olduğunu gösterir; tek bir kartı her senaryoda evrensel olarak en iyi ilan etmez.
Donanım seçimi dışında hangi çalışma alanlarının size daha çok ilgi verdiğini görmek için kariyer yönelimi testi tamamlayıcı olabilir. Ancak test sonucu teknik kart seçimini tek başına belirlemez; gerçek karar her zaman projenin bağlantı, güç, pin ve öğrenme hedefleri incelenerek verilmelidir.
İlk projede sık yapılan seçim ve kurulum hataları
İlk maker projesinde sorun çoğu zaman kartın “yetersiz” olmasından değil, proje gereksinimlerinin başta netleştirilmemesinden çıkar. ESP32 veya Raspberry Pi Pico seçerken yalnızca popülerliğe, pin sayısına ya da internette görülen proje sayısına bakmak yerine kablosuz bağlantı, güç kaynağı, sensör uyumluluğu ve öğrenme hedefi birlikte değerlendirilmelidir.
Özellikle kartın tam modelini, pin dizilimini ve elektriksel sınırlarını doğrulamak önemlidir. ESP32 ailesinde pin işlevleri ve kısıtlamalar modele göre değişebilir; Raspberry Pi Pico ailesinde de Pico, Pico W, Pico 2 ve Pico 2 W gibi varyantların özellikleri aynı değildir. Bu nedenle bağlantı şemasını kartın üretici dokümanından kontrol etmek en güvenli başlangıçtır. Raspberry Pi Pico Series dokümantasyonu pin işlevlerini ve kart ailelerini karşılaştırmak için kullanılabilir.
1. Popüler karta veya pin sayısına göre seçim yapmak
Bir kartın çok kullanılması, her proje için en uygun seçenek olduğu anlamına gelmez. Pin sayısı da tek başına belirleyici değildir; bazı pinler açılışta özel işlevlere, seri haberleşmeye, ADC ölçümüne veya kart üzerindeki bileşenlere ayrılabilir.
Önleme yöntemi: Önce projedeki bileşenleri listeleyin: sensör, LED, ekran, buton, motor ve haberleşme modülü. Her bileşenin ihtiyaç duyduğu GPIO, I2C, SPI, UART, ADC veya PWM bağlantısını belirledikten sonra kart seçin.
2. Kablosuz bağlantı ihtiyacını sonradan fark etmek
İlk prototipte yalnızca sensör verisini okumak yeterli görünür. Ancak daha sonra veriyi telefona, web servisine veya MQTT sunucusuna göndermek isteyebilirsiniz. Seçtiğiniz kartta gerekli Wi-Fi veya Bluetooth özelliğinin bulunmaması, projenin yeniden kurulmasına yol açabilir.
Önleme yöntemi: Proje verisi dışarı aktarılacaksa kablosuz bağlantıyı en başta karar kriteri yapın. Kablosuz gerekmiyorsa, kablosuz özellikleri olan bir kart kullanmak yine mümkün olabilir; fakat güç yönetimi ve yazılım karmaşıklığını ayrıca hesaba katın.
3. Sensörün çalışma voltajını kontrol etmemek
Bir sensörün “3.3V ile çalışması” ile yalnızca “3.3V lojik sinyal üretmesi” aynı şey değildir. Bazı modüller farklı besleme aralıklarına sahip olabilir. ESP32 ve Raspberry Pi Pico GPIO’larıyla bağlantı kurmadan önce sensörün besleme gerilimi, lojik seviye bilgisi ve haberleşme protokolü okunmalıdır.
Önleme yöntemi: Sensör veri sayfasındaki besleme ve sinyal seviyelerini kontrol edin. Gerekirse uygun seviye dönüştürücü kullanın; doğrudan bağlantının güvenli olduğunu varsaymayın.
4. Motoru veya röleyi doğrudan GPIO pininden beslemek
GPIO pini bir kontrol sinyali üretmek için kullanılır; motor, pompa veya röle bobini gibi yükleri doğrudan beslemek için tasarlanmamıştır. Motorun ilk hareket anındaki akımı kartı resetleyebilir, USB bağlantısını bozabilir veya GPIO pinine zarar verebilir.
Önleme yöntemi: Motor ve röle gibi yüklerde uygun sürücü devresi, transistör veya motor sürücü modülü kullanın. Yük için gerektiğinde harici besleme sağlayın ve kart ile harici beslemenin ortak toprağını bağlayın. Endüktif yüklerde koruma diyodu gibi uygun koruma elemanları da devre tasarımının parçasıdır.
5. MicroPython’ı masaüstü Python ile aynı sanmak
MicroPython, Python sözdiziminden yararlansa da mikrodenetleyicinin sınırlı kaynakları ve donanım API’leriyle çalışır. Masaüstünde kullanılan her kütüphane, dosya sistemi yaklaşımı veya işletim sistemi özelliği ESP32 ya da Pico üzerinde doğrudan bulunmayabilir.
Önleme yöntemi: Donanım işlemlerinde machine, Pin, I2C, SPI ve karta uygun MicroPython dokümantasyonunu temel alın. ESP32’ye MicroPython kurulurken kart için uygun firmware seçilmeli, gerektiğinde flash belleği temizleyip güncel esptool akışıyla yükleme yapılmalıdır.
6. Kart varyantlarının pin dizilimlerini karıştırmak
Aynı ailedeki kartların fiziksel görünümü benzer olsa bile pin numaraları, dahili LED bağlantısı, USB davranışı ve kablosuz çip kullanımı değişebilir. Özellikle ESP32 geliştirme kartlarında GPIO numarası ile fiziksel sıra numarasını karıştırmak sık görülür.
Önleme yöntemi: Kullandığınız kartın tam adını proje dosyasının başına yazın ve yalnızca o modele ait pinout şemasını kullanın. Kabloyu bağlamadan önce her pinin hem GPIO numarasını hem fiziksel konumunu kontrol edin.
7. Hata ayıklama çıktısını okumadan kodu değiştirmek
Seri portta görünen hata mesajı; yanlış pin, eksik modül, bağlantı sorunu, besleme problemi veya firmware uyumsuzluğu hakkında doğrudan ipucu verebilir. Mesajı okumadan kodu sürekli değiştirmek, aynı hatayı farklı biçimlerde tekrarlamaya neden olur.
Önleme yöntemi: Hata oluştuğunda önce mesajı tamamen okuyun, hatanın satırını belirleyin ve tek bir değişiklik yaparak yeniden deneyin. Sağlıklı ilerleme sırası şudur:
- Önce tek bir sensörden veri okuyun.
- Sonra tek bir LED’i yakıp söndürün.
- Ardından sensör verisini seri portta doğrulayın.
- Son aşamada kablosuz haberleşme veya motor gibi daha karmaşık bileşenleri ekleyin.
Bu sıra, donanım ve yazılım hatalarını birbirinden ayırmayı kolaylaştırır. İlk hedef tüm sistemi bir anda kurmak değil, her parçanın tek başına doğru çalıştığını kanıtlamaktır.
Sık Sorulan Sorular
ESP32 ve Raspberry Pi Pico arasında yeni başlayan biri için en kolay seçim hangisidir?
Tek bir sensör, LED veya butonla başlayacaksanız her iki kart da uygundur. Kablosuz bağlantı hedefleniyorsa ESP32, kablosuz gerekmeyen ve temel GPIO mantığının öğrenileceği sade bir projede Raspberry Pi Pico daha doğrudan bir başlangıç sunabilir. En kolay seçim, karttan çok projenin gereksinimleriyle belirlenir.
Kablosuz bağlantı gerekmeyen bir sensör projesinde ESP32 kullanmak mantıklı olur mu?
Evet, kullanılabilir. Ancak kablosuz özellikleri kullanmayacaksanız seçim kararında güç tüketimi, elinizdeki kütüphaneler, kartın pin düzeni ve öğrenmek istediğiniz geliştirme yaklaşımı daha önemli hâle gelir. İleride veriyi Wi-Fi veya Bluetooth üzerinden gönderecekseniz ESP32 baştan avantaj sağlayabilir.
MicroPython öğrenmeden önce Python bilmek gerekir mi?
İleri düzey Python bilgisi şart değildir. Değişken, koşul, döngü, fonksiyon ve temel hata mesajlarını okuyabilmek başlangıç için yeterlidir. MicroPython ile birlikte GPIO, sensör protokolleri ve seri haberleşme gibi mikrodenetleyici kavramlarını ayrıca öğrenmeniz gerekir.
Raspberry Pi Pico ile ESP32 arasında pil ile çalışan projelerde nasıl karar verilir?
Önce projenin uyku modlarını, kablosuz bağlantı ihtiyacını ve sensörün çalışma süresini değerlendirin. Kablosuz haberleşme kullanılacaksa bağlantının enerji bütçesine etkisini ayrıca hesaba katın. Sadece kartın teorik tüketimine değil, sensörler, LED’ler ve diğer yüklerle birlikte oluşan toplam tüketime bakın.
İlk maker projesinde MicroPython mı yoksa C/C++ mı öğrenmeye başlanmalıdır?
Hızlı prototip oluşturmak ve sensörleri kısa kodlarla denemek için MicroPython iyi bir başlangıçtır. Donanım kaynaklarını daha ayrıntılı kontrol etmek, zamanlama davranışını incelemek veya gömülü yazılım temellerini derinleştirmek istiyorsanız C/C++ aşamasına geçebilirsiniz. En verimli yol, önce çalışan küçük bir prototip kurup ardından aynı fikri daha düşük seviyeli bir dille yeniden incelemektir.
İlk projenizde küçük adımlarla ilerleyin; her bileşeni tek başına doğrulamak, kart seçiminden daha önemli bir başarı ölçütüdür.