Skip to main content
Temmuz 13, 2026

Raspberry Pi Pico ile Gerçek Zamanlı TinyDL: MATLAB’da Uçtan Uca Gömülü Derin Öğrenme

Doğukan M. Kılınç
Yapay Zeka ve Makine Öğrenmesi Mühendisi

Endüstriyel sensör sistemleri ve Edge Computing (Uç Bilişim) donanımları genellikle binlerce dolarlık maliyetlere sahiptir. Peki ya yapay zekânın gücünü yalnızca 4 dolarlık bir Raspberry Pi Pico ile en uç noktaya (Extreme Edge) taşıyabilseydik?

Bu yazıda, tamamen MATLAB & Simulink ekosistemi içerisinde geliştirilen uçtan uca bir Tiny Deep Learning (TinyDL) iş akışı kullanılarak, RP2040 mikrodenetleyicisi üzerinde doğrudan çalışan 1 Boyutlu Evrişimsel Sinir Ağı (1D Convolutional Neural Network – CNN) ile gerçek zamanlı yüzey nemi sınıflandırmasının nasıl gerçekleştirildiği ele alınacaktır.

Bu projeyi asıl öne çıkaran nokta ise MATLAB‘ın bu karmaşık geliştirme sürecini ne kadar erişilebilir hale getirmesidir. Farklı programlama ortamları, karmaşık C/C++ kütüphaneleri ve manuel derleme süreçleri arasında kaybolmak yerine MATLAB; veri toplama, model geliştirme, eğitim, doğrulama ve modeli doğrudan hedef donanıma gömme aşamalarını tek bir bütünleşik iş akışı içerisinde sunar. Böylece TinyDL uygulamaları, hem araştırmacılar hem de mühendisler için çok daha hızlı ve verimli bir şekilde geliştirilebilir.

Uç Noktada Veri Toplama

İyi bir veri olmadan derin öğrenme hiçbir işe yaramaz. Bu projede, Pico’nun analog girişine (GP27) bağlı bir FC-28 kapasitif nem sensörü kullanılmıştır. Karmaşık seri haberleşme (serial logging) kodları yazmak yerine, Simulink‘in Monitor & Tune özelliğinden faydalanabilirsiniz. Bu sayede, canlı ve ham analog zaman serisi verilerini hiçbir manuel kod yazmadan doğrudan Pico üzerinden MATLAB Workspace’e aktarabilirsiniz. Donanım ve yazılımı birbirine bağlamanın bu kadar kolay olması en etkileyici yerlerden biri.

1D CNN Mimarisi

Mikrodenetleyiciler son derece kısıtlı RAM ve işlem gücüne sahiptir, bu durum standart derin öğrenme modellerinin bu cihazlara sığmayacağı anlamına gelir.

Ham sensör verisi 50 örneklemlik pencerelere bölündükten sonra Deep Learning Toolbox ile 1D CNN mimarisi tasarlandı. Mikrodenetleyicinin kaynak kısıtları her katman seçimini doğrudan etkiler:

  • Özellik çıkarımı (feature extraction) için 1D Convolution Layer (16 filtre).
  • Kararlılık ve doğrusallıktan kaçınmak için Batch Normalization & ReLU.
  • Uzamsal boyutları ve parametre sayısını büyük ölçüde azaltmak için 1-D Global Average Pooling.
  • Nihai Kuru/Islak olasılıklarını hesaplamak için Fully Connected & Softmax.

Donanım Krizi ve Mühendislik Çözümü (Pivot)

Gömülü sistemlerle çalışmak, katı donanım kısıtlamalarıyla başa çıkmak demektir. Başlangıçta sonuçları göstermek için I2C haberleşmeli bir LCD ekran kullanmak planlanmıştı ancak, başlangıç (initialization) sırasındaki kütüphane çakışmaları RP2040’ın GPIO pinlerini sıfırlıyordu.

Çözüm olarak çift haneli 7 segment LED ekrana geçtik: Simulink modelinde 7 ayrı GPIO pini (GP0–GP6) üzerinden ekranı doğrudan süren bir MATLAB Function bloğu tanımladık. Simulink’in modüler yapısı bu değişikliği hızlı ve kontrollü tuttu.

Embedded Coder ile Kusursuz Dağıtım (Deployment)

Bulmacanın son parçası, bu karmaşık sinir ağını ve özel ekran mantığını 4 dolarlık bir çipe entegre etmekti. Embedded Coder ve Hardware Support Package kullanarak tüm model C/C++ koduna dönüştürüldü ve Raspberry Pi Pico’ya aktarıldı; manuel çapraz derleme adımı olmadı. Bu aşama Embedded Coder’ın asıl avantajını gösterdiği noktadır: model ve donanım entegrasyonu aynı Simulink ortamında tamamlanır.

Sistem açıldığında ekran, canlı çıkarıma (inference) geçmeden önce hızlı bir 0–9 test animasyonu çalıştırıyor. Ardından FC-28 sensör çıkışı gerçek zamanlı olarak sınıflandırılıyor ve sonuç ekranda görüntüleniyor.

Sonuç

Her Sensör, Bir TinyDL Modeli Olabilir.

Derin öğrenme modellerini buluttan bağımsız, düşük gecikme ve minimum güç tüketimiyle uçta çalıştırmak, sensör verisi üreten sistemler için uygulanabilir bir mimari haline geldi. Bu projedeki iş akışı; veri toplama, model eğitimi, boyut optimizasyonu, kod üretimi, farklı sensörler ve hedef platformlar için tekrarlanabilir. Ölçülebilir bir sinyal varsa, onu sınıflandıran bir TinyDL modeli çalıştırılabilir.

TinyDL Geliştirme Kaynak Dosyalarına Erişin

Raspberry Pi Pico üzerinde TinyDL geliştirme sürecini kendi projelerinize uygulayın. Kaynak dosyalarına erişmek için formu doldurabilirsiniz.

© FİGES A.Ş. Tüm hakları saklıdır. Tasarım ordek.co.