Arduino ile Sesle Kontrol Edilebilen Lamba Sistemi (Arduino + Ses Sensörü)

Arduino ile Sesle Kontrol Edilebilen Lamba Sistemi (Arduino + Ses Sensörü)

Arduino ile Sesle Kontrol Edilebilen Lamba Sistemi (Arduino + Ses Sensörü)

Merhaba sevgili Arduino meraklıları!

Bu yazımızda, Arduino kullanarak sesle kontrol edilebilen basit bir lamba sistemi geliştireceğiz. Bu proje hem yeni başlayanlar için harika bir başlangıç noktası olacak, hem de daha deneyimli kullanıcılar için ilham verici bir fikir olabilir. Projemiz, bir ses sensörü ve bir Arduino kartı kullanarak, belirli bir ses komutu algılandığında lambayı açıp kapatacak.

Gerekli Malzemeler

  • Arduino Uno (veya benzeri bir Arduino kartı)
  • Ses Sensörü Modülü (KY-038 veya benzeri)
  • LED Lamba (veya bir röle ile kontrol edilebilen bir lamba devresi)
  • 220 Ohm Direnç (LED için)
  • Jumper Kablolar

Devre Şeması ve Bağlantılar

Devremizi kurarken aşağıdaki bağlantıları dikkatlice yapalım:

  • Ses Sensörü VCC pini -> Arduino 5V pinine
  • Ses Sensörü GND pini -> Arduino GND pinine
  • Ses Sensörü OUT pini -> Arduino Dijital 2 numaralı pinine
  • LED'in anot (+) bacağı -> 220 Ohm direnç üzerinden Arduino Dijital 13 numaralı pinine
  • LED'in katot (-) bacağı -> Arduino GND pinine

Eğer daha güçlü bir lamba kullanmak isterseniz, LED yerine bir röle modülü kullanarak lambanızı kontrol edebilirsiniz. Röle bağlantıları için röle modülünüzün kullanım kılavuzuna başvurmanız önemlidir.

Arduino Kodu

Şimdi de Arduino kartımıza yükleyeceğimiz kodu inceleyelim:


// Pin tanımlamaları
const int sesSensoruPin = 2;   // Ses sensörünün bağlandığı pin
const int ledPin = 13;         // LED'in bağlandığı pin

// Değişkenler
int sesDegeri = 0;          // Ses sensöründen okunan değer
bool lambaDurumu = false;    // Lambanın açık/kapalı durumu

void setup() {
  // Pin modlarını ayarla
  pinMode(sesSensoruPin, INPUT);
  pinMode(ledPin, OUTPUT);

  // Seri haberleşmeyi başlat (debug için)
  Serial.begin(9600);
}

void loop() {
  // Ses sensöründen değeri oku
  sesDegeri = digitalRead(sesSensoruPin);

  // Eğer ses algılandıysa (sesDegeri LOW ise)
  if (sesDegeri == LOW) {
    Serial.println("Ses Algilandi!"); // Seri port ekranına yazdır

    // Lambanın durumunu tersine çevir
    lambaDurumu = !lambaDurumu;

    // Lambayı aç veya kapat
    digitalWrite(ledPin, lambaDurumu);

    // Kısa bir gecikme ile durumu sabitle
    delay(500);
  }
}

Bu kodu Arduino IDE'sine kopyalayıp, kartınıza yükleyin. Kod, ses sensöründen gelen veriyi sürekli olarak okur. Ses algılandığında (sensörden LOW sinyali geldiğinde), lambanın durumunu tersine çevirir (açıksa kapatır, kapalıysa açar). Serial.println komutu, seri port ekranında "Ses Algilandi!" mesajını gösterir. Bu sayede projenizin doğru çalışıp çalışmadığını kontrol edebilirsiniz.

Kodun Açıklaması

  • `const int sesSensoruPin = 2;` ve `const int ledPin = 13;`: Ses sensörünün ve LED'in Arduino kartında bağlandığı pinleri tanımlar.
  • `int sesDegeri = 0;` ve `bool lambaDurumu = false;`: Ses sensöründen okunan değeri ve lambanın mevcut durumunu (açık/kapalı) saklamak için kullanılan değişkenlerdir.
  • `pinMode(sesSensoruPin, INPUT);` ve `pinMode(ledPin, OUTPUT);`: Belirtilen pinlerin giriş (ses sensörü) veya çıkış (LED) olarak ayarlanmasını sağlar.
  • `sesDegeri = digitalRead(sesSensoruPin);`: Ses sensöründen dijital bir değer okur (HIGH veya LOW).
  • `if (sesDegeri == LOW)`: Eğer ses sensöründen LOW sinyali gelirse (yani ses algılandıysa) koşulunu kontrol eder. Çoğu ses sensörü, ses algıladığında LOW sinyali verir.
  • `lambaDurumu = !lambaDurumu;`: Lambanın mevcut durumunu tersine çevirir (TRUE ise FALSE, FALSE ise TRUE yapar).
  • `digitalWrite(ledPin, lambaDurumu);`: LED'i (veya röle üzerinden lambayı) açar veya kapatır.
  • `delay(500);`: Durumu sabitlemek için kısa bir gecikme ekler (yarım saniye). Bu, lambanın çok hızlı bir şekilde açılıp kapanmasını engeller.

Projenin Çalışması

Devreyi kurup kodu yükledikten sonra, ses sensörüne yakın bir yerde (örneğin, elinizi çırparak veya belirli bir kelime söyleyerek) ses çıkarın. Sensör sesi algıladığında, lamba açılacak veya kapanacaktır. Ses komutunuzun net ve yüksek olduğundan emin olun.

Geliştirme Fikirleri

  • Farklı ses komutları için farklı lambaları kontrol edebilirsiniz.
  • Ses sensörünün hassasiyetini potansiyometre ile ayarlayabilirsiniz.
  • Bluetooth modülü ekleyerek, lambayı akıllı telefonunuzdan kontrol edebilirsiniz.
  • Ev otomasyonu sisteminize entegre edebilirsiniz.

Umarım bu proje size Arduino dünyasına güzel bir giriş yapmanız için yardımcı olur. Herhangi bir sorunuz olursa, yorumlarda belirtmekten çekinmeyin. İyi kodlamalar!

Etiketler: arduino, ses sensörü, lamba kontrolü, elektronik, proje, kendinyap, otomasyon, sesle kontrol

```

0 yorum: