آردوینو آموزش آردوینو پروژه های آردوینو پکیج سنسور آردوینو

آموزش ماژول روتاری انکودر از پکیج ۳۷ سنسور آردوینو سرو موتور و LED RGB

Arduino-Rotary-Encoder-servo-motor-led-rgb-Module-digispark
نوشته شده توسط پریسا پوربلورچیان

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

 

ماژول روتاری انکودر – Rotary Encoder

ماژول روتاری انکدر Rotary Encoder با استفاده از شافتی که بر روی ماژول قرار دارد، در دو جهت مثبت و منفی به چرخش در می‌آید. با چرخش شافت ماژول روتاری انکودر Rotary Encoder در دو جهت، فرکانس خروجی به صورت پالس تولید می‌شود. تعداد دوران شافت ماژول روتاری انکودر بی‌نهایت است. بر روی شافت ماژول روتاری یک سوییچ قرار گرفته است که با فشار میکروسوییچ، حرکت شافت ریست شده و به حالت اولیه باز می‌گردد و مجددا از دوران ۰ شروع خواهد شد. شافت روتاری انکدر دارای ۳ پایه A,B,C است. در طرف دیگر شافت دو سوییچ قرار دارد که یکی از آن ها به پین A , C  و سوییچ دیگری به پین B , C متصل است. با هر حرکت شافت انکودر، سوییچ ها باز و بسته می‌شوند. در حالت اول اگر هر دو سوییچ بسته باشند، با چرخش شافت در جهت عقربه های ساعت یا خلاف جهت عقربه های ساعت، هر دو سوییچ باز خواهد شد و برای حالت دوم نیز برعکس اتقاف خواهد افتاد. در واقع در حالت کلی خروجی به صورت پالس تولید شده و سوییچ های A , B , C به صورت باز و بسته عمل خواهند کرد. ماژول روتاری انکدر دارای ۵ پایه به ترتیب GND, VCC , SW , DT , CLK می‌باشد. هنگامی که سوییچ‌ها در حالت open یعنی باز باشند، خروجی پالس در بالاترین سطح خود و هنگامی که سوییچ‌ها در حالت close یعنی بسته باشند، خروجی پالس در پایین ترین سطح قرار می‌گیرد. در ادامه به بررسی اتصالات و راه اندازی ماژول روتاری انکودر خواهیم پرداخت.

 

هدف آموزش ماژول Rotary Encoder

با چرخش شافت ماژول روتاری انکودر در دو جهت چپ و راست، با اتصال یک سرو موتور در خروجی، سرو در زاویه ۱۸۰ درجه تغییر خواهد کرد. برای بررسی دقیق تر وضعیت ماژول روتاری و سرو موتور، در خروجی از یک ماژول LED RGB SMD استفاده می‌کنیم. با چرخش شافت روتاری انکودر در جهت عقربه های ساعت، سرو موتور ۱۸۰ درجه میچرخد و سپس ماژول ال ای دی LED RGB به رنگ قرمز تغییر رنگ خواهد داد. همچنبن با چرخش شافت در خلاف جهت عقربه های ساعت، مجددا سروو به چرخش در آمده و ماژول ال ای دی LED RGB به رنگ سبز تغییر رنگ خواهد داد. در ادامه به بررسی اتصالات خواهیم پرداخت.

 

سرو موتور SG90

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

ماژول ال ای دی LED RGB SMD

ماژول SMD Color دارای یک ال ای دی سه رنگ RGB با چهار پایه جهت کنترل رنگ و تولید رنگ‌های متفاوت می‌باشد. ال ای دی RGB از سه رنگ RED,BLUE,GREEN تشکیل شده است که از ترکیب این سه رنگ می‌تواند بیش از ۱۶ میلیون رنگ را تولید کند. سه رنگ آبی ،قرمز، سبز ۸ بیتی می‌باشند که دارای مقادیر عدد صحیح ۰ تا ۲۵۵ هستند. به عنوان مثال با ترکیب این سه رنگ ۲۵۶*۲۵۶*۲۵۶ =۱۶۷۷۷۲۱۶ رنگ تولید خواهد شد.

 

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

ماژول روتاری انکودر Rotary Encoder از پکیج ۳۷ سنسور آردوینو

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

شیلد آردوینو پروتوتایپ Arduino Shield UNO Prototype

 

 

 اتصالات ماژول روتاری انکودر

  •  پایه CLK ماژول روتاری انکودر – Rotary Encoder را به پایه ۳ آردوینو اتصال دهید.
  • پایه DT ماژول روتاری انکودر – Rotary Encoder را به پایه ۴ آردوینو اتصال دهید.
  • پایه SW ماژول روتاری انکودر – Rotary Encoder را به پایه ۸ آردوینو اتصال دهید.
  • پایه VCC ماژول روتاری انکودر – Rotary Encoder را به پایه ۵ ولت آردوینو اتصال دهید.
  • پایه GND ماژول روتاری انکودر – Rotary Encoder را به پایه GND آردوینو اتصال دهید.
  • پایه سیگنال (S) سرو موتور SG90 را به پایه ۱۰ آردوینو اتصال دهید.
  • پایه VCC سرو موتور SG90 را به پایه ۵ ولت آردوینو اتصال دهید.
  • پایه GND سرو موتور SG90 را به پایه GND آردوینو اتصال دهید.
  • پایه RED ماژول ال ای دی RGB را به پایه ۶ آردوینو اتصال دهید.
  • پایه GREEN ماژول ال ای دی RGB را به پایه ۵ آردوینو اتصال دهید.
  • پایه GND ماژول ال ای دی RGB را به پایه GND آردوینو اتصال دهید.

فراخوانی کتابخانه

در این آموزش برای راه اندازی سرو موتور نیاز به کتابخانه Servo خواهیم داشت. کتابخانه سرو Servo به صورت پیش فرض در مسیر Sketch / Include library / Arduino Libraries قرار دارد . می‌توانید با کلیک بر روی کتابخانه Servo در مسیر گفته شده، آن را فراخوانی کنید. همچنین لینک دانلود کتابخانه در صفحه محصول سرو موتور SG90 Servo Motor در قسمت دانلود قرار دارد. با کلیک بر روی آن و دانلود کتابخانه Servo، آن در محل نصب آردوینو Arduino / Library ذخیره کنید.

 

کد ماژول روتاری انکدر

 در ابتدا کد را در نرم افزار آردوینو کپی کنید. سپس طبق اتصالات گفته شده در آموزش، اتصالات بین ماژول ها را برقرار کنید و سپس کد را کامپایل کنید. در کد از سریال مانیتور برای نمایش شروع (Start) حرکت سرو و ریست (Reset) سرو استفاده میکنیم. در ابتدا پس از کامپایل سریال مانیتور Start را نمایش میدهد. حال با چرخاندن شافت روتاری در جهت عقربه های ساعت، سرو شروع به چرخش کرده و ماژول ال ای دی LED RGB به رنگ سبز تغییر خواهد کرد. سپس با چرخش شافت در خلاف جهت عقربه های ساعت، سرو در جهت برعکس چرخیده و ماژول ال ای دی RGB به رنگ قرمز تغییر رنگ خواهد داد. با فشردن شافت همانند سوییچ، ریست – Reset شده و به حالت اولیه بازمی‌گردد.

 

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

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

 

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

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

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

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

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

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

۲۸ دیدگاه