proje 11
STM32 & Arduino Gömülü Sistemler
Sensör verilerinin senkron toplanması, yerel ekranlara düşük gecikmeyle basılması ve mikrodenetleyiciler arası haberleşme standardının kurulması üzerine geliştirilen düşük seviyeli gömülü yazılımlar.
- Kategori
- Gömülü & Robotik
- Rol
- Gömülü yazılım geliştirici
- Yıl
- 2025 – 2026
kullanılan teknolojiler
- C
- C++
- STM32
- ARM Cortex-M
- Arduino
- I2C/SPI/UART
problem
Problem
Donanım düzeyinde sıcaklık, ivme ve mesafe gibi sensör verilerinin senkron biçimde toplanması, yerel ekranlara düşük gecikmeyle basılması ve mikrodenetleyiciler arası güvenli bir haberleşme standardının kurulması gerekiyordu.
çözüm
Çözüm
C ve C++ kullanarak STM32 üzerinde HAL/LL kütüphaneleriyle ve Arduino Uno üzerinde register seviyesinde kodlama yaptım. I2C, SPI ve UART protokolleri üzerinden SSD1306 OLED ekranlar ve çeşitli sensör modülleri için haberleşme sürücüleri geliştirdim. Okuma döngüsünü kesmeler ve zamanlayıcılar üzerine kurdum.
sonuç
Sonuç
Donanım kilitlenmelerinden arındırılmış, kesmelerle yönetilen, gerçek zamanlı veri okuma ve görselleştirme yapabilen stabil donanım prototipleri üretildi.
öne çıkan özellikler
- 01STM32 üzerinde HAL/LL kütüphaneleriyle register ve sürücü seviyesinde kodlama.
- 02I2C, SPI ve UART protokolleri üzerinden SSD1306 OLED ekran ve sensör modülleri için haberleşme sürücüleri.
- 03Kesmeler ve zamanlayıcılarla yönetilen, kilitlenmeye kapalı gerçek zamanlı okuma mimarisi.
- 04Düşük güç tüketimi ve gerçek zamanlı tepki süreleri için bellek ve kod optimizasyonu.
neden bu seçimler
Neden kesme tabanlı okuma, polling değil?
Sürekli yoklama döngüsü mikrodenetleyicinin işlemcisini boşuna meşgul ediyor ve iki yoklama arasına düşen anlık sinyaller kaçıyor. Donanım kesmeleri ve zamanlayıcı tabanlı periyodik okumaya geçince işlemci boşta kalabildi ve sinyaller sıfır kayıpla yakalandı.
Neden HAL/LL seviyesinde kod?
Hazır kütüphaneler hızlı sonuç verir ama donanımın gerçekte ne yaptığını gizler. Register seviyesine inmek, zamanlama ve güç davranışını doğrudan kontrol etmeyi ve sorunları tahmin yerine ölçerek çözmeyi mümkün kıldı.