آموزش آردوینو UNO (سنسور تشخیص صدا )

کنترل لامپ ۲۲۰ ولت با بشکن

به آموزش آردوینو ( قسمت هفدهم – سنسور تشخیص صدا ) خوش اومدید.

بازبینی اول : در تاریخ ۱۴۰۰/۰۵/۲۴ انجام شد!

سنسور تشخیص صدا

وقتی ما با میکروفن صحبت میکنیم امواج صوتی ایجاد شده توسط ما به دیافراگم برخورد میکند و باعث ارتعاش اون میشود. با لرزش دیافراگم فاصله صفحات از همدیگه کم میشود و ظرفیت تغییر میکند.این تغییر ظرفیت باعث تغییر ولتاژ میشود که با اندازه گیری اون میتونیم متوجه وجود صدا توی محیط بشیم.

بر روی هر سنسور یه پتانسومتر قرار دارد که با چرخوندن این پتانسومتر میزان حساسیت سنسور تشخیص صدا رو کم و زیاد میکنیم که به محض اینکه صوت به آستانه خاصی رسید خروجی فعال بشود.

از همین تکنیک میتوانیم برای تفکیک صدای بشکن از بقیه صداها استفاده کنیم.

نکته : برای کاهش حساسیت سنسور صدا پتانسومتر رو در جهت عقربه های ساعت و برای افزایش میزان حساسیت سنسور صدا پتانسومتر را در خلاف جهت عقربه های ساعت باید بچرخانیم.

برای اینکه ماژول تشخیص صدا بتواند صدا را تشخیص بدهد نیاز داریم که ماژول رو کالیبره کنیم.

برای کالیبره کردن ماژول طبق دستور العمل زیر عمل میکنیم:

۱-ماژول تشخیص صدا رو به تغذیه وصل میکنیم.

۲-در حالتی که ماژول روشن هست شروع به دست زدن یا بشکن زدن در نزدیکی میکروفن  میکنیم و همزمان پتانسومتر رو هم تغییر میدهیم تا LED خروجی وضعیت در پاسخ به بشکن های ما به حالت چشمک زن در بیاد.

ماژول رله Relay تک کنتاکت

رله Relay  در حقیقت یک کلید مغناطیسی هست که میتواند در ورودی خودش با یک جریان خیلی کوچیک(در حد میلی آمپر) را دریافت کند و در خروجی یه جریان خیلی بالا(در حد چندین آمپر) به ما تحویل بده از این جریان خروجی بالای رله Relay برای کنترل اکثر وسایل برقی و یا قطعاتی که برای راه اندازی خودشان نیاز به جریان بالایی دارند استفاده میکنیم.

COM : این پایه را باید به وسیله برقی که میخواهید کنترلش کنید وصل کنید.

NC : این پایه بصورت پیش فرض به پایه COM رله متصل هست ، مگر اینکه شما یه سیگنال کنترلی از برد آردوینو به ماژول رله بفرستید تا تغییر وضعیت بدهد.

NO : در کانفیگ (Nirmally Open) رله ، این پایه همیشه باز باقی می ماند مگر اینکه ما بصورت نرم افزاری وضعیت ان رو تغییر بدهیم.

IN : این پایه رله رو به برد آردوینو متصل میکنیم.عملکرد پایه بصورت active low هست یعنی اینکه اگه وضعیت پایه LOW باشد رله فعال میشود و وقتی پایه به HIGH تغییر وضعیت بدهد رله خاموش میشود.

VCC : به ولتاژ ۵ ولت متصل میکنیم.

GND : به زمین مشترک مدار متصل میکنیم.

پیاده سازی عملی پروژه

چون توی این پروژه مستقیما با برق شهر کار میکنیم پس نهایت دقت و احتیاط را توی بستن مدار بکنید و نکات زیر را رعایت کنید:

۱-از محکم شدن اتصال مخصوصا اتصالات قسمت خروجی رله که به لامپ وصل میشه اطمینان حاصل کنید.

۲-حتی الامکان از دستکش عایق استفاده کنید.

کد های دستوری

برنامه با معرفی پایه های ۲ و ۱۳ برای اتصال به سنسور تشخیص صوت و رله آغاز میشود.

از متغیر  status  برای نگهداری و ذخیره وضعیت خاموش یا  روشن بودن رله استفاده میکنیم.

const int soundsensor = 2;
const int relay = 13;
int status = false;

در تابع setup ابتدا پایه شماره ۱۳ رو که به رله وصل شده ، به خروجی تغییر وضعیت میدیم.

سپس پایه شماره ۲ رو بعنوان ورودی تعریف میکنیم و مقاومت داخلی آن را هم فعال میکنیم.

void setup() 
{
pinMode(relay, OUTPUT);
pinMode(soundsensor, INPUT_PULLUP);
}

در تابع loop ابتدا با دستور digitalRead وضعیت خروجی سنسور تشخیص صدا رو میخونیم.

اگر خروجی دیجیتال سنسور فعال شده بود با دستور status=!status وضعیت قبلی رله را تغیر میدهیم.اگر رله خاموش باشد روشن می شود.

void loop()
{ 
if (digitalRead(soundsensor) == true)
{
status=!status; 
delay(250);
digitalWrite(relay, status);
} 
while(digitalRead(soundsensor) == true);
delay(250); 
}

کد کامل پروژه

const int soundsensor = 2;     
const int relay =  13;      

int status = false;         

void setup() {

  pinMode(relay, OUTPUT);
  pinMode(soundsensor, INPUT_PULLUP);
}

void loop() {
 
  if (digitalRead(soundsensor) == true) {
   status=!status;
   delay(250);
    digitalWrite(relay, status);
  } while(digitalRead(soundsensor) == true);
  delay(250);
}

پایان آموزش آردوینو ( قسمت هفدهم – سنسور تشخیص صدا ) 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

قبلا حساب کاربری ایجاد کرده اید؟
گذرواژه خود را فراموش کرده اید؟
Loading...