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.