Skip to content

yurttaskardelen/14_Buton_LED_Toggle

Repository files navigation

14_Buton_LED_Toggle (Latching Switch Logic)

Bu proje, STM32F407-Discovery kartı üzerinde bir butona basıldığında LED'in durumunu tersine çeviren (AÇIK ise KAPALI, KAPALI ise AÇIK yapan) bir uygulamadır.

Bu depo, HAL_GPIO_TogglePin fonksiyonunun kullanımını ve yaylı (momentary) bir butonu, yazılımsal olarak kalıcı bir anahtara (latching switch) dönüştürme mantığını gösterir.


🎯 Proje Senaryosu ve Mantığı

Bu uygulamanın temel amacı, LED'in mevcut durumunu hafızada tutmak ve her buton basımında bu durumu değiştirmektir.

  1. Algılama: Butona basıldığı (RESET) tespit edilir.
  2. Toggle (Tersleme): HAL_GPIO_TogglePin komutu ile pin 1 ise 0, 0 ise 1 yapılır.
  3. Bekleme (Rate Limiting): İşlemden sonra HAL_Delay(2000) ile 2 saniye beklenir.
    • Neden Bekliyoruz? Mikrodenetleyici çok hızlıdır. Eğer bu bekleme olmazsa, siz butona "bir kere" bastığınızı sanırken, kod binlerce kez çalışıp LED'i gözle görülmeyecek hızda yakıp söndürebilir. Bu bekleme, her basışın tek bir işlem yapmasını garanti altına alır.

⚙️ Pull-Up Konfigürasyonu

Projenin düzgün çalışması için .ioc dosyasında buton pininin (PA0) Pull-Up olarak ayarlanması gereklidir (Önceki buton projeleriyle aynı).

  • Pin: PA0 -> GPIO_Input
  • Resistor: Pull-up
image

🛠️ Gerekli Donanım

  • 1x STM32F407-Discovery Geliştirme Kartı
  • 1x LED
  • 1x 220 Ohm Direnç
  • 1x Push-Button
  • Breadboard ve Jumper Kablolar

🔌 Devre Şeması

Buton bağlantısı Pull-Up mantığına göre (GND'ye) yapılmalıdır.

Bileşen STM32 Pini Bağlantı Detayı
Buton PA0 Bir bacak PA0, diğer bacak GND
LED PA1 Anot -> PA1, Katot -> Direnç -> GND
image

💻 Kod Bloğu

image

🚀 Nasıl Kullanılır?

  1. Bu depoyu klonlayın (git clone ...).
  2. STM32CubeIDE yazılımını açın.
  3. File > Open Projects from File System... seçeneği ile proje klasörünü seçin.
  4. Proje içindeki .ioc dosyasını açarak pin yapılandırmasını inceleyebilirsiniz.
  5. Derleyin (Build) ve ST-Link V2 üzerinden kartınıza yükleyin (Run).

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages