Merhaba arkadaşlar ! Arduino serimizi beğendiniz mi? Tüm yorumlarınızı ve düşüncelerinizi blogumuzda ve YouTube kanalımızda bizlerle paylaşabilirsiniz. Serimizin bu yazısında sizlere ses sensörü modülümüzden bahsedeceğiz ve birlikte sesle çalışan motor uygulaması yapacağız.

Bir önceki yazımızda birlikte Ultrasonik Sensör kullanmıştık >>> Arduino ile Basit Park Sensörü Yapımı !

Arduino İle Dijital Ses Tanıma


Gerekli malzemeler:

Arduino Ses Tanıma Modülü-Sensörünü İnceleyelim

Arduino ile uyumlu ses sensörü modülü ile farklı boyutlardaki sesler değerleri tanınabilmektedir. Ses tanıma modülüne aynı zamanda mikrofon da diyebiliriz. Bu sayede fiziksel olarak algılanan ses değerleri, Arduino’ya bir giriş sinyali sağlayacaktır. Bu sayede çıkışa bağlı LED, motor gibi aktüatörleri ses ile kontrol edebilmekteyiz. Ses sensörü ile analog ve dijital değerler okumamız mümkün; biz bu uygulamamızda dijital değerler ile çalışacağız.

Ses sensör modülünü daha detaylı incelemek için yazımızı ziyaret edebilirsiniz >>> Arduino ile Ses Sensör Modülü

Diğer bütün sensörler hakkında bilgi almak için yazımızı inceleyin >>> Sensör Nedir? Sensör Çeşitleri Nelerdir?

Arduino Ses ile Motor Kontrol Devresi

Devremizi aşağıdaki gibi kuralım:

Arduino Ses Sensörü ile Motor Kontrol Devresi

Ses Sensörü ile Motor Kontrolü Arduino Kodu

Arduino kodumuzu aşağıdaki gibi yazalım:

#define echoPin 6
#define SensorPin 3
#define MotorPin 5 
int MotorDurum = LOW;

void setup() {
 
  pinMode(SensorPin, INPUT);
  pinMode(MotorPin, OUTPUT);
}

void loop() {
  

  if( digitalRead(SensorPin) ){

    if(MotorDurum == LOW){

      MotorDurum = HIGH;
    }
    else{

      MotorDurum = LOW;
    }

    digitalWrite(MotorPin, MotorDurum);

  }
  delay(50);
  

}

4 Yorumlar

  1. Bu kodlamaya göre ses duymadığı zaman motor çalışmıyor. Kodlamayı şöyle nasil tasarlarız? Çalış sesini veya parmak şıklatmayı bir kere duycak sürekli çalışma moduna girecek, bir kere daha ses duyarsa duracak. ?

  2. Hocam iyi akşamlar;

    Projemde ses sensörüne bağlı motorum sesi algılayınca belli bir mesafe gidip 30 saniye bekleyip tekrar ilk başladığı konuma gitmesi gerekiyor bunu nasıl yapabilirim?

  3. #define echoPin 6 (6. pin ses dinleme)
    #define SensorPin 3 (3. pin sensör)
    #define MotorPin 5 (5. pin motor) tanımlamaları mı yapılıyor?
    int MotorDurum = LOW;

    void setup() {

    pinMode(SensorPin, INPUT);giriş ve çıkış pinleri belirleniyor
    pinMode(MotorPin, OUTPUT);
    }

    void loop() {

    if( digitalRead(SensorPin) ){

    if(MotorDurum == LOW){

    MotorDurum = HIGH;
    } sensör pindeki dijital değeri oku eğer motor çalışmıyor ise çalıştır
    else{

    MotorDurum = LOW; Çalışıyor ise durdur.
    }

    digitalWrite(MotorPin, MotorDurum); Motorun durumunu (çalıştığı yada durduğunu) motorpin değişkenine ata.

    }
    delay(50);

    Açıklamalar doğru mu? Veya kodu satır satır açıklayabilir misiniz?

    }

  4. echopin diye bir şey yok. Dikkat edilirse devrede echopine bağlanan bir şeyde yok. Hatalı yazılmış. bir hatada setlerle birlikte satılan arduino uygulama kitabında var. 7. pinden bahsediyor ve 300 milisaniye motorun çalışacağından. yanlış! motor, sensör tetiklendiğinde sürekli çalışıyor. tekrar tetiklenene kadar.

CEVAP VER

Please enter your comment!
Please enter your name here