سنسور صوت LM393
سنسور صوت LM393 صوت بالاتر از آستانهای مشخص را تشخیص داده که با استفاده از پتانسیومتر سنسور قابل تنظیم میباشد. با نوشتن این کدها، یک LED زمانی روشن میشود که سطح صوت از یک سطح آستانه بالاتر بوده و سریال مانیتور نشان دهندهی این است که صوت جدیدی تشخیص داده شده و یا صوت قبلی به پایان رسیده باشد. حداقل تاخیر زمانی بین اصوات زمانی رخ میدهد که به جای پیوسته بودن به صورت گسسته درنظرگرفته شوند. کاهش تاخیر زمانی باعث میشود تا حساسیت نسبت به اصوات جدید افزایش یابد. هر زمان که صوت تشخیص داده شده از یک حد ( آستانه ) بالاتر باشد، خروجی بجای HIGH به صورت LOW تنظیم میشود.
جدول اتصال سنسور صوت LM393 به آردوینو
و اتصال به | اتصال به | قطعه |
___ | 5V Arduino | پایه VCC سنسور صوت |
___ | GND Arduino | پایه GND سنسور صوت |
___ | پایه 11 Arduino | پایه OUT سنسور صوت |
___ | پایه 5 Arduino | پایه بلند LED |
GND Arduino | مقاومت 220 اهم | پایه کوتاه LED |
جدول ۱: اتصالات سنسور صوت به برد آردوینو
نحوه اتصال سنسور LM393 به برد آردوینو
کد راه اندازی سنسور صوت LM393 با اردوینو
برای راهاندازی این سنسور از طریق برد آردوینو میتوان کدهای زیر را در IDE آردوینو نوشت:
int soundPin = 11; // sound sensor pin
int LEDpin = 5; // LED pin
int detected = LOW; // sound detect state to LOW
unsigned long detectTime; // time sound detected
int lag = 1000; // time between sounds (ms)
int sound;
void setup ()
{
Serial.begin(9600); // set baud rate for Serial Monitor
pinMode(LEDpin, OUTPUT); // LED pin as output
}
void loop ()
{
sound = digitalRead(soundPin); // read sound pin
if (sound == LOW) // sound detected with LOW, not HIGH
{
detectTime = millis(); // start time of new sound
if (detected == LOW) // if currently no sound
{ // print "new SOUND" and tab
Serial.print("new SOUND");Serial.print("\t");
detected = HIGH; // update sound detect state to HIGH
digitalWrite(LEDpin, detected); // turn LED on
}
}
else if (sound == HIGH) // no sound detected
{ // continuous sound no longer detected
if(detected == HIGH && (millis()-detectTime) > lag)
{
Serial.println("now quiet"); // print "now quiet" with a new line
detected = LOW; // update sound detect state to LOW
digitalWrite(LEDpin, detected); // turn LED off
}
}
}
تیم ردرونیک (redronic) مجموعه ای از آموزش ها و پروژه های مرتبط با آردوینو را برای شما علاقهمندان به الکترونیک و برنامه نویسی فراهم کرده است. جهت مشاهده این پروژه ها اینجا کلیک کنید.