سنسورهای تیلت Tilt انواع مختلف بر اساس عملکرد دارند. تیلت قابلیتهایی از جمله تشخیص کجی یا تشخیص لزرش را دارد. در این آموزش با استفاده از ماژول تیلت جیوه Magic Light Cup Module که در یک حباب شیشهای قرار دارد. مدار تشخیص کجی دو کاناله میسازیم. به این صورت که دو سنسور تیلت در دو طرف یک قطعه قرار میگیرند، اگر قطعه به سمت راست حرکت کند، رله سمت چپ فعال میشود و اگر قطعه به سمت چپ حرکت کند، رله سمت راست فعال میشود. با این روش و بستن مدار رلهها میتوان کارهای جالبی کرد و این موارد شامل روشن شدن ال ای دی هم میشوند. در ادامه این آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.
ماژول تیلت جیوه Magic Light Cup
تیلت جیوه یا به عبارتی تیلت سوییچ، یک سوییچ برای باز و بسته شدن مدار الکتریکی از طریق یک جیوه مایع در ساختار ماژول میباشد. ماژول تیلت یا تشخیص کجی، دارای ۴ پایه به ترتیب GND ,VCC , Signal , Light میباشد. هنگامی که ماژول تیلت جیوه کج شود، خروجی مدار به پایین تر سطح خود رسیده و سپس ال ای دی توسط پایه light روشن خواهد شد. در واقع ماژول تیلت جیوه magic light cup عمدتا برای تشخیص شیب و کجی استفاده میشود، به این صورت که هنگامی که یکی از ماژولها را به سمت چپ و دیگری را به سمت راست کج کنید، همانند سوییچ باز و بسته عمل کرده همانند ترموستات عمل خواهد کرد. در ادامه به بررسی اتصالات ماژول و راه اندازی آن میپردازیم.
هدف آموزش ماژول تشخیص کجی Magic Light Cup
در این آموزش با استفاده از دو ماژول تیلت جیوه magic ight cup که در پکیج ۳۷ سنسور آردوینو قرار دارد، با استفاده از دو رله تک کانال Relay یک مدار هشدار تشخیص کجی طراحی میکنیم. در این آموزش با انحراف یکی از سنسورها به سمت چپ و سنسور دیگر به سمت راست، جیوه به پایین ترین سطح خود رسیده و سپس ال ای دی تعبیه شده روی ماژول روشن شده و رله تحریک خواهد شد. برای این منظور از دو ماژول جیوه از پکیج ۳۷ سنسور آردوینو و دو ماژول رله تک کانال استفاده میکنیم.
ماژول رله تک کانال Relay Module
رله Relay در الکترونیک همانند کلید عمل میکند. در واقع رلهها سوییچهایی هستند که مدارهای الکترونیکی را باز و بسته میکنند. رله در خروجی دارای ۳ پایه میباشد. پایه وسط مشترک و دو پایه کناری یکی NO به مفهوم Normally Open یعنی به صورت پیش فرض در حالت باز قرار دارد. پایه دیگر NC به مفهوم Normally Close یعنی به صورت پیش فرض در حالت بسته قرار دارد. به طور کلی رله برای انتقال جریان در مدار های الکتریکی کاربرد دارد. در این آموزش از ماژول رله تک کانال که دارای ۳ پایه است، به عنوان کلید قطع و وصل و آلارم استفاده میکنیم. پایه اول پایه ورودی IN1 و دو پایه دیگر به ترتیب GND , VCC می باشد. با توجه به توضیحات گفته شده نیاز به دو ماژول رله تک کانال Relay در آموزش خواهیم داشت که در ادامه نحوهی اتصال آن را توضیح خواهم داد.
وسایل مورد نیاز آموزش Magic Light Cup
دو عدد ماژول تیلت جیوه – magic cup light از پکیج ۳۷ سنسور آردوینو
اتصالات ماژول Magic Light Cup
با توجه به اینکه در این آموزش از دو ماژول تیلت جیوه Magic Light Cup و دو ماژول رله استفاده شده است، یک ماژول تیلت جیوه و یک ماژول رله تک کانال را به عنوان ماژولهای اول و دو ماژول دیگر را به عنوان ماژول دوم در نظر بگیرید. در کدها ماژولها با عنوان چپ و راست تعریف شدهاند. سپس همانند توضیحات زیر، اتصالات را برقرار نمایید:
- پایه ورودی IN1 ماژول رله تک کانال را به پایه ۲ آردوینو اتصال دهید.
- پایه GND ماژول رله تک کانال را به پایه GND آردوینو یا پایه زمین بردبورد اتصال دهید.
- پایه VCC ماژول رله تک کانال را به پایه ۵ ولت آردوینو یا پایه + آردوینو اتصال دهید.
- پایه ورودی IN1 ماژول رله تک کانال ( رله دوم ) را به پایه ۳ آردوینو اتصال دهید.
- پایه GND ماژول رله تک کانال ( رله دوم ) را به پایه GND آردوینو یا پایه زمین بردبورد اتصال دهید.
- پایه VCC ماژول رله تک کانال ( رله دوم ) را به پایه ۵ ولت آردوینو یا پایه + آردوینو اتصال دهید.
- پایه ال ای دی – light ماژول تیلت Magic Light Cup ( ماژول تیلت اول) را به پایه ۵ آردوینو اتصال دهید.
- پایه سیگنال – S ماژول تیلت Magic Light Cup ( ماژول تیلت اول) را به پایه ۷ آردوینو اتصال دهید.
- پایه ال ای دی – ماژول تیلت Magic Light Cup ( ماژول تیلت دوم) را به پایه ۶ آردوینو اتصال دهید.
- پایه ال ای دی – ماژول تیلت Magic Light Cup ( ماژول تیلت دوم) را به پایه ۴ آردوینو اتصال دهید.
- نکته مهم: با توجه به اینکه پایه های GND و VCC ماژول cup light اشتباه نام گذاری شده است، پایه GND ماژول magic cup light را به پایه VCC آردوینو و پایه VCC ماژول magic cup light را به پایه GND آردوینو اتصال دهید.
کد آموزش تشخیص کجی Magic Light Cup
int Relay1 = 2; // پایه ورودی رله اول را به پایه ۲ آردوینو اتصال دهید int Relay2 = 3; // پایه ورودی رله دوم را به پایه ۳ آردوینو اتصال دهید int MagicLed1 = 5; // پایه ال ای دی ماژول جیوه cup light (ماژول اول) را به پایه ۵ آردوینو اتصال دهید int MagicLed2 = 6; // پایه ال ای دی ماژول جیوه cup light (ماژول دوم) را به پایه ۶ آردوینو اتصال دهید int MagicCup1 = 7; // پایه سیگنال ماژول جیوه (ماژول اول) را به پایه ۷ آردوینو اتصال دهید int MagicCup2 = 4; // پایه سیگنال ماژول جیوه ( ماژول دوم) را به پایه ۴ آردوینو اتصال دهید int MagicCupState1 = 0; // تعریف مقادیر اولیه int MagicCupState2 = 0; // تعریف مقادیر اولیه int brightnessLed1 = 0; // تعریف مقادیر اولیه int brightnessLed2 = 0; // تعریف مقادیر اولیه void setup () // تعریف ورودی و خروجی { pinMode (Relay1, OUTPUT); // رله اول را به عنوان خروجی تعریف خواهد شد pinMode (Relay2, OUTPUT); // رله دوم به عنوان خروجی تعریف خواهد شد pinMode (MagicLed1, OUTPUT); // ال ای دی ماژول اول جیوه magic cup light به عنوان خروجی تعریف خواهد شد pinMode (MagicLed2, OUTPUT); // ال ای دی ماژول دوم جیوه magic cup light به عنوان خروجی تعریف خواهد شد pinMode (MagicCup1, INPUT); // پایه سیگنال ماژول اول جیوه magic cup ight به عنوان ورودی تعریف خواهد شد pinMode (MagicCup2, INPUT); // پایه سیگنال ماژول دوم جیوه magic cup light به عنوان ورودی تعریف خواهد شد } void loop () // تعریف حلقه { tiltLeft(); // سنسور تیلت چپ tiltRight(); // سنسور تیلت راست delay(25); // تاخیر } void tiltLeft(){ // تعریف تیلت اول - چپ MagicCupState1 = digitalRead (MagicCup1); // تعریف پایه سیگنال if (MagicCupState1 == HIGH && brightnessLed1 != 255) // اگر تیلت اول در بالاترین سطح باشد، ال ای دی خاموش است { brightnessLed1= 255; // سپس سنسور کج شده و ال ای دی روشن خواهد شد digitalWrite(Relay1, HIGH); // در نهایت رله اول فعال شده } else{brightnessLed1 = 0;} // در غیر اینصورت ال ای دی خاموش شده analogWrite (MagicLed1, brightnessLed1); digitalWrite(Relay2, LOW); // رله دوم غیر فعال خواهد شد delay(100); // تاخیر ۰٫۱ ثانیه } void tiltRight(){ // تعریف تیلت دوم - راست MagicCupState2 = digitalRead (MagicCup2); // تعریف پایه سیگنال if (MagicCupState2 == HIGH && brightnessLed2 != 255) // اگر تیلت دوم در بالاترین سطح خود باشد، ال ای دی خاموش است { brightnessLed2 = 255; // سپس سنسور کج شده و ال ای دی روشن خواهد شد digitalWrite(Relay2, HIGH); // رله دوم فعال خواهد شد } else{brightnessLed2 = 0;} analogWrite(MagicLed2, brightnessLed2); digitalWrite(Relay1, LOW); // رله اول غیر فعال خواهد شد delay(100); }
پروژه:
اخیرا تصمیم گرفتهایم برای تعامل بیشتر با شما کاربران و ایجاد موقعیتی در راستای رقابت دانش کاربران، در انتهای هر آموزش یک پروژه تعریف میکنیم. به اولین کاربری که به پروژه تعریف شده پاسخ صحیح بدهد، بن خرید به ارزش ۳۰ هزار تومان از فروشگاه دانشجو کیت ارایه خواهد شد. پروژه: اجرای این پروژه بسیار راحت است!!! تنها تغییرات را در سریال مانیتور نمایش دهید.
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد.
سلام خدمت خانم مهندس
خیلی ممنونم که آموزش های این پکیج سنسور را منتشر میکنید، بنده حسرت میخورم که چرا زودتر از این به فکر استفاده از اوقات فراغتم نشدم. مرسی که هستین
سلام
خواهش میکنم. امیدوارم مفید واقع شده باشد.
موفق باشید.
سلام
من میخواهم پروژه را انجام دهم، چطور باید ارسال کنم؟
سلام
فایل پروژه انجام شده که شامل کد آردوینو است، در ضمیمه ارسال نمایید. بررسی و از همین طریق اعلام خواهد شد.
سلام
لینک فایل تغییرات خواسته شده برای نمایش خروجی روی سریال مانیتور در زیر می باشد:
https://ufile.io/5bvuz
در صورت داشتن سوال با Telegram اینجانب تماس بگیرید:
@mrmoazami
سلام
بسیار عالی، از توجه شما ممنونم.
بررسی خواهد شد و از همین طریق اعلام خواهم کرد.
سلام مجدد
کدها بررسی شد و صحیح میباشد. کد تخفیف خرید از دانشجوکیت از طریق ایمیل برای شما ارسال خواهد شد.
موفق باشید.
سلام
از بذل عنایت شما متشکرم، ولی هنوز بُن به ایمیل من نرسیده است. لطفاً برای جلوگیری از spam شدن به ایمیل زیر مرحمت فرمایید:
mr.mo**********
با سلام
ضمن عذرخواهی بابت تاخیر بوجود آمده، بن شما به ایمیلی که در این کامنت ثبت کردهاید، ارسال شد. لطفا بررسی کنید و پس از استفاده در همین قسمت، اطلاع رسانی کنید.
با تشکر
مثل همیشه عالی، به نظرم میشه این پروژه را روی صندلی اداری پیاده سازی کرد و در اثر جابجایی بیش از حد معمول، آلارم بزنه، خیلی جالب بود.
سلام
از توجه شما ممنونم.
سنسور تیلت بسیار پرکاربرد خواهد بود و ایده ی شما هم بسیار جذاب است.
موفق باشید.
ممنون از سایت مفیدتون
از توجه شما بسیار ممنونم.