در این پروژه قصد داریم، ابتدا نحوه عملکرد سنسور ضربه و ارتعاش را شرح دهیم و در ادامه، نحوه اتصال این سنسور به برد آردوینو و برنامه نویسی آن توسط نرم افزار آردوینو را بررسی کنیم.
توضیحاتی در مورد سنسور ضربه و ارتعاش
سنسور ضربه و ارتعاش یک وسیله خیلی ساده است که می تواند یک لرزش، شوک و یا ضربه را تشخیص دهد. سنسور ضربه در حقیقت یک سوئیچ الکترونیکی نرمالی Open است و زمانی که یک ضربه یا شوک را تشخیص می دهد، بسته می شود. انوع مختلفی از سنسور ضربه در بازار وجود دارند که ارزان ترین آنها، سنسور ضربه KY-031 است. تصویر زیر، سنسور ضربه مورد استفاده در این پروژه از سری آموزش های آردوینو را نشان می دهد.
سنسور ضربه و ارتعاش
یک سنسور ضربه و ارتعاش از یک فنر ارتعاشی رسانا، یک مقاومت و سه تا پین به وجود آمده است. سه پین سنسور ضربه، پین های 5v+, GND و (signal(out هستند. تصویر زیر اجزای یک ماژول سنسور ضربه و ارتعاش را به طور دقیق نشان می دهد.
شماتیک سنسور ضربه و ارتعاش
برای درک بهتر از کارکرد یک ماژول ضربه و ارتعاش، داشتن شماتیک ساختمانی آن به ما خیلی کمک می کند. تصویر زیر شماتیک یک سنسور ضربه و ارتعاش را نشان می دهد.
نحوه کاردکرد سنسور ضربه و ارتعاش
اگر نگاهی به شماتیک سنسور ضربه و ارتعاش بیاندازید متوجه می شوید که اساسا از یک سوئیچ و یک مقاومت تشکیل شده است. پین خروجی سنسور تا زمانی که ارتعاشی آشکار نکرده باشد توسط مقاومت 10کیلواهم بالا کشنده همواره دارای خروجی مثبت است. و زمانی که سنسور ارتعاش یا شوکی را آشکار می کند سوئیچ الکترونیکی بسته می شود و خروجی سنسور منفی می شود.
طراحی مدار
تا این قسمت از پروژه آموزشی، ما با ساختار و نحوه عملکرد سنسور ضربه و ارتعاش آشنا شدیم و سعی داریم در ادامه، نحوه اتصال این سنسور به برد آردوینو را شرح دهیم. مدار با استفاده از یک سنسور ضربه و ارتعاش، برد آردوینو و یک ال. ای. دی طراحی شده است. این ال. ای. دی زمانی که سنسور ضربه، ارتعاشی را آشکار می سازد روشن می شود.
لیست قطعات مورد نیاز
برد آردوینو Arduino UNO R3 مدل DIP | 1 عدد |
ماژول تشخیص ضربه و ارتعاش KY-031 | 1 عدد |
مقاومت 1 کیلو اهم با توان 0.25 وات و تلرانس 5 درصد | 1 عدد |
لامپ LED قرمز سایز 5mm میلی متر مدل مات | 1 عدد |
برد بورد (پروجکت برد) مدل GL | 1 عدد |
سیم جامپر برد بوردی مدل دو سر نری (سری 40تایی) | 1 عدد |
نحوه اتصال سنسور ضربه و ارتعاش به برد آردوینو
نحوه اتصال سنسور ارتعاش و ضربه به برد آردوینو بسیار ساده و راحت است. به طوری که ابتدا پین های منبع تغذیه و GND سنسور ضربه را به ترتیب به پین های 5V+ و GND آردوینو متصل کنید. سپس پین (S(OUT ماژول KY-031 را به پین شماره 8، I/O برد آردوینو اتصال دهید. و در نهایت پایه مثبت ال. ای. دی را به پین شماره 7 آردوینو متصل کنید. و پایه دیگر ال. ای. دی را به مقاومت و پایه دیگر مقاومت را به GND اتصال دهید. شکل زیر نحوه اتصال سنسور ضربه و ارتعاش KY-031 به برد آردوینو را نشان می دهد.
برنامه نویسی پروژه
بعد از اتصال قطعات به یکدیگر، کدهای زیر را در نرم افزار آردوینو کپی نموده سپس به برد آردوینو آپلود کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
const int knockPin = 8; const int ledPin = 7; int knockVal = HIGH; boolean knockAlarm = false; unsigned long prevKnockTime; int knockAlarmTime = 100; void setup () { Serial.begin(9600); pinMode (ledPin, OUTPUT) ; pinMode (knockPin, INPUT) ; } void loop () { knockVal = digitalRead (knockPin) ; if (knockVal == LOW) { prevKnockTime = millis(); if (!knockAlarm) { Serial.println("KNOCK, KNOCK"); digitalWrite(ledPin,HIGH); knockAlarm = true; delay(1000); } } else { if( (millis()-prevKnockTime) > knockAlarmTime && knockAlarm) { digitalWrite(ledPin,LOW); Serial.println("No Knocks"); knockAlarm = false; } } } |
پایه ی منفی led به کدوم GND و پایه OUT سنسور کدوم GND وصل میشه لطفا جواب بدین
سلام دوست عزیز
نقشه شماتیک مدار کاملا گویا است.
پایه GND سنسور و لامپ LED را می توانید به هریک از پایه های GND بر روی برد آردوینو متصل کنید. همچنین پایه OUT سنسور نیز به پایه دیجیتال شماره 8 برد آردوینو متصل می شود.
سلام خسته نباشید
من همه مراحل را طی کردم و کد هم آپلود شده ولی سنسور هیچ حساسیت به ضربه نشون نمیده و چراغ ال ای دی دایم روشن هستش
سلام دوست عزیز
برای تست و بررسی دقیق مدار جهت یافتن مشکل لطفا سنسور را از مدار خارج کنید و پایه شماره 8 برد آردوینو را توسط یک مقاومت 4/7 کیلو اهمی به مثبت 5 ولت یا پایه 5V بر روی برد آردوینو متصل کنید، حال همان پایه شماره 8 برد آردوینو را توسط یک سیم برای یک لحظه به ولتاژ منفی یا پایه GND برد آردوینو متصل کنید و عملکرد مدار را مشاهده کنید، اگر مدار عملکرد صحیح داشت یعنی مشکل از سنسور شما است.