فهرست مطالب:
- مرحله 1: رمزگذارهای روتاری در داخل
- مرحله 2: بدبختی که برای بسیاری درد واقعی ایجاد می کند
- مرحله 3: راه حل ماشین حالت محدود (FSM)
- مرحله 4: کد آردوینو
- مرحله 5: ادغام بی عیب و نقص
![یک راه حل کامل روتاری آردوینو: 5 مرحله یک راه حل کامل روتاری آردوینو: 5 مرحله](https://i.howwhatproduce.com/images/005/image-12873-9-j.webp)
تصویری: یک راه حل کامل روتاری آردوینو: 5 مرحله
![تصویری: یک راه حل کامل روتاری آردوینو: 5 مرحله تصویری: یک راه حل کامل روتاری آردوینو: 5 مرحله](https://i.ytimg.com/vi/4feQDr6iWTk/hqdefault.jpg)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
![یک راه حل کامل روتاری آردوینو یک راه حل کامل روتاری آردوینو](https://i.howwhatproduce.com/images/005/image-12873-10-j.webp)
رمزگذارهای روتاری دستگیره های قابل چرخش برای پروژه های الکترونیکی هستند که اغلب با میکروکنترلرهای خانواده آردوینو استفاده می شوند. از آنها می توان برای تنظیم دقیق پارامترها ، حرکت در منوها ، جابجایی اشیاء روی صفحه ، تنظیم مقادیر از هر نوع استفاده کرد. آنها جایگزین های متداول پتانسیومترها هستند ، زیرا می توان آنها را با دقت و بی نهایت چرخاند ، در یک زمان یک مقدار گسسته را افزایش یا کاهش می دهند و اغلب با یک کلید قابل فشار برای انتخاب توابع نوع ترکیب می شوند. آنها در همه اشکال و اندازه ها وجود دارند ، اما ارتباط با پایین ترین محدوده قیمت دشوار است ، همانطور که در زیر توضیح داده شده است.
مقالات بیشماری در مورد جزئیات کار و نحوه استفاده از رمزگذارهای روتاری ، و کدهای نمونه متعدد و کتابخانه ها در مورد نحوه استفاده از آنها وجود دارد. تنها مشکل این است که هیچ یک از آنها 100٪ دقیق با کمترین محدوده قیمت ماژول های دوار چینی کار نمی کنند.
مرحله 1: رمزگذارهای روتاری در داخل
![رمزگذار روتاری در داخل رمزگذار روتاری در داخل](https://i.howwhatproduce.com/images/005/image-12873-11-j.webp)
![رمزگذار روتاری در داخل رمزگذار روتاری در داخل](https://i.howwhatproduce.com/images/005/image-12873-12-j.webp)
![رمزگذار روتاری در داخل رمزگذار روتاری در داخل](https://i.howwhatproduce.com/images/005/image-12873-13-j.webp)
قسمت چرخشی رمزگذار دارای سه پایه (و دو قسمت دیگر برای قسمت سوئیچ اختیاری) است. یکی زمینه مشترک (GND سیاه) ، دو مورد دیگر برای تعیین جهت هنگام چرخاندن دستگیره است (آنها اغلب CLK آبی و DT قرمز نامیده می شوند). هر دوی اینها به یک پین ورودی PULLUP از میکروکنترلر متصل شده و سطح HIGH را به عنوان پیش فرض خوانده می کند. وقتی دکمه به جلو (یا در جهت عقربه های ساعت) بچرخد ، ابتدا CLK آبی به سطح LOW می افتد ، سپس DT قرمز دنبال می شود. با چرخش بیشتر ، CLK آبی به HIGH باز می گردد ، سپس وقتی پچ GND معمولی هر دو پین اتصال را ترک می کند ، DT قرمز نیز به HIGH برمی گردد. بنابراین یک تیک کامل FWD (یا در جهت عقربه های ساعت) تکمیل کنید. در جهت دیگر BWD (یا خلاف جهت عقربه های ساعت) حرکت می کند ، اما در حال حاضر ابتدا رنگ قرمز پایین می آید و آبی که آخرین بار به ترتیب در تصاویر دو سطح نشان داده شده ، آخرین بار به عقب برمی گردد.
مرحله 2: بدبختی که برای بسیاری درد واقعی ایجاد می کند
![بدبختی که برای بسیاری درد واقعی ایجاد می کند بدبختی که برای بسیاری درد واقعی ایجاد می کند](https://i.howwhatproduce.com/images/005/image-12873-14-j.webp)
![بدبختی که برای بسیاری درد واقعی ایجاد می کند بدبختی که برای بسیاری درد واقعی ایجاد می کند](https://i.howwhatproduce.com/images/005/image-12873-15-j.webp)
![بدبختی که برای بسیاری درد واقعی ایجاد می کند بدبختی که برای بسیاری درد واقعی ایجاد می کند](https://i.howwhatproduce.com/images/005/image-12873-16-j.webp)
مشکل رایج علاقه مندان به آردوینو این است که ماژول های رمزگذار ارزان روتاری تغییرات اضافی را در سطوح خروجی باز می گردانند و باعث می شود شمارش جهت اضافی و اشتباه انجام شود. این از شمارش بی عیب و نقص جلوگیری می کند و ادغام این ماژول ها در پروژه های دوار دقیق را غیرممکن می سازد. این جهش های اضافی در اثر حرکات مکانیکی وصله ها بر روی پین های اتصال ایجاد می شود و حتی استفاده از خازن های اضافی نمی تواند آنها را به طور کامل از بین ببرد. برگشت ها می توانند در هر دوره ای از چرخه های تیک کامل ظاهر شوند و با سناریوهای واقعی در تصاویر نشان داده می شوند.
مرحله 3: راه حل ماشین حالت محدود (FSM)
![راه حل ماشین حالت محدود (FSM) راه حل ماشین حالت محدود (FSM)](https://i.howwhatproduce.com/images/005/image-12873-17-j.webp)
تصویر فضای کامل تغییرات احتمالی سطح را برای دو پین (CLK آبی و قرمز DT) نشان می دهد ، هر دو برای برگشت صحیح و غلط. بر اساس این دستگاه حالت یک راه حل کامل را می توان برنامه ریزی کرد که همیشه 100 accurate دقیق کار می کند. از آنجا که هیچ تأخیر فیلترینگ در این محلول لازم نیست ، همچنین سریعترین ممکن است. یکی دیگر از مزایای جداسازی فضای حالت پین ها از حالت کار این است که می توانید هر دو حالت نظرسنجی یا وقفه را به دلخواه خود اعمال کنید. نظرسنجی یا وقفه می تواند تغییرات سطح را در پین ها تشخیص دهد و یک روال جداگانه وضعیت جدید را بر اساس وضعیت فعلی و رویدادهای واقعی تغییرات سطح محاسبه می کند.
مرحله 4: کد آردوینو
![کد آردوینو کد آردوینو](https://i.howwhatproduce.com/images/005/image-12873-18-j.webp)
کد زیر تیک های FWD و BWD را در مانیتور سریال شمارش می کند و عملکرد سوئیچ اختیاری را نیز ادغام می کند.
// پیتر سورگای 2019-04-10
// پین های روتاری نقشه برداری شده برای پورت های آردوینو
#define SW 21 #define CLK 22 #define DT 23
// مقدار فعلی و قبلی شمارنده تنظیم شده توسط چرخشی
int curVal = 0؛ int prevVal = 0؛
// هفت حالت FSM (ماشین حالت محدود)
#تعریف IDLE_11 0 #تعریف SCLK_01 1 #تعریف SCLK_00 2 #تعریف SCLK_10 3 #تعریف SDT_10 4 #تعریف SDT_00 5 #تعریف SDT_01 6 حالت int = IDLE_11 ؛
void setup () {
Serial.begin (250000) ؛ Serial.println ("شروع …") ؛ // سطح HIGH به طور پیش فرض برای همه پین pinMode (SW ، INPUT_PULLUP) خواهد بود. pinMode (CLK ، INPUT_PULLUP) ؛ pinMode (DT ، INPUT_PULLUP) ؛ // هر دو CLK و DT باعث ایجاد وقفه برای همه تغییرات سطح attachInterrupt (digitalPinToInterrupt (CLK) ، rotaryCLK ، CHANGE) می شوند. attachInterrupt (digitalPinToInterrupt (DT) ، rotaryDT ، CHANGE) ؛ }
حلقه خالی () {
// مدیریت سوئیچ اختیاری که در برخی از رمزگذارهای چرخشی یکپارچه شده است (digitalRead (SW) == LOW) {Serial.println ("Pressed") ؛ در حالی که (! digitalRead (SW)) ؛ } // هرگونه تغییر در مقدار شمارنده در Serial Monitor if (curVal! = prevVal) {Serial.println (curVal) نمایش داده می شود؛ prevVal = curVal؛ }}
// انتقال حالت دولت برای تغییرات سطح CLK
void rotaryCLK () {if (digitalRead (CLK) == LOW) {if (state == IDLE_11) state = SCLK_01؛ else if (state == SCLK_10) state = SCLK_00؛ else if (state == SDT_10) state = SDT_00؛ } else {if (state == SCLK_01) state = IDLE_11؛ else if (state == SCLK_00) state = SCLK_10؛ else if (state == SDT_00) state = SDT_10؛ else if (state == SDT_01) {state = IDLE_11؛ curVal-- ؛ }}}
// انتقال حالت دولت برای تغییرات سطح DT
void rotaryDT () {if (digitalRead (DT) == LOW) {if (state == IDLE_11) state = SDT_10؛ else if (state == SDT_01) state = SDT_00؛ else if (state == SCLK_01) state = SCLK_00؛ } else {if (state == SDT_10) state = IDLE_11؛ else if (state == SDT_00) state = SDT_01؛ else if (state == SCLK_00) state = SCLK_01؛ else if (state == SCLK_10) {state = IDLE_11؛ curVal ++ ؛ }}}
مرحله 5: ادغام بی عیب و نقص
![](https://i.ytimg.com/vi/NgMvAgHcgyE/hqdefault.jpg)
در ویدئوی پیوست می توانید بررسی کنید که راه حل FSM دقیق و سریع حتی در صورت رمزگذارهای دورانی با برد کم با جلوه های گزاف گویی پراکنده مختلف کار می کند.
توصیه شده:
تایمر با آردوینو و رمزگذار روتاری: 5 مرحله
![تایمر با آردوینو و رمزگذار روتاری: 5 مرحله تایمر با آردوینو و رمزگذار روتاری: 5 مرحله](https://i.howwhatproduce.com/images/001/image-430-5-j.webp)
Timer With Arduino و Rotary Encoder: تایمر ابزاری است که اغلب در فعالیتهای صنعتی و خانگی مورد استفاده قرار می گیرد. این مجموعه ارزان و آسان است. همچنین بسیار کاربردی است ، زیرا می توان برنامه ای را انتخاب کرد که بر اساس نیاز انتخاب شده است. چندین برنامه توسط من نوشته شده است ، برای اردوئی
تایمر قدرت با آردوینو و رمزگذار روتاری: 7 مرحله (همراه با تصاویر)
![تایمر قدرت با آردوینو و رمزگذار روتاری: 7 مرحله (همراه با تصاویر) تایمر قدرت با آردوینو و رمزگذار روتاری: 7 مرحله (همراه با تصاویر)](https://i.howwhatproduce.com/images/002/image-4875-12-j.webp)
تایمر قدرت با آردوینو و رمزگذار روتاری: این تایمر قدرت بر اساس تایمر ارائه شده در: https: //www.instructables.com/id/Timer-With-Arduin … ماژول منبع تغذیه و SSR (رله حالت جامد ) به آن متصل شدند. بارهای قدرت حداکثر تا 1 کیلو وات را می توان کار کرد و با حداقل تغییرات ، l
رمزگذار روتاری - درک و استفاده از آن (آردوینو/دیگر ΜController): 3 مرحله
![رمزگذار روتاری - درک و استفاده از آن (آردوینو/دیگر ΜController): 3 مرحله رمزگذار روتاری - درک و استفاده از آن (آردوینو/دیگر ΜController): 3 مرحله](https://i.howwhatproduce.com/images/011/image-30429-j.webp)
رمزگذار روتاری - درک و استفاده از آن (آردوینو/دیگر ΜController): رمزگذار دوار یک دستگاه الکترومکانیکی است که حرکت چرخشی را به اطلاعات دیجیتال یا آنالوگ تبدیل می کند. می تواند در جهت عقربه های ساعت یا خلاف جهت عقربه های ساعت بچرخد. دو نوع رمزگذار دوار وجود دارد: رمزگذارهای مطلق و نسبی (افزایشی). ساعت
سیستم های امنیتی دوربین مدار بسته - راهنمای راه اندازی کامل: 7 مرحله
![سیستم های امنیتی دوربین مدار بسته - راهنمای راه اندازی کامل: 7 مرحله سیستم های امنیتی دوربین مدار بسته - راهنمای راه اندازی کامل: 7 مرحله](https://i.howwhatproduce.com/images/006/image-16012-55-j.webp)
سیستم های امنیتی دوربین مدار بسته - راهنمای راه اندازی کامل: سلام بچه ها ، امیدوارم همه خوب کار کنند. اگر این مقاله را می خوانید ، احتمالاً قصد دارید امنیت خانه یا هر ملک دیگری را افزایش دهید تا شما و عزیزان خود را در امنیت و شادی نگه دارید ، اما در نهایت با همه اینها اشتباه گرفته اید
ارزان ترین آردوینو -- کوچکترین آردوینو -- آردوینو پرو مینی -- برنامه نویسی -- آردوینو ننو: 6 مرحله (همراه با تصاویر)
![ارزان ترین آردوینو -- کوچکترین آردوینو -- آردوینو پرو مینی -- برنامه نویسی -- آردوینو ننو: 6 مرحله (همراه با تصاویر) ارزان ترین آردوینو -- کوچکترین آردوینو -- آردوینو پرو مینی -- برنامه نویسی -- آردوینو ننو: 6 مرحله (همراه با تصاویر)](https://i.howwhatproduce.com/images/003/image-6862-42-j.webp)
ارزان ترین آردوینو || کوچکترین آردوینو || آردوینو پرو مینی || برنامه نویسی || آردوینو ننو: …………………………. لطفاً برای ویدیوهای بیشتر به کانال YouTube من مشترک شوید ……. .این پروژه در مورد نحوه ارتباط با کوچکترین و ارزانترین آردوینو است. کوچکترین و ارزان ترین آردوینو arduino pro mini است. شبیه آردوینو