Bu çalışma, Mikroişlemciler dersi final projesi kapsamında geliştirilen; sıcaklık ve nem verilerini izleyen, grafiksel HMI ekranında görselleştiren, durum bilgisini RGB LED halkasıyla sunan ve verileri UART üzerinden dış dünyaya aktarabilen gelişmiş bir gömülü sistem uygulamasıdır.
Sistem; STM32F446ZE mikrodenetleyicisi, FT800 EVE grafik motoru, DHT11 sıcaklık-nem sensörü, WS2812 RGB LED halkası ve KY-040 rotary encoder bileşenleri üzerine kurulmuştur.
Aşağıda genel olarak yaptığım projenin FT800 EVE ekran ile touchpad entegreyasyonu sağlanarak sistem çalışması ve bununla beraber menülerin alt menülerin rotarty encoder ve ring led sistem entegrasyonu ile alakalı bir video anlatımı bulacaksınız.
STM32F446ZE GELİŞMİŞ DATALOGGER VE HMI SİSTEMİ
Proje; endüstriyel ortamlarda sıcaklık ve nem verilerinin yüksek hassasiyetle anlık takip edilmesi, HMI ekranı üzerinde görselleştirilmesi, sistem durumunun RGB LED halkasıyla dinamik bildirilmesi ve toplanan verilerin UART kanalı üzerinden dış dünyaya aktarılması amacıyla tasarlanmıştır.
Kullanıcı etkileşimi dokunmatik ekran ve KY-040 rotary encoder ile sağlanır. Sistem, ölçüm verilerini hem anlık değer olarak hem de geçmiş veri grafiği şeklinde sunar.
| Bileşen | Model / Tip | Sistemdeki Görevi |
|---|---|---|
| Ana İşlemci Kartı | STM32 Nucleo-F446ZE | ARM Cortex-M4 tabanlı ana kontrol birimi. Sensör okuma, veri işleme, ekran komutları, zamanlama ve LED kontrolünü yönetir. |
| HMI Grafik Motoru | FT800 EVE Board 4.3" | SPI arayüzlü, 480x272 çözünürlüklü rezistif dokunmatik ekran ve dahili grafik motoru. |
| Çevresel Sensör | DHT11 | Tek hat dijital protokol ile sıcaklık ve bağıl nem ölçümü yapar. |
| Durum Göstergesi | WS2812 5050 RGB Ring | Normal çalışma, veri aktarımı ve alarm durumlarını renkli LED geri bildirimiyle gösterir. |
| Kullanıcı Girişi | KY-040 Rotary Encoder | Menü geçişi, parametre seçimi ve onaylama için kullanılır. |
| Bileşen | Sinyal | STM32 Pin | Açıklama |
|---|---|---|---|
| FT800 Ekran | SPI_MOSI | PA7 | SPI1 veri çıkışı |
| SPI_MISO | PA6 | SPI1 veri girişi | |
| SPI_SCK | PA5 | SPI saat hattı | |
| FT800_CS | PA4 | Chip Select aktif-düşük kontrol hattı | |
| FT800_PDN | PB2 | Power-down / donanımsal reset hattı | |
| DHT11 Sensör | DATA_LINE | PC0 | Yazılımsal hassas zamanlama gerektiren giriş/çıkış hattı |
| WS2812 LED Halka | DI | PB14 / PD1 | Dinamik zamanlamalı tek hat LED kontrol sinyali |
| PC Bağlantısı | TX / RX | PD5 / PD6 | USART2, hata ayıklama ve veri aktarımı, 115200 baud |
Yazılım, STM32 HAL mimarisi üzerine kurulmuştur. Ana döngüde bloklayıcı olmayan zamanlama yaklaşımı kullanılmıştır. Sensör verileri yaklaşık 2000 ms aralıklarla okunurken, ekran yenileme işlemleri yaklaşık 30 ms aralıklarla gerçekleştirilir.
FT800 EVE motoru, grafik nesnelerini Display List komutları ile oluşturur. Butonlar, göstergeler, kadranlar, metinler ve grafik alanları STM32 tarafından SPI üzerinden FT800 komut kuyruğuna gönderilir.
Kritik performans noktası olarak, FT800 dahili SPI FIFO alanının taşmaması için REG_CMD_WRITE ve REG_CMD_READ işaretçileri senkronize edilmiştir.
Sistem, ölçülen verilerin üst bilgisayar yazılımlarına veya endüstriyel sistemlere aktarılabilmesi için farklı veri formatlarını destekleyecek şekilde tasarlanmıştır:
Cihazın saha koşullarında kararlı çalışabilmesi için Fusion 360 üzerinde koruyucu bir mekanik kutu tasarlanmıştır. Kutu; ekran, enkoder, kart yerleşimi, kablolama ve havalandırma gereksinimleri dikkate alınarak modellenmiştir.