ساخت دیمر ساده با آردوینو

جلسه سیزدهم: ساخت دیمر

یکی از ویژگی های یک خانه هوشمند، تنظیم میزان روشنایی محیط خانه به انتخاب کاربر توسط است. به همین جهت در صنعت برق و تاسیسات برای تنظیم میزان روشنایی نور لامپ ها، از قطعه ای به نام Dimmer (دیمر) استفاده می شود. در حقیقت دیمر یک قطعه الکترونیکی است که بر روی آن یک ولوم (پتانسیومتر) نصب شده است که به واسطه چرخاندن آن می توان میزان روشنایی یک لامپ را تنظیم نمود. در این پروژه از مبحث آموزش آردوینو قصد داریم با استفاده از برد آردوینو یک دیمر ساده بسازیم. بعد از ساخت این دیمر ساده با آردوینو ، شما می توانید با چرخاندن پتانسیومتر متصل شده به برد Arduino، میزان روشنایی یک لامپ LED را که به برد آردوینو متصل شده است را کنترل نمائید.


لیست قطعات مورد نیاز

برد آردوینو Arduino UNO R3 مدل DIP1 عدد
لامپ LED زرد سایز 5mm میلی متر مدل مات1 عدد
مقاومت 220 اهم با توان 0.25 وات و تلرانس 1 درصد1 عدد
ولوم 10kΩ1 عدد
برد بورد (پروجکت برد) مدل GL1 عدد
سیم جامپر برد بوردی مدل دو سر نری (سری 40تایی)1 عدد

توضیحات پروژه ساخت دیمر ساده

برای آزمایش مدار و شروع برنامه نویسی ابتدا لازم است سخت افزار پروژه بسته شود، به همین خاطر ابتدا طبق نقشه شماتیک زیر، پایه وسط پتانسیومتر را از طریق یک تکه سیم به پایه A0 آردوینو متصل کنید. بعد از آن یکی از پایه های پتانسیومتر را به پایه GND و پایه دیگر پتانسیومتر را به پایه 5V بر روی برد آردوینو متصل کنید. در مرحله بعد، پایه مثبت لامپ ال.ای.دی را به یکسر مقاومت 220 اهمی اتصال دهید و سمت دیگر مقاومت را به پایه دیجیتال شمار 9 آردوینو متصل کنید. و در نهایت برای تکمیل مدار پایه منفی لامپ LED را توسط یک تکه سیم به یکی از پایه های GND بر روی برد آردوینو اتصال دهید.

بعد قبل
ساخت دیمر ساده با آردوینو
ساخت دیمر ساده با آردوینو
بعد قبل

برنامه پروژه ساخت دیمر ساده با آردوینو

در برنامه این پروژه، در دو خط شروع برنامه، توسط دو متغیر ثابت برای پایه ورودی آنالوگ A0 و خروجی دیجیتال شماره 9 ، دو نام تعریف کرده ایم. و بعد از آن در دو خط بعدی برنامه دو متغیر از جنس Int با نام sensorValue (جهت ذخیره سازی مقدار خوانده شده آنالوگ از پایه A0) و متغیر outputValue (جهت ذخیره سازی مقدار خروجی که باید بر روی پایه دیجیتال شماره 9 آردوینو اعمال شود) تعریف کرده ایم.

پیکربندی ارتباط پروتکل Uart در آردوینو

از آنجا که در این پروژه می خواهیم مقادیر ورودی و خروجی را در محیط ترمینال نمایش دهیم به همین خاطر توسط دستور Serial.begin() در عملکرد Setup() برای برقراری ارتباط، پروتکل Uart را پیکربندی و فعال می کنیم.

خواندن مقدار آنالوگ و تبدیل آن به دیجیتال در آردوینو

بعد از پیکربندی های اولیه برنامه وارد حلقه اصلی برنامه یعنی عملکرد loop() می شویم. در ابتدای حلقه توسط دستور analogRead() مقدار ورودی پایه آنالوگ A0 آردوینو را خوانده و آنرا در متغیر sensorValue ذخیره می کنیم.

همانطور که در مثال های قبلی بارها ذکر شد مقدار آنالوگ می تواند بین 0 تا 1023 باشد و همچنین بازه عددی دیجیتال در خروجی می تواند بین 0 الی 255 باشد. به همین خاطر در برنامه باید فرمولی نوشت که عدد آنالوگ ورودی را گرفته و به عددی بین 0 تا 255 تبدیل نماید. شاید اولین فرمولی که به ذهن برسد، نوشتن یک شرط جهت دریافت عدد آنالوگ ورودی و تقسیم آن بر عدد 4 باشد، که فرمول درستی نیز است. اما در این مثال ما قصد داریم که یک دستور جدید را معرفی کنیم، که تنها با نوشتن یک خط کد عمل میانگین گیری را انجام می دهد و شما را از نوشتن دستورات شرط بی نیاز می کند.

گرفتن میانگین از متغیرهای ورودی

دستور map()، عملکرد این دستور به این شیوه است که 5 ورودی از شما می گیرد، ورودی اول مقدار ورودی یا همان عددی که قرار است از آن میانگین گرفته شود. ورودی دوم و سوم به ترتیب پایین ترین مقدار و بالاترین مقدار ورودی را نشان می دهند. و ورودی چهارم و پنجم که به ترتیب پایین ترین و بالاترین مقدار خروجی را که قرار است میانگین بر اساس آن گرفته شود را معرفی می کند.

ساخت پالس PWM (ولتاژ آنالوگ) در آردوینو

بعد از اینکه توسط دستور map() مقدار میانگین آنالوگ خوانده شده از پایه A0 آردوینو را بدست آوردیم، نتیجه آنرا در متغیری به نام outputValue ذخیره می کنیم. و سپس توسط دستور analogWrite() آنرا بر روی پایه دیجیتال شماره 9 آردوینو اعمال می کنیم.

چاپ و نمایش مقدار متغیر در محیط ترمینال

در انتهای برنامه، توسط دستور Serial.print() مقدار دو متغیر sensorValue و متغیر outputValue را در محیط ترمینال چاپ می کنیم.

سورس کد برنامه در نرم افزار آردوینو

آموزش صفر تا صد برنامه نویسی بردهای آردوینو – جلسه سیزدهم

 اطلاعات پروژه

 رمز فایل : www.electronics98.com (این مطلب فاقد فایل جهت دانلود است)

 محیط برنامه نویسی : Arduino (IDE)

 برنامه نویسی شده به زبان : ترکیبی از برنامه نویسی به زبان سی (C) یا سی پلاس پلاس (++C)

 نویسنده : فرهاد اکبری

 تاریخ انتشار : 28 آوریل 2018

4 دیدگاه

  1. با سلام چطور می شود براب لامپ های خانه استفاده کرد؟
    خواهش میکنم جواب بدید

  2. سلام دوست عزیز
    برای یافتن پاسخ سوال خود پیشنهاد می کنیم پروژه زیر را مطالعه فرمائید
    کنترل توان مصرف کنندهای AC

  3. سلام ببخشید چطوری میشه جلسات دیگه رو دانلود کرد؟؟؟؟

  4. سلام دوست عزیز
    همه جلسات آموزشی را می توانید از طریق لینک زیر مشاهده فرمائید:
    آموزش پروژه محور آردوینو

 شرایط و قوانین ثبت دیدگاه

 فارسی بنویسید و از کیبورد فارسی استفاده کنید.

 لطفاً بیش‌از‌حدِ معمول، شکلک یا ایموجی استفاده نکنید و از کشیدن حروف یا کلمات با صفحه‌کلید بپرهیزید.

 به کاربران و سایر اشخاص احترام بگذارید. پیام‌هایی که شامل محتوای توهین‌آمیز و کلمات نامناسب باشند، حذف می‌شوند.

 از ارسال لینک‌های سایت‌های دیگر و ارایه‌ی اطلاعات شخصی خودتان مثل شماره تماس، ایمیل و آی‌دی شبکه‌های اجتماعی پرهیز کنید.