KY-040 یک انکودر دورانی افزایشی (Rotary Encoder) بههمراه یک کلید فشاری مرکزی است و در بسیاری از پروژههای رابط کاربری (تنظیم منو، کنترل صدا، انتخابگر زاویه موتور و …) استفاده میشود. درون شافت آن چند کانال نوری یا مکانیکی وجود دارد که هنگام چرخش دو سیگنال مربعی Quadrature به نامهای CLK و ) DTیا (A/Bتولید میکنند؛ تقدم این دو سیگنال جهت چرخش را مشخص میکند.
| پایه | عملکرد | توضیح |
| CLK (A) | خروجی دیجیتال کانال A | با هر گام از LOW→HIGH یا برعکس تغییر میکند |
| DT (B) | خروجی دیجیتال کانال B | 90° فاز نسبت به CLK برای تشخیص جهت |
| SW | کلید فشاری شافت | هنگام فشار به GND وصل میشود |
| + | VCC | ) 3.3 – 5 Vبرای ESP32 3.3 V بگیرید( |
| GND | زمین | مرجع مشترک |
Pull-up داخلی: خیلی از بردهای KY-040 مقاومت pull-up برای CLK/DT/SW ندارند یا فقط برای یکی دارند؛ در برنامه حتماً INPUT_PULLUP فعال کنید.
اتصال پیشنهادی به(DevKit v1) ESP32
| KY-040 | ESP32 | دلیل انتخاب |
| + | 3.3V | تغذیهV 3.3 ؛ سطوح منطقی هماهنگ است |
| GND | GND | زمین مشترک |
| CLK | GPIO 32 | ورودی فقط و وقفهپذیر؛ روی ADC1 نیست) ایمن برای (Wi-Fi |
| DT | GPIO 33 | ورودی فقط و وقفهپذیر |
| SW | GPIO 25 | ورودی معمولی با) Pull-up کلید فشاری( |
میتوانید هر GPIO وقفهدار دیگر هم انتخاب کنید؛ فقط پایههای حسّاس بوت (0،2،12،15) را برای کلید نگذارید تا هنگام روشن شدن مزاحم نشود.
نکات عملی
| موضوع | توصیه |
| دیبونس مکانیکی | چرخش سریع جهشهای الکتریکی تولید میکند؛ دیبونس نرم 1-3 ms کافی است. |
| رزولوشن واقعی | هر «کلیک» مکانیکی 2 یا 4 تغییر لبه ایجاد میکند (بسته به مدل)؛ در کد بالا هر لبه را میشماریم، پس ممکن است برای یک کلیک مقدار ±2 یا ±4 ببینید. با تقسیم یا فیلتر نرم میتوانید مقیاس را تنظیم کنید. |
| فشار طولانی | برای تشخیص press/hold، مدت پایین بودن SW را ثبت کنید (مثلاً >800 ms = نگهداشتن). |
| کابل بلند | اگر نویز زیاد است، خازن 100 nF بین CLK و GND و بین DT و GND نزدیک برد بگذارید. |
| استفاده با OLED/Menu | ترکیب KY-040 + ESP32 + OLED SSD1306 یک کنترلر منو ارزان میسازد؛ چرخش برای پیمایش، فشار برای انتخاب. |
جمعبندی
- KY-040 انکودر دورانی افزایشی + کلید فشاری است.
- برای +→3.3 V :ESP32، GND→GND، →CLK/DT دو GPIO وقفهپذیر (Pull-up)، →SW یک GPIO با Pull-up.
- با وقفه روی لبهٔ CLK و خواندن DT میتوانید جهت و تعداد گامها را بهدقت بشمارید؛ دیبونس نرم 2 ms برای چرخش و 20 ms برای کلید توصیه میشود.

بزنید و سپس افزودن به صفحه اصلی
بزنید و سپس افزودن به صفحه اصلی











نقد و بررسیها
هنوز بررسیای ثبت نشده است.