Arduino Ses Sensörü Kullanımı

Ses sensörü, genellikle bir mikrofon, bir operasyonel amplifikatör (op-amp) ve bir çıkış sinyal devresi içerir. Arduino projelerinde sesin varlığına veya yüksekliğine bağlı olarak tepki veren sistemler kurmak için kullanılır.Bazı modellerinde hem dijital çıkış hem de analog çıkış alınabilmektedir.

Gerekli Malzemeler

  • Arduino
  • Breadboard
  • 3 adet 220R Direnç
  • 3 adet farklı renklerde led(Kırmızı,Sarı,Yeşil) veya ortak katot RGB LED
  • Jumper kablolar
  • Ses sensörü

Devre Şeması

Devrenin Kodu

#define SES_SENSORU A0 //Ses sensörü OUT pini

#define RED_LED 7 //Kırmızı ledin pini
#define RED_TRESHOLD 600  //Kırmızı ledin eşik değeri

#define YELLOW_LED 8 //Sarı Ledin pini
#define YELLOW_TRESHOLD 400 //Sarı ledin eşik değeri

#define GREEN_LED 9  //Yeşil Ledin pini
#define GREEN_TRESHOLD 200 //Yeşil ledin eşik değeri

void setup() {
  Serial.begin(9600); //Seri Monitörü 9600 BaudRate de başlatıyoruz.
  pinMode(RED_LED,OUTPUT); //Kırmızı ledin pinini çıkış olarak ayarlıyoruz.
  pinMode(YELLOW_LED,OUTPUT); //Sarı ledin pinini çıkış olarak ayarlıyoruz.
  pinMode(GREEN_LED,OUTPUT); //Yeşil ledin pinini çıkış olarak ayarlıyoruz.
}

void loop() {
  int deger=analogRead(SES_SENSORU);  //Ses sensöründen gelen veriyi analog olarak okuyoruz.(0-1023 arası)
  Serial.println(deger);//Ses sensöründen gelen veriyi Seri monitöre yazdırıyoruz.
  if (deger > RED_TRESHOLD) { //Kırmızı led için eşik değeri kontrolü
    digitalWrite(RED_LED, HIGH);   // Kırmızı LED'i yak
    digitalWrite(YELLOW_LED, LOW); // Sarı LED'i söndür
    digitalWrite(GREEN_LED, LOW);  // Yeşil LED'i söndür
  } 
  else if (deger > YELLOW_TRESHOLD) { //Sarı led için eşik değeri kontrolü
    digitalWrite(RED_LED, LOW);    // Kırmızı LED'i söndür
    digitalWrite(YELLOW_LED, HIGH); // Sarı LED'i yak
    digitalWrite(GREEN_LED, LOW);  // Yeşil LED'i söndür
  } 
  else if (deger > GREEN_TRESHOLD) { //Yeşil led için eşik değeri kontrolü
    digitalWrite(RED_LED, LOW);    // Kırmızı LED'i söndür
    digitalWrite(YELLOW_LED, LOW); // Sarı LED'i söndür
    digitalWrite(GREEN_LED, HIGH); // Yeşil LED'i yak
  } 
  else { //Ledlerin eşik değeri aralığında değilse ledleri kapatıyoruz
    digitalWrite(RED_LED, LOW);    // Kırmızı LED'i söndür
    digitalWrite(YELLOW_LED, LOW); // Sarı LED'i söndür
    digitalWrite(GREEN_LED, LOW);  // Yeşil LED'i söndür
  }
  
  delay(100);  // Biraz bekliyoruz
}

Etiketlendi:

Bir Cevap Yazın

Maker Günlüğü sitesinden daha fazla şey keşfedin

Okumaya devam etmek ve tüm arşive erişim kazanmak için hemen abone olun.

Okumaya Devam Edin