شاید در انجام برخی از پروژه نیاز باشد که در صورت لرزش برد یک کار خاصی صورت گیرد یا به عبارت دیگر در صورتیکه چند بار برد جا به جا شد (تکون خورد) عملکرد برد متوقف شود و یا بالعکس تازه برد شروع به کار کند و … در این مقاله میخواهیم به معرفی سنسور Shock بپردازیم، همانطور هم که از اسم آن مشخص شده است با وجود یک شوک سنسور عمل خواهد کرد که در این مقاله میخواهیم به راهاندازی این سنسور توسط آردوینو بپردازیم.
دقت کنید پایه ای که نوشته Sensor باید به پین آردوینو متصل شود. اگر تصویر را با دقت مشاهده کنید میبینید که دو روش پول آپ و پول دان برای اتصال سنسور وجود دارد.
کد راهاندازی سنسور shock توسط ساختار پول دان
اگر به روند کلی برنامه دقت کنید در واقع کلیت کار به این شکل است که پین متصل شده به سنسور در حال خوانده شدن است و زمانیکه پین متصل شده به میکروکنترلر تغیر وضعیت دادT آنگاه میتوان شرط گذاشت که به ازای این تغیر وضعیت یک عمل خاصی را انجام دهد که در اینجا هدف روشن شدن LED روی برد است. امیدوارم که این آموزش هم برای شما مفید واقع شده باشد.
وسایل موردنیاز جهت راهاندازی سنسور Shock با آردوینو
- آردوینو
- سنسور Shock
- سیم بردبردی
- بردبرد
شماتیک راهاندازی سنسور Shock با آردوینو
کد راهاندازی سنسور Shock با آردوینو
کد راهاندازی سنسور shock توسط ساختار پول آپ1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | // pull-up resistor configuration #define SHOCK_PIN 2 void setup() { pinMode(LED_BUILTIN, OUTPUT); // on-board LED, usually pin 13 pinMode(SHOCK_PIN, INPUT); // shock sensor pin set to input } void loop() { if (digitalRead(SHOCK_PIN)) { // shock detected? // shock not detected with pull-up resistor digitalWrite(LED_BUILTIN, LOW); // switch LED off } else { // shock detected with pull-up resistor digitalWrite(LED_BUILTIN, HIGH); // switch LED on delay(2000); // leave LED on for period } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | // pull-down resistor configuration #define SHOCK_PIN 2 void setup() { pinMode(LED_BUILTIN, OUTPUT); // on-board LED, usually pin 13 pinMode(SHOCK_PIN, INPUT); // shock sensor pin set to input } void loop() { if (digitalRead(SHOCK_PIN)) { // shock detected? // shock detected with pull-down resistor digitalWrite(LED_BUILTIN, HIGH); // switch LED on delay(2000); // leave LED on for period } else { // shock not detected with pull-down resistor digitalWrite(LED_BUILTIN, LOW); // switch LED off } |
سلام ، کارتون دربارهی تهیه منابع آموزش الکترونیک به زبان فارسی خیلی ارزشمنده دمتون گرم یا علی
سلام امیر جان. سپاس از نظر مثبتتان.