Arduino ile Darbe / Tıklama Sensörü Modülü (KY-031 Knock Sensor) Kullanımı

👤 Yazar: ozcan 📅 Tarih: 23.07.2026 17:43 👁️ Görüntüleme: 29

Arduino ile Darbe / Tıklama Sensörü Modülü (KY-031 Knock Sensor) Kullanımı

Bu rehberde, Arduino Uno kontrol kartı ve KY-031 Darbe / Tıklama Sensör Modülü (Knock Sensor) kullanarak fiziksel vuruş, tıklama ve doğrudan darbeleri algılama uygulamasını inceleyeceğiz.

Arduino KY-031 Darbe Sensörü Devre Şeması

Gerekli Malzemeler:
  • 1 x Arduino Uno R3
  • 1 x KY-031 Darbe / Tıklama Sensör Modülü
  • 1 x Breadboard (Devre Tahtası)
  • Yeterli miktarda Jumper Kablo

Devre Bağlantı Detayları

Görseldeki devre şemasına göre bağlantılar şu şekilde yapılmaktadır:

  • Sensör S (Sinyal): Arduino Digital 3 Pini (Mavi Kablo)
  • Sensör + (Orta Pin / VCC): Breadboard üzerinden Arduino 5V Pini (Kırmızı Kablo)
  • Sensör - (GND): Breadboard üzerinden Arduino GND Pini (Siyah Kablo)

Çalışma Prensibi

KY-031 modülü, içerisinde bir yay ve yay içindeki kontak elemanından oluşan mekanik bir vuruntu/darbe anahtarı barındırır. Çalışma mantığı şu şekildedir:

  • 1. Normal (Durağan) Durum: Sensör yüzeyine doğrudan bir fiziksel darbe uygulanmadığı sürece dahili yay serbest haldedir. Kart üzerindeki pull-up direnci vasıtasıyla S sinyal çıkışı HIGH (5V) seviyesinde bekler.
  • 2. Darbe ve Tıklama Anı: Sensör kılıfına bir tıklama, vuruntu veya sert bir darbe geldiğinde, iç kısımdaki esnek yay anlık olarak yer değiştirerek kontak bacağına temas eder. Bu temas devreyi anlık olarak toprağa çeker ve S pini lojik LOW (0V) seviyesine düşer.
  • 3. Algılama Farkı (KY-002 vs KY-031): Titreşim sensörlerine (KY-002) kıyasla KY-031, genel sarsıntılardan ziyade yüzeye yapılan doğrudan vuruntu ve tıklama gibi noktasal fiziksel darbelere daha hassas tepki verecek mekanik yapıya sahiptir.

Örnek Arduino Kodu

const int darbePin = 3;   // KY-031 Sinyal Pini
const int ledPin = 13;     // Dahili Arduino LED'i

int darbeDurumu = 0;

void setup() {
  Serial.begin(9600);
  pinMode(darbePin, INPUT);  // Sensör pini giriş yapıldı
  pinMode(ledPin, OUTPUT);   // LED pini çıkış yapıldı
}

void loop() {
  // Sensörden dijital okuma yap
  darbeDurumu = digitalRead(darbePin);

  // Darbe veya vuruntu algılandığında sinyal LOW seviyesine düşer
  if (darbeDurumu == LOW) {
    digitalWrite(ledPin, HIGH);     // Vuruntu var: Dahili LED'i yak
    Serial.println("Darbe / Tıklama Algılandı!");
    delay(100);                     // Tetiklemeyi net görebilmek için kısa bekleme
  } else {
    digitalWrite(ledPin, LOW);      // Normal durum: LED'i söndür
  }
}

Geliştirme Önerileri ve İpuçları

KY-031 darbe sensörünü projelerinizde efektif şekilde kullanmak için şu ipuçlarını değerlendirebilirsiniz:

  • Tıklama İle Çalışan Akıllı Anahtarlar: Kapıya, masaya veya bir kutu yüzeyine monte edilerek "iki kere tıklatıldığında" ışıkları yakan veya kilit açan akıllı ev sistemlerinde kullanılabilir.
  • Donanımsal Kesme (Interrupt) Entegrasyonu: Fiziksel darbe anlık bir iletim sağladığı için loop döngüsündeki gecikmelerden etkilenmemek adına Arduino'nun 3. pininde donanımsal kesme (attachInterrupt) kullanmanız tavsiye edilir.
  • Debounce (Sıçrama) Filtresi: Yaylı mekanizma temas anında milisaniyelik ark/sıçrama (bounce) yapabilir. Yazılım tarafında iki darbe okuması arasına kısa bir bekleme (örneğin 50-100ms) koyarak tek bir tıklamanın birden fazla sayılmasını engelleyebilirsiniz.

💬 Yorumlar

Henüz yorum yapılmamış. İlk yorumu siz yapın!

Bir Yorum Bırakın

Güvenlik Kontrolü:

Yenidir.com
↑ Sayfa Başı
📞 İletişim ✉ E-Posta Gönder 🟥 YouTube
© 2026 Yenidir.com
Yenidir CMS V0.1