Bu proje, STM32F4 Discovery geliştirme kartı kullanılarak hazırlanmıştır. Amaç, MQ2 gaz sensöründen alınan analog veriyi ölçmek, bu değeri 16x2 LCD ekranda göstermek ve belirli bir eşik değer aşıldığında röle aracılığıyla bir yükü (ör. lamba) kontrol etmektir.
Proje, yalnızca CMSIS kütüphanesi kullanılarak yazılmıştır (HAL kütüphanesi kullanılmamıştır). Bu sayede donanım register’larına doğrudan erişim sağlanmıştır.
- Sistem saati 72 MHz PLL ile yapılandırılmıştır.
- SysTick Timer ve DWT kullanılarak ms ve µs cinsinden gecikme fonksiyonları yazılmıştır.
- GPIO konfigürasyonu: Röle kontrolü için PD12 pini çıkış olarak ayarlanmıştır.
- ADC konfigürasyonu: MQ2 gaz sensörü için PA0 pini analog giriş olarak kullanılmıştır.
- LCD (16x2) kontrolü: 4-bit modda çalışacak şekilde konfigüre edilmiştir.
- Sensör verisi ekranda görüntülenir ve sayaç değeri ile birlikte yazdırılır.
- Belirlenen eşik değer üzerinde gaz algılandığında:
- Röle aktif edilerek bağlı yük açılır.
- LCD’de ON yazısı gösterilir.
- Gaz yoksa:
- Röle kapatılır, yük kapanır.
- LCD’de OFF yazısı gösterilir.
- STM32F4 Discovery Board
- MQ2 Gaz Sensörü
- Röle Modülü (5V)
- 16x2 LCD Ekran
- Bağlantı kabloları ve breadboard
- Harici güç kaynağı (gerekirse)
- clock_config() ile sistem saat frekansı 72 MHz’e ayarlanır.
- gpioD_config() ile PD12 pini röle çıkışı olarak hazırlanır.
- lcd_init() çağrılarak LCD 4-bit modda başlatılır.
- gpio_pa0_analog_init() ve adc1_init() ile MQ2 sensörünün bağlı olduğu PA0 pini ADC girişine hazırlanır.
- adc1_read() ile sensör verisi alınır.
- Sensör değeri ekranda gösterilir, sayaç ile birlikte yazdırılır.
- Eğer ADC değeri > 2300 ise röle aktif edilir (relay_pd12(0) → lamba ON).
- Aksi durumda röle kapatılır (relay_pd12(1) → lamba OFF).
- Sol kısım: MQ2 sensöründen okunan değer
- Sağ üst köşe: Sayaç
- Sağ alt köşe: Röle durumu (ON / OFF)
- VCC → 5V
- GND → GND
- IN → PD12
- Röle Çıkışı:
- COM → 220V faz hattı
- NO → Lamba (faz girişi)
- Lamba diğer ucu → 220V nötr hattı
- Derleyici: ARM Keil / STM32CubeIDE / vs.
- Board: STM32F407 Discovery
- Program yükleme: ST-LINK
Bileşen
Pinler Bağlantı Yeri
MQ2 Sensörü
VCC 5V
GND GND
AOUT STM32 PA0
LCD Ekran
RS STM32 PA1
E STM32 PA3
D4-D7 STM32 PB4-PB7
Röle Modülü
VCC 5V
GND GND
IN STM32 PD12