MicroPython Nedir? Ne İçin Kullanılır? Mikrodenetleyiciler İçin Python

MicroPython Nedir? Ne İçin Kullanılır? Mikrodenetleyiciler İçin Python

MicroPython, Python 3 dilinin mikrodenetleyiciler ve gömülü sistemler için optimize edilmiş bir uyarlamasıdır. C/C++ ile uğraşmadan, sade ve okunabilir Python söz dizimiyle Arduino-benzeri kartları programlamayı mümkün kılar. Bu yazıda MicroPython’un ne olduğunu, neden popüler olduğunu ve hangi platformlarda çalıştırılabileceğini anlatıyoruz.

MicroPython Nedir?

MicroPython, 2013 yılında Avustralyalı yazılım mühendisi Damien George tarafından başlatılan açık kaynaklı bir projedir. Kickstarter kampanyasıyla finanse edilen proje, Python 3’ün küçük ve verimli bir uyarlamasını sınırlı kaynaklı cihazlarda çalıştırmayı amaçlar.

Standart Python’un (CPython) aksine MicroPython:

  • Sadece birkaç yüz KB RAM ile çalışabilir
  • Doğrudan mikrodenetleyici donanımına erişim sağlar (GPIO, I2C, SPI, UART, ADC, vb.)
  • REPL (interaktif konsol) sayesinde kodu canlı test etmenizi sağlar
  • Pek çok yerleşik kütüphane (machine, time, network, urequests) içerir

Yani Python’un kolay sözdizimini, gerçek elektronik dünyasında kullanabilirsiniz.

Neden MicroPython?

MicroPython’u tercih etmek için pek çok sebep vardır:

1. Öğrenme Kolaylığı

Python, yeni başlayanların en kolay öğrendiği dillerden biri. C/C++‘taki pinMode, digitalWrite, pointer’lar gibi karmaşık yapılar yerine sade bir sözdizimi:

from machine import Pin
led = Pin(25, Pin.OUT)
led.toggle()

2. Hızlı Prototipleme

Kodu yükleyip çalıştırmak için derleme beklemenize gerek yok. REPL üzerinden anında komut yazıp test edebilirsiniz.

3. Geniş Ekosistem

pip benzeri upip ile kütüphane yükleyebilir, MQTT’den OLED ekran sürücüsüne kadar pek çok hazır paketi kullanabilirsiniz.

4. Çoklu Platform Desteği

Tek bir dilde öğrendiğiniz şeyleri ESP32, Pico, STM32 gibi farklı kartlarda kullanabilirsiniz.

5. Açık Kaynak

MIT lisansı altında ücretsiz ve özgürce kullanılabilir.

MicroPython Hangi Kartlarda Çalışır?

MicroPython’un en güzel yanlarından biri, çok sayıda mikrodenetleyici kartını desteklemesidir:

KartİşlemciRAMWi-Fi
Raspberry Pi Pico / Pico WRP2040 (Dual M0+)264 KBPico W’da var
Raspberry Pi Pico 2RP2350520 KBPico 2 W’da var
ESP32 (tüm türler)Xtensa LX6/7520 KB
ESP8266Xtensa L106~80 KB
STM32ARM Cortex-MModele göre
PyBoardSTM32F4192 KB❌ (resmi MicroPython kartı)
Adafruit Feather serileriÇeşitliÇeşitliModeline göre

Yeni başlayanlar için en popüler tercih: Raspberry Pi Pico W (uygun fiyat, Wi-Fi var, mükemmel dokümantasyon) veya ESP32 DevKit (daha güçlü işlemci, daha fazla RAM).

MicroPython Ne İçin Kullanılır?

MicroPython’un kullanım alanları, klasik mikrodenetleyici uygulamalarının hemen tamamını kapsar:

1. Sensör ve Veri Okuma

  • Sıcaklık, nem, basınç sensörleri (DHT22, BME280)
  • Mesafe sensörleri (HC-SR04, VL53L0X)
  • IMU sensörleri (MPU6050)
  • Toprak nem sensörleri

2. Çıkış Kontrolü

  • LED’ler, RGB şeritler (NeoPixel/WS2812)
  • Servo ve DC motorlar
  • Step motor sürücüler
  • Röleler ve solenoid valfler

3. Ekran Kullanımı

  • OLED ekranlar (SSD1306)
  • LCD ekranlar
  • E-Paper ekranlar
  • TFT renkli ekranlar (ST7789)

4. Bağlantı Tabanlı Projeler

  • Wi-Fi üzerinden web sunucusu
  • MQTT ile bulut entegrasyonu
  • Telegram, Discord bot bildirimleri
  • HTTP API’lerden veri çekme

5. Eğitim Projeleri

  • STEM atölyeleri
  • Üniversite gömülü sistemler dersleri
  • Kişisel öğrenme projeleri

MicroPython vs Arduino IDE (C++)

ÖzellikMicroPythonArduino C++
Öğrenme eğrisiKolayOrta-Zor
Yazma hızıÇok hızlıOrta
Çalışma hızıYavaş (yorumlanır)Hızlı (derlenmiş)
Bellek kullanımıYüksekDüşük
Hata ayıklamaREPL ile çok kolaySerial print ile
Ham donanım kontrolüSınırlıTam erişim
Topluluk büyüklüğüBüyükÇok büyük

Hangisi daha iyi? Cevap projeye göre değişir:

  • Hızlı prototipleme, eğitim, az hesaplama gerektiren işler → MicroPython
  • Gerçek zamanlı performans, motor sürücü, yüksek frekanslı sinyaller → Arduino C++

Birlikte de kullanılabilirler. Pek çok geliştirici öğrenmeye MicroPython ile başlayıp, performans gerektiğinde C++‘a geçiş yapar.

MicroPython ile Nasıl Başlanır?

1. Kart Seçimi

İlk denemeniz için Raspberry Pi Pico W veya ESP32 DevKit ideal seçenek.

2. Firmware Yükleme

MicroPython çalışmadan önce, mikrodenetleyiciye MicroPython firmware’i yüklemelisiniz:

  • micropython.org/download adresinden kartınız için doğru .uf2 veya .bin dosyasını indirin
  • Pico için BOOTSEL tutarak USB’ye bağlayın, dosyayı sürükleyin
  • ESP32 için esptool.py ile flash edin

3. IDE Seçimi

MicroPython kodu yazmak için kullanabileceğiniz araçlar:

  • Thonny — Yeni başlayanlar için en kolay, Python’a özel ücretsiz IDE
  • Mu Editor — Çocuklar ve eğitim için sade arayüz
  • VS Code + Pymakr eklentisi — Profesyonel, gelişmiş özellikler
  • WebREPL — Tarayıcı üzerinden ESP’yi programlama

4. İlk “Merhaba Dünya”

Bir LED yakıp söndüren basit bir program:

from machine import Pin
import time

led = Pin(25, Pin.OUT)  # Pico için yerleşik LED

while True:
    led.toggle()
    time.sleep(0.5)

Bu kadar! Karta yükleyin ve LED’in yanıp söndüğünü göreceksiniz.

MicroPython’un Sınırları

MicroPython’un her iş için doğru araç olmadığını da bilmek gerekir:

  • Yavaştır — Yorumlanan bir dil olduğu için aynı işi C++‘tan ~10-50 kat daha yavaş yapar
  • Bellek tüketir — Garbage collector ve değişkenler RAM’i hızlı tüketir
  • Gerçek zamanlı uygulamalar zordur — Hassas zamanlama gerektiren projeler (motor sürücü PWM gibi) için zorlanabilir
  • Bazı kütüphaneler eksiktir — Arduino kütüphane ekosistemine kıyasla daha az hazır kod

Sonuç

MicroPython, mikrodenetleyici dünyasına Python’un sadeliğini ve gücünü taşıyan harika bir alternatiftir. Hızlı prototipleme, eğitim ve IoT projeleri için ideal, başlangıç eğrisi yumuşak ve oldukça eğlencelidir.

İleriki yazılarımızda MicroPython kurulumu, REPL kullanımı, GPIO temelleri ve gerçek projelerle adım adım derinleşeceğiz. Python’a aşina iseniz şimdiden çok şey biliyorsunuz demektir; sadece donanıma uygulamayı öğrenmek kalıyor!

Benzer Yazılar

Arduino Nedir? Ne İçin Kullanılır? Yeni Başlayanlar İçin Kapsamlı Rehber

Arduino Nedir? Ne İçin Kullanılır? Yeni Başlayanlar İçin Kapsamlı Rehber

Arduino, hem donanım hem de yazılım tarafıyla elektronik prototipleme dünyasının en popüler açık kaynak platformudur. Hobi sahiplerinden eğitimcilere, sanatçılardan profesyonel mühendislere kadar

Devamını Oku
ESP32 Nedir? Ne İçin Kullanılır? IoT Projelerinin Yıldız Mikrodenetleyicisi

ESP32 Nedir? Ne İçin Kullanılır? IoT Projelerinin Yıldız Mikrodenetleyicisi

ESP32, son yılların en çok konuşulan mikrodenetleyicilerinden biri. Çinli Espressif Systems firması tarafından geliştirilen bu küçük çip; Wi-Fi, Bluetooth, çift çekirdekli işlemci ve onlar

Devamını Oku
Raspberry Pi Nedir? Ne İçin Kullanılır? Cep Boyutunda Bilgisayara Giriş

Raspberry Pi Nedir? Ne İçin Kullanılır? Cep Boyutunda Bilgisayara Giriş

Raspberry Pi, kredi kartı büyüklüğünde, gerçek bir bilgisayar gibi davranabilen, Linux tabanlı işletim sistemi çalıştırabilen tek kart bilgisayardır (SBC - Single Board Computer). Eğitim amacıyla

Devamını Oku