ماژول تشخیص شوک و ضربه مهندسیکا مدل Tap-Knock sensor
ماژولهای سازگار با آردوینو به دسته ای از قطعات الکترونیک گفته میشود که علاوه بر سازگاری مشخصات پایه های ورودی و خروجی قابلیت دسترسی به کدهای برنامه نویسی و توابع کتابخانه ای ماژول نیز به سادگی میسر است.این ماژولها همچنین به روشهای ساده تری قابل راه اندازی هستند که نیازی به میکرومنترلر ندارند با توجه به سطح ولتاژ ماژول میتوان به راحتی با ماژول رله 5 ولت مهندسیکا عملکرد را مشاهده نمود، ماژول تشخیص شوک و ضربه کاربردهای متنوعی در رباتیک وهوشمند سازی دارد.
ماژول تشخیص شوک و ضربه و ارتعاش
- Tap-Knock sensor
این ماژول یک سنسور حساس به شوک یا لرزش است که وقتی شوک یا لرزشی را دریافت می کند پین سیگنال آن High می شود، این ماژول می تواند در سیستم های امنیتی و یا مانیوتورینگ استفاده گردد و به راحتی می توانید آن را در کنار برد آردوینو یا هر میکروکنترل دیگری استفاده نمایید.
این سنسور شامل یک فنر است که داخل یک باکس شیشه ای قرار گرفته است. سنسور در حالت عادی خاموش است اما زمانی که لرزش را احساس کند وضعیتش تغییر می کند. درون سنسور فنر و توپ های فلزی وجود دارد که در حالت عادی از یکدیگر جدا هستند و به محض لرزش ، با برخورد به یکدیگر سیگنال تریگر ( Trigger ) را ایجاد می کنند . این ماژول یک سنسور حساس به شوک یا لرزش است که وقتی شوک یا لرزشی را دریافت می کند پین سیگنال آن High می شود، این ماژول می تواند در سیستم های امنیتی و یا مانیتورینگ استفاده گردد و به راحتی می توانید آن را در کنار برد آردوینو یا هر میکرو کنترل دیگری استفاده نمایید.
پایه های این سنسور را در شکل زیر مشاهده می کنید.
- مثبت۵ ولت ورودی به پایه وسط سنسور
- منفی یاGND ورودی به پایه منفی سنسور
- S یا سیگنا خروجی سنسور
راه اندازی با ماژول آردوینو نانو Arduino nano
الف ) شماتیک اتصالات بر روی بردبورد
مطابق شکل :
- پایهء منفی سنسور را به پایه GND یا گراند آردوینو وصل نمایید.
- پایهء مثبت در وسط سنسور را به پایه +۵ ولت ماژول آردوینو وصل نمایید.
- پایهء S یا سیگنال سنسور را به پایه D10 ماژول آردوینو وصل نمایید.
کدهای برنامه نویسی آردوینو
جهت پروگرام کردن با کابل تبدبل USB ماژول آردوینو را به کامپیوتر متصل نمایید .
لینک برنامه اول آردوینو : KY031 ۰۱۶_sketch001_Tape Knock sensor
- const int buttonPin = 10;
- const int ledPin = 13;
- int buttonPushCounter = 0;
- int buttonState = 0;
- int lastButtonState = 0;
- void setup() {
- pinMode(buttonPin, INPUT);
- pinMode(ledPin, OUTPUT);
- begin(9600);
- }
- void loop() {
- buttonState = digitalRead(buttonPin);
- if (buttonState != lastButtonState) {
- if (buttonState == HIGH) {
- buttonPushCounter++;
- println(“on”);
- print(“number of button pushes: “);
- println(buttonPushCounter);
- }
- else {
- println(“off”);
- }
- }
- lastButtonState = buttonState;
- if (buttonPushCounter % 4 == 0) {
- digitalWrite(ledPin, HIGH);
- }
- else
- {
- digitalWrite(ledPin, LOW);
- }
- }
در این برنامه منطق خروجی سنسور خوانده می شود و در صورت تغییر منطق وارد حلقه if می شود. اگر منطق خوانده شده Low باشد ، off و اگر منطق خوانده شده High باشد on به کامپیوتر ارسال می گردد. همچنین تعداد دفعاتی که منطق High شده است شمرده شده و به کامپیوتر ارسال می گردد.
با حرکت سریع و ناگهانی سیگنال را دریافت میکنید .
درون نرم افزار Arduino IDE با کلیک بر روی سریال مانیتور ( Tools -> Serial Monitor ) میتوانید تغییرات مقادیر خوانده شده را ببینید.
راه اندازی با ماژول آردوینو اونو Arduino UNO
الف ) شماتیک اتصالات بر روی ماژول
جهت بالا بردن دقت ماژول پیشنهاد می شود از پین های interrupt میکرو کنترلر خود استفاده کنید.
مطابق شکل :
- پایهء منفی سنسور را به پایه GND یا گراند آردوینو وصل نمایید.
- پایهء مثبت در وسط سنسور را به پایه +۵ ولت ماژول آردوینو وصل نمایید.
- پایهء S یا سیگنال سنسور را به پایه D2 ماژول آردوینو وصل نمایید.
کدهای برنامه نویسی آردوینو نانو و اونو
جهت پروگرام کردن با کابل تبدبل USB ماژول آردوینو را به کامپیوتر متصل نمایید .
لینک برنامه دوم آردوینو : KY031 ۰۱۶_sketch002_Tape Knock sensor
جهت بالا بردن دقت ماژول پیشنهاد می شود از پین های interrupt میکرو کنترلر خود استفاده کنید.
- const byte interruptPin = 2;
- // the setup routine runs once when you press reset:
- void setup() {
- // initialize serial communication at 9600 bits per second:
- begin(9600);
- attachInterrupt(digitalPinToInterrupt(interruptPin), Knock, RISING );
- }
- void Knock() {
- println(“1”);
- delay(2);
- }
- // the loop routine runs over and over again forever:
- void loop() {
- println(“0”);}
پس از آپلود کد با حرکت سریع و ناگهانی سیگنال را دریافت میکنید .
درون نرم افزار Arduino IDE با کلیک بر روی سریال پلاتر ( Tools -> Serial Plotter ) میتوانید تغییرات مقادیر دریافت شده را ببینید.
Weight | 100 kg |
---|---|
Dimensions | 10 × 10 × 5 cm |