23
Oca
2020

Arduino ile ses sensörü kullanımı

Ses sensörleri; ortam sesini sayısal olarak ölçmek veya ortam sesinin önceden tanımlanmış bir eşik değerinin üzerinde olup olmadığını kontrol etmek için kullanılır. Sensörülerin üzerinde, eşik değerini ayarlamak için potansiyometre bulunur.

Sensörler genellikle 3 veya 4 pinli olarak iki çeşittir.

  • DO (Digital Output) pini; ortam sesi eşik değerinin altındaysa HIGH, üzerindeyse LOW çıkış verir.
  • G (Ground) pini toprak pinidir.
  • V (Voltage) pini +5V gerilim hattına bağlanır.
  • AO (Analog Output) pini ortam sesinin değerini sayısal olarak verir. Bu pin Arduino üzerinde analog girişlerden birine bağlanarak 0-1024 arasında değer okunabilir. 3 pinli ses sensörlerinde bu pin mevcut değildir.

Malzemeler

  • 1 adet Arduino
  • 1 adet 4 pin ses sensörü

Bağlantı şeması

Bu örnek, 4 pin ses sensörü içindir. 3 pin sensör kullanılarak uygulanırsa Arduino’ nun A0 pinine giden hat kullanılmayacak, diğer bağlantılar aynı kalacaktır.

Kaynak kod

void setup() {
  pinMode(7,INPUT);
  pinMode(A0,INPUT);
  Serial.begin(9600);
}

void loop() {
  // Ses seviyesini dijital olarak oku (dijital pin)
  if (digitalRead(7)==HIGH) // Gürültü miktarını eşik değeri ile kıyasla
  {
    Serial.print("Gürültü eşik değer üstünde...");
  }
  else 
  {
    Serial.print("Gürültü eşik değer altında...");
  }
  
  // Ses seviyesini analog olarak oku (analog pin)
  // Bu kısım 3 pinli sensörlerde silinmelidir. 
  int deger = analogRead(A0);  // Gürültü miktarını 0-1024 arasında oku
  Serial.println(deger);  
  
  delay(2000);  // Bir sonraki okuma için 2 saniye bekle
}

Kaynak kod yüklendiğinde, seri port ekranında aşağıdaki gibi bir sonuç görülecektir. Buradaki sayısal değerler, ses sensörü üzerindeki potansiyometre çevrildikçe değişecektir.