پروژه الکترونیکپروژه های آردوینو

پروژه آردوینو راه اندازی Rotary Encoder (روتاری انکودر چیست ؟ + آموزش کامل)

سلام. پروژه آردوینو راه اندازی Rotary Encoder (روتاری انکودر چیست ؟ + آموزش کامل) را آماده کردیم. فیلم عملکرد مدار را ببینید.

پروژه آردوینو راه اندازی روتاری انکودر

پروژه آردوینو راه اندازی Rotary Encoderرمزگذار Rotary یک وسیله ورودی است که به کاربر کمک می کند تا با سیستم ارتباط برقرار کند. در ظاهر شبیه به  پتانسیومتر است اما پالس ها را منتقل می کند و کاربرد آن بسیار زیاد است. هنگامی که رمزگذار (Encoder) چرخانده می شود، به صورت پله های کوچک می چرخد ​​که به کمک آن می توان از آن برای کنترل استپ موتور و سروو موتور استفاده کرد.

در این پروژه آردوینو ابتدا با انواع مختلف انکودر روتاری و نحوه عملکرد آنها آشنا می شویم. ما همچنین Rotary Encoder را با آردوینو متصل میکنیم و با چرخاندن Encoder مقدار یک عدد صحیح را کنترل می کنیم و آن را در ال ای دی کاراکتری 16*2 نمایش می دهیم. در پایان شما نحوه استفاده از روتاری انکودر را برای پروژه هایتان یاد میگیریدو

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

  1. برد آردوینو Uno
  2. روتاری انکودر KY-040
  3. ال سی دی کاراکتری 16*2
  4. پتانسیومتر 10 کیلو اهم

Rotary انکودر چیست و چگونه کار میکند ؟

روتاری انکودر مبدل الکترومکانیکی است به این معنی که حرکات مکانیکی را به پالس های الکترونیکی تبدیل می کند. این قطعه شامل یک دستگیره است که هنگام چرخش گام به گام حرکت می کند و دنباله ای از پالس را با عرض از پیش تعریف شده برای هر مرحله تولید می کند. انواع رمزگذار وجود دارد و هر کدام مکانیزم کار خاص خود را دارند.

ساختار مکانیکی داخلی رمزگذار در زیر نشان داده شده است. در اصل از یک دیسک مدور (رنگ خاکستری) با پدهای رسانا (رنگ زرد) که در بالای این دیسک مدور قرار داده شده است تشکیل شده است. این لنت های رسانا مطابق شکل زیر در مسافت مساوی قرار می گیرند. پین های خروجی در بالای این دیسک مدور ثابت شده اند ، به گونه ای که هنگام چرخش دستگیره ، پدهای رسانا با پین های خروجی در تماس خواهند بود. در اینجا دو پین خروجی ، Output A و Output B وجود دارد که در شکل زیر نشان داده شده است.

حتما ببینید :  آموزش کامل پروژه تشخیص پلاک خودرو ایرانی با متلب

شکل موج خروجی روتاری انکودر

شکل موج خروجی تولید شده توسط پین Output A و Output B به ترتیب در رنگ آبی و سبز نشان داده شده است. هنگامی که پد رسانا مستقیماً زیر پین باشد ، بالا می رود و همچنین هنگامی که پد رسانا دور می شود، کم می شود و در نتیجه زمان خاموش شکل موج نشان داده شده است.

مثلا اگر بخوهیم  تشخیص دهیم که دستگیره در کدام جهت چرخانده شده است. اگر نگاهی به دو پالس بیندازید می توانید متوجه شوید که هر دو مرحله 90 درجه از فاز خارج شده اند. از این رو وقتی دستگیره در جهت عقربه های ساعت چرخانده می شود ، ابتدا خروجی A بالا می رود و هنگامی که دستگیره در خلاف جهت عقربه های ساعت چرخانده می شود ، ابتدا خروجی B بالا می رود.

انواع رمزگذار روتاری

انواع بسیاری از رمزگذار روتاری در بازار وجود دارد که شما می توانید یکی از آنها را مطابق برنامه خود انتخاب کنید. متداول ترین انواع در زیر ذکر شده است

  1. رمزگذار افزایشی
  2. رمزگذار مطلق
  3. رمزگذار مغناطیسی
  4. رمزگذار نوری
  5. رمزگذار لیزری

این رمزگذارها بر اساس سیگنال Output و فناوری سنجش طبقه بندی می شوند، رمزگذار افزایشی و رمزگذار مطلق بر اساس سیگنال Output طبقه بندی می شوند. و رمزگذار مغناطیسی ، نوری و لیزر بر اساس فناوری سنجش طبقه بندی می شوند. رمزگذار مورد استفاده در اینجا یک رمزگذار نوع افزایشی است.

مشخصات Rotary انکودر KY-040

پین های رمزگذار روتاری نوع افزایشی KY-040 در زیر نشان داده شده است.

پین های روتاری انکودر KY-040دو پین اول (Ground و Vcc) برای تغذیه رمزگذار استفاده می شوند، به طور معمول از منبع تغذیه 5V استفاده می شود. جدا از چرخاندن دسته در جهت عقربه های ساعت و خلاف جهت عقربه های ساعت، رمزگذار همچنین دارای سوئیچ (Active Low) است که با فشار دادن دکمه در داخل می توان آنرا فعال / غیرفعال کرد. سیگنال از این سوئیچ از طریق پین 3 (Switch) بدست می آید. سرانجام دو پین خروجی که شکل موج را ایجاد می کند همانطور که قبلاً در بالا گفته شد Output A و Output B هستند.

حتما ببینید :  آموزش پروژه راه اندازی قطب نما دیجیتال با آردوینو و سنسور مغناطیس سنج

توضیحات خلاصه کد پروژه

کد کامل در فایل دانلودی قرار داده شده است. در قسمت اول ما کتابخانه ال سی دی کاراکتری را فراخوانی میکنیم. سپس پین ها و نوع آن را تعریف میکنیم.

#include <LiquidCrystal.h> // کتابخانه ال سی دی آردوینو
const int rs = 7, en = 6, d4 = 5, d5 = 4, d6 = 3, d7 = 2; // تنظیم پین ها
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
lcd.begin(16, 2); //تعریف مدل ال سی دی کاراکتری

در ابتدا پروژه ، در خط اول و دوم پیام های زیر نشاده میشوند به مدت 2 ثانیه.

  lcd.print(" Rotary Encoder "); //پیام خط اول
  lcd.setCursor(0, 1); // مکان متن
  lcd.print("  With Arduino  "); //پیام خط دوم
  delay(2000); // به مدت 2 ثانیه

سپس نوع پین های روتاری انکودر را به عنوان ورودی تعریف میکنیم.

  pinMode (Encoder_OuputA, INPUT); // تنظیم پین به عنوان ورودی
  pinMode (Encoder_OuputB, INPUT); // تنظیم پین به عنوان ورودی
  pinMode (Encoder_Switch, INPUT); // تنظیم پین به عنوان ورودی

در قسمت زیر دستور خواندن مقدار Outpout A را صادر میکنیم.

Previous_Output = digitalRead(Encoder_OuputA);

فیلم عملکرد مدار : کلیک کنید !

موارد موجود در فایل : شماتیک مدار ، فایل Hex ، فایل آردوینو و …
برای دانلود فایل های پروژه ثبت نام کنید، تنها چند ثانیه زمان لازم است. از طریق فرم زیر اقدام کنید.

ایمیل خود را وارد کنید

close
امیدوارم این مطلب برای شما مفید بوده باشد. نظرات ، مشکلات و پیشنهادات خود را در پایین صفحه اعلام کنید مشاهده لیست پروژه های آردوینو
برچسب ها

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را برای شما قرار دهم تا استفاده کنید. خوشحال میشوم نظرات و پیشنهادات شما را بشنوم و مشکلاتتان را پاسخگو باشم.

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
بستن
بستن