آردوینو شیلد Multifinction پروژه های آردوینو

آموزش کار با شیلد مولتی فانکشن آردوینو کنترل سرو موتور و خروجی رله Relay

Multifunction-Arduino-servo-and-relay--digispark
نوشته شده توسط پریسا پوربلورچیان

استفاده از شیلد باعث کاهش سیم کشی و سادگی در نصب می‌باشد. همچنین وجود یک شیلد با سنسورهای پرکاربرد و خروجی آنالوگ و دیجیتال از اهمیت ویژه‌ای برخوردار است. شیلد مولتی فانکشن آردوینو Multifunction با در اختیار داشتن سنسورها و رابط کاربری یکی از پرطرفدارترین شیلدهای آردوینو به شمار می‌آید. شیلد مولتی فانکشن از سنسور دما DS18B20، ال ای دی، پتانسیومتر ۱۰K، رابط گیرنده مادون قرمز، رابط سریال برای اتصال ماژول‌های دارای خروجی سریال، ۴ کلید فشاری،بیزر و نمایشگر سون سگمنت، سنسور LM35، ماژول تشخیص کلام Voice Rwcognition، mpu6050 تشکیل شده است. به صورت کلی شیلد مولتی فانکشن را به سه قسمت تقسیم و تحلیل خواهیم کرد. بخش اول ورودی و خروجی اصلی، بخش دوم خواندن سنسورها و بخش سوم اجرای پروژه و کنترل از طریق اپلیکیشن است. در ادامه با مرجع آردوینو به زبان فارسی ، دیجی اسپارک همراه باشید.

 

یک: ورودی خروجی Input / Output

بخش اول به بررسی سنسورها و رابط‌های قرار گرفته بر روی ماژول می‌پردازیم. بر روی شیلد ۱۲ پایه پرکاربرد GND, 5V, 5, 6, 9, A5 جداگانه قرار گرفته است. می‌توانید با لحیم کاری پین هدر نری و یا مادگی بر روی شیلد دیگر پایه های دیجیتال و آنالوگ را در اختیار داشته باشید. ۴ میکروسوییچ S1, S2, S3, RESET  بر روی شیلد قرار گرفته است. توسط سه کلید S می‌توانید کنترل سنسورها را به راحتی در اختیار داشته باشید. با فشردن هر یک از سه کلیدها و تعریف در کد برنامه وضعیت عملکرد سنسورها تغییر خواهد کرد. همچنین می‌توانید توسط آن منو Menu تعریف کنید. با فشردن کلید RESET برنامه ریست خواهد شد.

 

دو: ارتباط با سنسور Reading Sensor

برای اجرا و عملکرد هر یک از سنسورها و رابط‌های قرار گرفته شده بر روی شیلد Shield نیاز به فراخوانی کتابخانه داریم. با فراخوانی کتابخانه هر یک از سنسورها همانند LM35، DS18B20، SRF05 و … دیتای سنسورها دریافت و خوانده خواهد شد. این بخش بسیار مهم خواهد بود. فراخوانی کتابخانه و نحوه‌ی اتصال سنسورها به شیلد از اهمیت ویژه‌ای برخوردار است. در ادامه آموزش‌های شیلد مولتی فانکشن آردوینو به بررسی تمامی سنسورهای به کار رفته و راه اندازی آن‌ها خواهیم پرداخت.

 

سه: اجرا و کنترل پروژه

پس از انتخاب سنسورهای مورد نظر و فراخوانی کتابخانه‌های آن، برنامه مورد نظر را اجرا خواهیم کرد. شیلد مولتی فانکشن آردوینو Multifunction قابلیت اتصال همزمان چند ماژول و استفاده از رابط‌های آن را در طول اجرای یک پروژه دارد. به عنوان مثال با اتصال سنسور SRF به شیلد مولتی فانکشن، پس از تشخیص فاصله، عدد فاصله توسط سون سگمنت قرار گرفته شده بر روی ماژول نمایش داده می‌شود. با نزدیک شدن شی مورد نظر به سنسور SRF، توسط ماژول بیزر آلارم ارسال خواهد شد. از این رو با فراخوانی هر یک از سنسورها و کتابخانه‌های آن‌ها پروژه‌های متفاوتی همانند کنترل سرو، نمایش دما و طراحی ترموستات، فاصله سنج و … اجرا خواهد شد. در ادامه با یک آموزش کاربردی و استفاده همزمان از چند سنسور و رابط شروع خواهیم کرد.

Arduino Multifunction shield tutorial 2-digispark

معرفی پروژه شیلد مولتی فانکشن

همانطور که توضیح داده شد، پروژه‌های متنوعی در خصوص این شیلد در دست تولید است. در این پست توسط شیلد مولتی فانکشن آردوینو Multifunction کنترل یک سرو موتور و چرخش در زوایای متفاوت را در اختیار خواهیم داشت. در ادامه به بررسی ورودی و خروجی، فراخوانی کتابخانه‌های مورد نیاز، اتصالات و در نهایت کد برنامه خواهیم پرداخت.

 

وسایل مورد نیاز

شیلد آردوینو مولتی فانکشن Arduino Multifunction Shield

برد آردوینو Arduino UNO 

سرو موتور SG90

ماژول رله Relay

کابل فلت نری به مادگی

کابل فلت مادگی به مادگی

 

سرو موتور SG90

سرو موتور SG90، ماژولی با ابعاد کوچک و کم وزن با توان خروجی بالایی است. شافت خروجی سرو موتور Servo motor SG90 توانایی چرخش با زاویه ۱۸۰ درجه در هر مسیر ۹۰ درجه را دارند.خروجی سرو موتورها به صورت پالس بوده و در حالت “۰”  با پالس ۱٫۵ میلی ثانیه در حالت وسط ، در “۹۰” با پالس ۲ میلی ثانیه تنها در جهت راست، در “۹۰-” با پالس ۱ میلی ثانیه تنها در حالت چپ خواهد چرخید. ولتاژ کاری سرو موتور Servo motor SG90 بین ۴٫۸ تا ۵ ولت DC است. سرو موتور SG90 دارای سه پایه به ترتیب GND , VCC , Signal می‌باشد. سیم قهوه ای پایه GND ، سیم قرمز پایه VCC و سیم نارنجی پایه سیگنال (S) می‌باشد.

 

رله Relay

ماژول رله Relay دارای ولتاژ ۵ ولت و ولتاژ خروجی ۲۲۰ ولت می‌باشد. رله Relay دارای توان ۱۰ آمپر است و برای پروژه‌های DIY مناسب می‌باشد.  رله Relay در الکترونیک همانند کلید عمل می‌کند. در واقع رله‌ها سوییچ‌هایی هستند که مدارهای الکترونیکی را باز و بسته می‌کنند. رله در خروجی دارای ۳ پایه می‌باشد. پایه وسط مشترک و دو پایه کناری یکی NO به مفهوم Normally Open یعنی به صورت پیش فرض در حالت باز قرار دارد. پایه دیگر NC به مفهوم Normally Close یعنی به صورت پیش فرض در حالت بسته قرار دارد. برای اطلاعات بیشتر به پست شیوه اتصالات رله در کنترل وسایل برقی مراجعه کنید. به طور کلی رله برای انتقال جریان در مدار های الکتریکی کاربرد دارد. در این آموزش نیاز به دو رله خواهیم داشت. از این رو می‌توانید از رله ۲ تا ۴ کانال استفاده کنید. در این آموزش از رله چهار کانال استفاده شده است، که انتخاب رله دلخواه است.

 

اتصالات پروژه مولتی فانکشن

همانطور که در تصویر زیر مشخص شده است، شیلد مولتی فانکشن با در اختیار داشتن پایه‌های پرکاربرد روی شیلد تا حدودی عدم نیاز به پورت‌های دیگر را کاهش داده است. شیلد را در جهت صحیح مقابل خود قرار دهید. پایین شیلد سمت راست ۱۲ پایه در سه ردیف چهارتایی در کنار یکدیگر قرار گرفته‌اند. این پایه‌ها به ترتیب GND، تغذیه ۵ ولت، پایه‌های دیجیتال ۵،۶،۹ و پایه آنالوگ A5 می‌باشد. جهت سهولت اتصالات در کدهای برنامه از این ۴ پایه دیجیتال و آردوینو استفاده خواهیم کرد. دقت کنید هیچ تفاوتی در انتخاب پایه‌ها وجود ندارد و تنها با لحیم کاری پایه‌های اصلی بر روی شیلد، تمامی پایه‌های دیجیتال و آنالوگ را در اختیار خواهید داشت.

  • پایه سیگنال S سرو موتور SG90 را به پایه ۹ شیلد مولتی فانکشن اتصال دهید.
  • پایه VCC سرو موتور SG90 را به پایه ۵ ولت شیلد مولتی فانکشن اتصال دهید.
  • پایه GND سرو موتور SG90 را به پایه GND شیلد مولتی فانکشن اتصال دهید.
  • پایه VCC ماژول رله Relay را به پایه GND شیلد مولتی فانکشن اتصال دهید.
  • پایه GND ماژول رله Relay را به پایه ۵ ولت شیلد مولتی فانکشن اتصال دهید.
  • پایه ورودی یک IN1 ماژول رله Relay را به پایه ۵ شیلد مولتی فانکشن اتصال دهید.
  • پایه ووردی دو IN2 ماژول رله Relay را به پایه ۶ شیلد مولتی فانکشن اتصال دهید.

Arduino Multifunction shield tutorial-digispark

 

فراخوانی کتابخانه شیلد مولتی فانکشن

همانطور که در مقدمه آموزش گفته شد، برای خواندن اطلاعات ماژول‌ها نیاز به فراخوانی کتابخانه ماژول مورد استفاده خواهیم داشت. در این آموزش از سرو موتور SG90 به عنوان خروجی اصلی شیلد مولتی فانکشن آردوینو Multifunction استفاده می‌کنیم. برای راه اندازی سرو موتور SG90 نیاز به فراخوانی کتابخانه سرو خواهیم داشت. کتابخانه Servo به صورت پیش فرض در لیست کتابخانه های آردوینو Arduino قرار گرفته شده است. آن را انتخاب و فراخوانی کنید. همچنین لینک دانلود کتابخانه سرو Servo به صورت مجزا در صفحه محصول سرو موتور SG90 در قسمت دانلود قرار گرفته است. با کلیک بر روی آن کتابخانه را دانلود و در مسیر Arduino/Libraries کپی کنید. اگر شیوه فراخوانی کتابخانه در آردوینو را نمیدانید، به پست آموزش نصب کتابخانه در آردوینو مراجعه کنید.

 

 

کد آردوینو شیلد مولتی فانکشن و سرو

 

مهمان گرامی، جهت دسترسی به کدهای این پروژه، اسپارکر شوید.

 

 

تحلیل کد مولتی فانکشن

در ابتدا کد را از طریق کلید میانبری که برای انتقال کدها در نظر گرفته شده است، در نرم افزار آردوینو جایگذاری کنید. کدهای برنامه در هر خط تعریف شده است. پس از اتصال سرو موتور و رله به شیلد مولتی فانکشن برنامه را اجرا خواهیم کرد. همانطور که بر روی شیلد نمایان است، سه کلید S1-A1، S2-A2, S3-A3 بر روی شیلد مولتی فانکشن آردوینو Multifunction قرار گرفته شده است. با فشردن هر یک از سه کلید سرو در زوایای تعریف شده به چرخش در می‌آید. ابتدا در برنامه کتابخانه سرو موتور را فراخوانی می‌کنیم. سپس پایه‌های رله و نمایشگر سون سگمنت را تعریف خواهیم کرد. در این پروژه دو رله برای خروجی در نظر گرفته شده است. با انتخاب دو حالت LOW و HIGH وضعیت هر یک از رله‌ها را در طول برنامه تعریف خواهیم کرد. سپس پایه سیگنال سرو موتور را در کد برنامه تعریف می‌کنیم. سه کلید در برنامه به عنوان ورودی اصلی تعریف خواهند شد. با هر بار فشردن کلیدها آلارم توسط بیزر قرار گرفته شده بر روی ماژول به صدا در خواهد آمد. همچنین کلید RESET برای ریست کردن پروژه تنظیم شده است. با هر بار ریست کردن مولتی فانکشن، رله‌ها به وضعیت ثابت تبدیل گشته و سرو موتور به حالت اولیه باز خواهد گشت. حال به بررسی کلیدها و تغییرات ماژول رله و سرو موتور خواهیم پرداخت.

 

کلید S1 – A1

با فشردن کلید S1-A1  هر دو رله فعال شده و روشن خواهد شد. با روشن شدن رله فرمان به سرو موتور ارسال شده و سرو با زاویه ۹۰ درجه به چرخش در خواهد آمد.

کلید S2 – A2

با فشردن کلید S2-A2 رله اول فعال و رله دوم غیر فعال خواهد شد. سپس سرو با زاویه ۱۸۰ درجه به چرخش در خواهد آمد.

کلید S3 – A3

با فشردن کلید S3-A3 رله دوم فعال و سپس رله اول غیر فعال خواهد شد. سپس سرو با زاویه ۹۰ درجه به چرخش در خواهد آمد. مجددا با فشردن کلید S1 – A1 سرو به چرخش در آمده و به جهت اولیه یاز خواهد گشت.

 

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

 

پروژه

اخیرا تصمیم گرفته‌ایم برای تعامل بیشتر با شما کاربران و ایجاد موقعیتی در راستای رقابت دانش کاربران، در انتهای هر آموزش یک پروژه تعریف می‌کنیم. به اولین کاربری که به پروژه تعریف شده پاسخ صحیح بدهد، بن خرید به ارزش ۳۰ هزار تومان از فروشگاه دانشجو کیت ارایه خواهد شد. پروژه: کدهای این آموزش را جوری تغییر دهید که با فشردن کلید A1 سرو ۳۰ درجه حرکت کند و روی سگمنت عدد ۳۰ را نمایش دهد. سپس با فشردن کلید A2 سرو ۶۰ درجه حرکت کند و روی سگمنت عدد ۶۰ را نمایش دهد. در نهایت با فشردن کلید A3 سرو ۹۰ درجه به عقب برگشت کند و روی سگمنت عبارت ۹۰- را نمایش دهد.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

درباره نویسنده

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۳۴ دیدگاه