مشاهده همه محصولات
محصولی پیدا نشد
دوست داشتن

ماژول روتاری انکودر Rotary Encoder با طول شفت 20mm

مرجع:
DKP - 41798
DKP - 41798
دسته بندی: انکودر Encoder

توجه: طول شفت این روتاری 20 میلی متر و مشابه تصویر رزوه دار است. همچنین دارای مهره و واشر است.

ادامه مطلب
موجود شد خبرم کن
توضیحات

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

ماژول روتاری انکودر (Rotary Encoder) یک دستگاه الکترونیکی است که برای اندازه‌گیری و تشخیص حرکت یک ابزار دورانی یا یک شافت استفاده می‌شود. این ماژول معمولاً دارای یک دیسک دورانی با مقادیر مشخص (مانند سوراخ‌ها یا خطوط) است که هنگامی که روی آن فشار یا چرخش اعمال می‌شود، سیگنال‌های الکتریکی را تولید می‌کند.ماژول روتاری انکودر به صورت عمومی دارای دو نوع خروجی است: خروجی پالس (Pulse Output) و خروجی دوفازی (Quadrature Output).

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

 

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

  • رزولوشن: قابلیت تشخیص دقیق زاویه چرخش با تعداد پالس‌های تولید شده در یک دور 360 درجه.
  • خروجی پالس: تولید سیگنال‌های پالس دیجیتال بر اساس حرکت و چرخش شافت.
  • خروجی دوفازی: تولید دو سیگنال فاز متفاوت جهت تشخیص جهت و سمت چرخش.
  • نوع اتصال: اتصال باسیم با استفاده از کابل‌های مناسب.
  • ولتاژ کاری: قابلیت کار با ولتاژهای منطقی مانند 5 ولت یا ولتاژهای بالاتر.
  • نوع حرکت: قابلیت تشخیص حرکت دوطرفه یا یکطرفه.

 

بررسی پایه های ماژول روتاری انکودر

پایه‌های CLK و DT در روتاری انکودر به پایه‌هایی اشاره دارند که به عنوان خروجی‌های فاز A و فاز B استفاده می‌شوند.CLK (Clock) یا CHA (Channel A) و DT (Data) یا CHB (Channel B) به پایه‌هایی اشاره دارند که سیگنال‌های فاز A و فاز B را تولید می‌کنند. این دو پایه به صورت فوق العاده مهم هستند زیرا با ترکیب و تغییر وضعیت این دو سیگنال، جهت و سمت چرخش را تشخیص می‌دهند.در برخی از روتاری انکودرها، به جای CLK و DT، از نام‌های دیگری مانند A و B، Phase A و Phase B، Channel A و Channel B، یا Phase 1 و Phase 2 استفاده می‌شود. اما عملکرد آنها مشابه است و به تولید سیگنال‌های فاز A و فاز B می‌پردازند.

بررسی پایه های ماژول روتاری انکودر - دانشجوکیت

راه اندازی روتاری انکودر با آردوینو

در ادامه یک کد آردوینو برای راه اندازی روتاری انکودر نوشته شده است.Rotary Encoder با دو پین خروجی سیگنال (A و B) دارید که به پین‌های آردوینو ۲ و ۳ متصل شده‌اند. این کد از اینتراپت‌ها برای تشخیص تغییرات در وضعیت پین‌های Encoder استفاده می‌کند که امکان خواندن دقیق و واکنش‌گرا به موقعیت Encoder را فراهم می‌کند. متغیر encoderPos مقدار فعلی موقعیت را ذخیره می‌کند و بر اساس جهت چرخش که با تغییرات در وضعیت پین‌های Encoder تعیین می‌شود، به روزرسانی می‌شود.در تابع loop می‌توانید خط "Serial.println(encoderPos);" را با کد یا عملیات مورد نظر خود بر اساس موقعیت Encoder جایگزین کنید.

// پین‌های Rotary Encoder
const int encoderPinA = 2;
const int encoderPinB = 3;

// متغیرها
volatile int encoderPos = 0;
volatile int lastEncoded = 0;
volatile boolean direction = 0;

void setup() {
  // تنظیم پین‌های Encoder به عنوان ورودی
  pinMode(encoderPinA, INPUT_PULLUP);
  pinMode(encoderPinB, INPUT_PULLUP);

  // اتصال اینتراپت به پین A از Encoder
  attachInterrupt(digitalPinToInterrupt(encoderPinA), updateEncoder, CHANGE);

  // شروع ارتباط سریال
  Serial.begin(9600);
}

void loop() {
  // انجام عملیاتی با مقدار Encoder
  Serial.println(encoderPos);

  // اضافه کردن تاخیر اگر لازم است
  delay(100);
}

void updateEncoder() {
  int MSB = digitalRead(encoderPinA);
  int LSB = digitalRead(encoderPinB);

  int encoded = (MSB << 1) | LSB;
  int sum = (lastEncoded << 2) | encoded;

  if (sum == 0b1101 || sum == 0b0100 || sum == 0b0010 || sum == 0b1011) {
    encoderPos++;
    direction = true;
  }
  if (sum == 0b1110 || sum == 0b0111 || sum == 0b0001 || sum == 0b1000) {
    encoderPos--;
    direction = false;
  }

  lastEncoded = encoded;
}

 

راه اندازی روتاری انکودر با میکروپایتون

برای راه اندازی روتاری انکودر با میکروپایتون از نرم افزار Thonny ide استفاده می‌کنیم. این کد برای یک Rotary Encoder با دو پین خروجی سیگنال (A و B) متصل به پین‌های مایکروپایتون 2 و 3 ساخته شده است. شما می‌توانید شماره پین‌ها را مطابق با نقشه‌بندی واقعی خود تنظیم کنید.این کد از اینتراپت برای تشخیص تغییرات در وضعیت پین A از Encoder استفاده می‌کند، که امکان خواندن دقیق و واکنش‌گرا به موقعیت Encoder را فراهم می‌کند. متغیر موقعیت_انکودر مقدار فعلی موقعیت را ذخیره می‌کند و بر اساس جهت چرخش که با تغییرات در وضعیت پین‌های Encoder تعیین می‌شود، به‌روزرسانی می‌شود.در حلقه while می‌توانید خط print(موقعیت_انکودر) را با کد یا عملیات مورد نظر خود بر اساس موقعیت Encoder جایگزین کنید.

from machine import Pin
import utime

# پین‌های Rotary Encoder
پین_انکودر_الف = Pin(2, Pin.IN, Pin.PULL_UP)
پین_انکودر_بی = Pin(3, Pin.IN, Pin.PULL_UP)

# متغیرها
موقعیت_انکودر = 0
آخرین_کدگذاری = 0
جهت = 0

def به‌روزرسانی_انکودر(پین):
    global موقعیت_انکودر, آخرین_کدگذاری, جهت

    MSB = پین_انکودر_الف.value()
    LSB = پین_انکودر_بی.value()

    کدگذاری_شده = (MSB << 1) | LSB
    مجموع = (آخرین_کدگذاری << 2) | کدگذاری_شده

    if مجموع == 0b1101 or مجموع == 0b0100 or مجموع == 0b0010 or مجموع == 0b1011:
        موقعیت_انکودر += 1
        جهت = True
    if مجموع == 0b1110 or مجموع == 0b0111 or مجموع == 0b0001 or مجموع == 0b1000:
        موقعیت_انکودر -= 1
        جهت = False

    آخرین_کدگذاری = کدگذاری_شده

# اتصال اینتراپت به پین A از Encoder
پین_انکودر_الف.irq(trigger=Pin.IRQ_RISING | Pin.IRQ_FALLING, handler=به‌روزرسانی_انکودر)

while True:
    # انجام عملیاتی با مقدار Encoder
    print(موقعیت_انکودر)

    # اضافه کردن تاخیر اگر لازم است
    utime.sleep_ms(100)
ادامه مطلبShow less
جزئیات محصول
DKP - 41798

مشخصات

کاربری
مناسب برای استفاده شخصی
نوع ماژول
روتاری انکودر
سطح تجربه مورد نیاز
مبتدی
ولتاژ مورد نياز
3.3 تا 5 ولت DC
چاپ مس
مشکی
تعداد پایه ها
دارای 5 پایه
اقلام همراه محصول
دارای ولوم جهت تغییر موقعیت
ترتیب پایه ها
GND, VCC, SW, DT, CLK
وضعیت لوازم جانبی
ندارد
زاویه چرخش
360 درجه و روتیشن 20
نظرات
بدون نظر
سوالات متداول
    ماژول برای شارژ و دشارژ همزمان باتری 18650 با ظرفیت 1200mAh تک سل چی بگیرم؟ tp4056 که چنین قابلیتی نداشت

    توسط همین ماژول هم میتوانید اقدام به اجرای درخواستتان کنید. البته اگر فقط بخواهید یک سلول باتری لیتیومی را مدیریت شارژ کنید، همان گزینه ماژول TP4056 مناسب خواهد بود.


    آیان امکان راه اندازی چند سنسور DHT با ESP8266 با میکروپایتون وجود دارد؟

    امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایه‌های GPIO قابل اتصال به میکروکنترلرها هستند.


    چه جوری از میکروکنترلر ESP32 برای ساخت یک سیستم کنترل دما استفاده کنیم؟ برنامه نویسی پیچیده است؟

    برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:

    یک برد میکروکنترلر ESP32

    یک سنسور دما مثل DHT DS18B20

    یک المان سرد کننده

    با استفاده از کتابخانه DHT.h، می‌توانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، می‌توانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.

    در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال داده‌ها به پلتفرم IoT باید استفاده کنید. 


خریداران این محصول، این کالاها را نیز خریده اند:
محصولات مرتبط

ویژگی‌های فیزیکی

چاپ مس
مشکی
تعداد پایه ها
دارای 5 پایه

تغذیه

ولتاژ مورد نياز
3.3 تا 5 ولت DC

ویژگی های فنی

ترتیب پایه ها
GND, VCC, SW, DT, CLK

سایر ویژگی‌ها

کاربری
مناسب برای استفاده شخصی
نوع ماژول
روتاری انکودر
سطح تجربه مورد نیاز
مبتدی
اقلام همراه محصول
دارای ولوم جهت تغییر موقعیت
وضعیت لوازم جانبی
زاویه چرخش
360 درجه و روتیشن 20
0 تومان
در این کیت 5 مدار آموزشی کنترل سطح مخزن آب ،آبیاری خودکار گل و باغچه ،دزدگیر منزل ،تهویه خودکار ،لامپ هوشمند بصورت کاردستی الکترونیک برای دانش آموزان و بدون نیاز به لحیم کاری و تجهیزات خاص به همراه DVD آموزش ویدئویی...
0 تومان
ماکت یک کیت مونتاژ شده مجموعه کامل و آماده جهت آموزش و یادگیری هوشمندسازی منازل و ساختمانهاست، با استفاده از اپلیکیشن بلوتوث موبایل سنسورهای ماکت را فعال میکنید و عملکرد هر ماژول بصورت آلارم هشدار بازر یا نمایش بر روی...

فهرست

تماس با دانشجو کیت

ساعت تماس همه روزه از 9 صبح تا 5 عصر (بجز روزهای تعطیل) البته فروشگاه ما به صورت آنلاین است و می‌توانید خریدتان را انجام دهید. اما اگر سوالی داشتید که به تماس تلفنی نیاز داشت، فقط در ساعت‌های اعلام شده در خدمتیم.

021-88857245

021-88856524

031-32243207

031-32211313

 

شماره روبیکا و ایتا، فقط پیام، پاسخ به سوالات قبل از خرید و دریافت تصاویر کالاها

09375076606

 

ارسال سریع تهران (تحویل همان روز)

تمامی شهرهای ایران با پست

بخش قوانین ارسال و قوانین خرید را مطالعه کنید.

جستجو

مشاهده همه محصولات
محصولی پیدا نشد

یک حساب کاربری رایگان برای ذخیره آیتم‌های محبوب ایجاد کنید.

ورود به سیستم