فهرست مطالب:
- مرحله 1: مرحله 1: لحیم کاری و اتصال مدار خارج از ظرف
- مرحله 2: مرحله 2: بارگذاری کد و تنظیم آن بر اساس نیازهای شما
- مرحله 3: مرحله 3: در صورت تمایل شامل استپرها و آردوینو باشید
تصویری: تایمر استپر پومودورو: 3 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
Stepper Pomodoro یک تایمر میز است که به شما کمک می کند با انجام هر دوره کاری به 30 قسمت دقیقه ای ، کارهای روزانه خود را مدیریت کنید. با این حال ، بر خلاف یک تایمر معمولی Pomodoro ، با نشان دادن زمان باقی مانده شما را مضطرب نمی کند. در عوض ، تقریباً زمان را نشان می دهد که کدام یک از سه شماره گیری در حال تیک زدن است. با نشان ندادن زمان دقیق ، به شما این امکان را می دهد که در واقع روی کار موردنظر تمرکز کنید ، نه اینکه مدام زمان باقی مانده خود را بررسی کنید. این پومودورو برای افرادی که به ساختار سبک و محجوب در مدیریت وظایف خود نیاز دارند بسیار مناسب است.
ابزارها
• آهن لحیم کاری
• استریپرهای سیم
• برش لیزری (یا بسته به نحوه ایجاد شماره گیری تایمر)
• مته (من از یک پرس مته برای ایجاد سوراخ هایی به اندازه کافی بزرگ برای شماره گیری استفاده کردم)
مواد
• 1 آردوینو Uno
• 1 تخته نان نصف
• پلهای 3 ساعته (من از DRV8833 استفاده کردم ، سپر محافظ موتور باعث صرفه جویی در زمان و سردرد من شده است)
• 3 موتور پله ای (من از پله های NEMA 17 استفاده کردم)
• 1 دکمه
• 1 مقاومت 220-1K اهم (هر محدوده خوب است)
• آداپتور AC/DC (من از ولتاژ 12 ولت استفاده کردم ، احتمالاً برای این میزان پله ها بسیار بزرگ است)
• تقسیم کننده قدرت
• سیم USB A-B
• سیم های تخته نان
• لحیم کاری
• مواد برای ظرف تایمر
• اکریلیک برای شماره گیری
• میخ یا پین فلزی به عنوان بازوی ثابت تایمر عمل می کند
مرحله 1: مرحله 1: لحیم کاری و اتصال مدار خارج از ظرف
برای این مرحله من با اتصال همه پل های H خود شروع کردم (اگر سپر موتور را خریداری کردید نیازی به لحیم کاری آنها ندارید. هنگامی که برای هر پله یک پل H دارید ، می توانید نحوه سیم کشی پله های خود را بررسی کنید.
موتورهای پله ای دوقطبی NEMA 17 به عنوان موتورهای پله ای دوقطبی شناخته می شوند ، بدین معنی که آنها دارای دو (و نه یک) سیم پیچ در داخل موتور هستند که با تغییر قطبیت ، حرکت دقیق موتور را امکان پذیر می کند. پله های دوقطبی به طور معمول دارای چهار سیم و پلکان های پلاری به طور معمول دارای شش سیم هستند ، این امر دستورالعمل های آنلاین را کمی پیچیده کرد. با این حال ، می توانید چند متر را به دو سیم متصل کنید و ببینید آیا آنها متصل هستند یا نه. پله های NEMA 17 دارای ترتیب رنگ قرمز ، زرد ، خاکستری ، سبز هستند ، رنگ قرمز و خاکستری اولین جفت قطبی و زرد و سبز دومین جفت قطبی هستند. اگر در هر مرحله استپر به جای تکمیل حرکت مورد انتظار شروع به لرزش کرد ، احتمال دارد سیم های شما به درستی به دوقلو خود قطبی نشده باشد یا یکی قطع شود. هر پله از طریق چهار پین خروجی که به پل DRV8833 H متصل می شوند کنترل می شود. ترتیب سیم کشی برای ورودی DRV8833 به شرح زیر است: IN1 ، IN2 ، Power ، Ground ، IN3 ، IN4. برای اهداف خروجی ، NEMA فقط به ترتیب به چهار وسط از شش پین به ترتیب: قرمز ، خاکستری ، زرد ، سبز متصل می شود. حالا اجازه دهید برق را وصل کنیم. من NEMA های خود را روی پورت های دیجیتال 2-13 دارم.
برای تغذیه این دستگاه ، یک آداپتور 12 ولت AC/DC با اسپلیتر خریداری کردم تا بتوانم آردوینو و همه استپرها را تغذیه کنم. هشدار: سیم برق و سیم خود را از آردوینو که قبلاً از پورت نیرو دریافت می کند به تخته نان متصل به برق مستقیم از AC/DC متصل نکنید. تخته شما را سرخ می کند. از آداپتور 12 ولت متصل به دیوار ، یک قسمت اسپلیتر مستقیماً به درگاه آردوینو و قسمت دیگر به سمت مثبت و منفی تخته نان می رود.
در نهایت ، زمان آن رسیده است که دکمه را متصل کنید. یک طرف دکمه هم به برق نیاز دارد (با مقاومت ما به هم متصل شده است) و هم پین خروجی را لحیم کرده است (این کار را می توان از تخته نان نیز انجام داد). پین دیگر زمین ما خواهد بود. این سه سیم باید به برق متصل شوند: قدرت با مقاومت 5 ولت ، خروجی A0 و اتصال زمین به زمین همه روی برد Arduino Uno.
از اینجا باید بتوانیم با استفاده از این کد تست پایه پله ای که در اینجا یافت می شود ، استپرها را کنترل کنیم. این توضیح در Arduino.cc همچنین در صورت نیاز به پله های دو قطبی/تک قطبی توضیح کامل تری می دهد. بعد اجازه دهید وارد کد Pomodoro شویم!
مرحله 2: مرحله 2: بارگذاری کد و تنظیم آن بر اساس نیازهای شما
در زیر کد مربوط به دکمه Pomodoro من آمده است ، به منظور سفارشی سازی آن بر اساس تنظیمات خود ، مراحل زیر را دنبال کنید:
1. تعداد گام در هر دور نوع شخصی پله خود را تنظیم کنید (NEMA 17s دارای 200 است و در عدد صحیح ثابت به نام stepsPerRevolution فهرست شده است).
2. محل ورود دکمه خود را به دکمه تماس گیرنده عدد صحیح ثابت تنظیم کنید.
3. محل فرمان خروجی آردوینو را تعیین کنید (این قسمتها ممکن است بیشترین تفاوت را بین انواع پل H داشته باشند زیرا بسیاری از آنها از کتابخانه های مختلفی استفاده می کنند).
4. سرعت استپر را در دور در دقیقه در.setSpeed تنظیم کنید (من زمان چرخش در جهت عقربه های ساعت را برای 1 دور در دقیقه و هنگام چرخش خلاف جهت عقربه های ساعت 30 دور در دقیقه تنظیم کرده ام).
5. تعداد دفعاتی را که می خواهید هر یک از استپرهای شما بچرخد تنظیم کنید (قدم های من ده دقیقه می شمارند ، بنابراین ده بار در 1 دور در دقیقه می چرخند).
6 مدت زمانی را که می خواهید بچرخد به عقب تنظیم کنید.
#عبارتند از
const int stepsPerRevolution = 200؛ // ثابت تعداد گام ها در هر دور کامل موتورهای پله ای من
const int buttonPin = A0؛ // تنظیم ثابت ورودی دکمه من
Stepper firstStepper (مراحلPerRevolution ، 2 ، 3 ، 4 ، 5) ؛ // راه اندازی کتابخانه stepper در پین های خاص
Stepper secondStepper (مراحلPerRevolution ، 6 ، 7 ، 8 ، 9) ؛ Stepper 3rdStepper (مراحلPerRevolution ، 10 ، 11 ، 12 ، 13) ؛ Stepper firstStepperBack (مراحلPerRevolution ، 2 ، 3 ، 4 ، 5) ؛ // مجدداً کتابخانه stepper را در این پین ها فعال کنید تا بتوانید rpm را برای زمانی که هشدار می دهید زمان به پایان رسیده Stepper secondStepperBack تنظیم مجدد کنید (مراحلPerRevolution ، 6 ، 7 ، 8 ، 9) ؛ Stepper thirdStepperBack (مراحلPerRevolution ، 10 ، 11 ، 12 ، 13) ؛
int minutesCounter = 0؛ // int شمارش دورهای کامل استپرها
int timerState = LOW؛ // وضعیت فعلی تایمر pomodoro (HIGH = on ، LOW = off/reset) int buttonState؛ // خواندن فعلی از پین ورودی int lastButtonState = HIGH؛ // خواندن قبلی از پین ورودی
// متغیرهای زیر طولانی هستند بدون علامت زیرا زمان ، بر حسب میلی ثانیه اندازه گیری می شود ،
// به سرعت تبدیل به یک عدد بزرگتر از آنچه در یک int ذخیره می شود ، می شود. unsigned long lastDebounceTime = 0؛ // آخرین باری که پین خروجی غیرفعال شد debounceDelay = 50؛ // زمان خروج ؛ در صورت چشمک زدن خروجی افزایش می یابد
void setup () {
pinMode (buttonPin ، INPUT_PULLUP) ؛ // ثابت دکمه را به عنوان ورودی تنظیم کنید
firstStepper.setSpeed (1)؛ // برای شمارش 10 دقیقه در هر مرحله steps.setSpeed (1) سرعت را در 1 دور در دقیقه تنظیم کنید. thirdStepper.setSpeed (1)؛ firstStepperBack.setSpeed (30)؛ // سرعت را 30 دور در دقیقه تنظیم کنید تا هشدار دهید که زمان پس از اتمام Pomodoro پس از اتمام secondStepperBack.setSpeed (30) به پایان رسیده است. thirdStepperBack.setSpeed (30)؛
Serial.begin (9600)؛ // شروع مانیتور سریال با نرخ باود 9600
}
حلقه خالی () {
// وضعیت سوئیچ را به یک متغیر محلی بخوانید: int reading = digitalRead (buttonPin) ؛
// بررسی کنید که آیا فقط دکمه را فشار داده اید یا خیر
// (یعنی ورودی از LOW به HIGH رفت) ، و شما به اندازه کافی // از آخرین فشار منتظر ماندید تا نویز را نادیده بگیرید:
// اگر سوئیچ به دلیل نویز یا فشار دادن تغییر کرد:
if (خواندن! = lastButtonState) {// تنظیم مجدد زمان سنجی lastDebounceTime = millis ()؛ } if ((millis () - lastDebounceTime)> debounceDelay) {// در هر مرحله ای که بخوانید ، بیشتر از // تاخیر خروج وجود داشته است ، بنابراین آن را به عنوان وضعیت فعلی واقعی در نظر بگیرید:
// اگر حالت دکمه تغییر کرده باشد:
if (خواندن! = buttonState) {buttonState = خواندن ؛
// فقط در صورتی که حالت دکمه جدید نشان می دهد که فشار داده شده است ، فعال کننده تایمر را تغییر دهید
// یکبار فشار دهید تا روشن شود ، دوباره فشار دهید تا اگر (buttonState == LOW) {timerState =! timerState؛ Serial.print ("وضعیت تایمر است") ؛ Serial.println (timerState) ؛ }}}
if (timerState == HIGH) {
Serial.println ("تایمر پومودورو شروع شده است")؛ if (minutesCounter <11) {// اگر مقدار دوم فعلی متفاوت از مقدار قبلی باشد firstStepper.step (stepsPerRevolution) ؛ // 200 پله را بچرخانید/1 دور در دقیقه Counter ++؛ Serial.print ("minutesCounter is") ؛ Serial.println (minutesCounter)؛ }
if (11 <= minutesCounter && minutesCounter <21) {// اگر مقدار دوم فعلی متفاوت از مقدار قبلی باشد secondStepper.step (stepsPerRevolution) ؛ // 200 پله را بچرخانید/1 دور در دقیقه Counter ++؛ Serial.print ("minutesCounter is") ؛ Serial.println (minutesCounter)؛ }
if (21 <= minutesCounter && minutesCounter <31) {// اگر مقدار دوم فعلی متفاوت از مقدار قبلی باشد ، thirdStepper.step (stepsPerRevolution) ؛ // 200 پله را بچرخانید/1 دور در دقیقه Counter ++؛ Serial.print ("minutesCounter is") ؛ Serial.println (minutesCounter)؛ }
if (31 <= minutesCounter && minutesCounter <1031) {// اگر مقدار دوم فعلی متفاوت از مقدار قبلی باشد firstStepperBack.step (-1) ؛ // گام به گام را به ترتیب 1 قدم به عقب برگردانید تا مانند همه در حال اجرا باشند secondStepperBack.step (-1) ؛ thirdStepperBack.step (-1) ؛ minutesCounter ++؛ Serial.print ("minutesCounter is") ؛ Serial.println (minutesCounter)؛ }} else {Serial.println ("تایمر Pomodoro خاموش است")؛ } // خواندن را ذخیره کنید. دفعه بعد از طریق حلقه ، // آخرین lastButtonState خواهد بود: lastButtonState = خواندن ؛ }
مرحله 3: مرحله 3: در صورت تمایل شامل استپرها و آردوینو باشید
من تصمیم گرفتم یک فرم متوازی الاضلاع برای ساعت خود ایجاد کنم. این فرم و انتخاب مصالح بلوط قرمز از مبلمان مدرن قرون وسطی الهام گرفته شده است. یکی از قسمت هایی که من با آن بیشترین سختی را داشتم این بود که قدمگاه ها را با شماره گیری از روی درهای پشتی خود قرار دهید تا از آنجا دیده شود.
توصیه شده:
استپر موتور کنترل شده استپر موتور بدون میکروکنترلر!: 6 مرحله
موتور پله ای پله ای کنترل شده بدون میکروکنترلر !: در این دستورالعمل سریع ، ما یک کنترل کننده ساده موتور پله ای را با استفاده از موتور پله ای می سازیم. این پروژه نیازی به مدار پیچیده یا میکروکنترلر ندارد. بنابراین ، بدون هیچ گونه توضیح بیشتر ، بیایید شروع کنیم
استفاده از تایمر 556 برای حرکت استپر موتور: 5 مرحله
استفاده از تایمر 556 برای حرکت یک موتور پله ای: این دستورالعمل توضیح می دهد که چگونه یک تایمر 556 می تواند یک موتور پله ای را حرکت دهد. برای این مدار کد لازم نیست
استپر موتور کنترل شده استپر موتور - استپر موتور به عنوان رمزگذار روتاری: 11 مرحله (همراه با تصاویر)
استپر موتور کنترل شده استپر موتور | استپر موتور به عنوان رمزگذار روتاری: آیا چند موتور پله ای در اطراف شما خوابیده است و می خواهید کاری انجام دهید؟ در این دستورالعمل ، بیایید از یک موتور پله ای به عنوان یک رمزگذار چرخشی برای کنترل موقعیت یک موتور پله ای دیگر با استفاده از میکروکنترلر آردوینو استفاده کنیم. بنابراین بدون هیچ گونه توضیح بیشتر ، اجازه دهید
میکروکنترلر AVR چراغ های LED با استفاده از تایمر چشمک می زنند. وقفه تایمرها تایمر حالت CTC: 6 مرحله
میکروکنترلر AVR چراغ های LED با استفاده از تایمر چشمک می زنند. وقفه تایمرها تایمر CTC Mode: سلام به همه! تایمرها یک مفهوم مهم در زمینه الکترونیک هستند. هر جزء الکترونیکی بر اساس زمان کار می کند. این زمانبندی کمک می کند تا همه کارها همزمان شوند. همه میکروکنترلرها با فرکانس ساعت از پیش تعیین شده ای کار می کنند ،
ربات FPV Rover کنترل شده با Wi-Fi (همراه با آردوینو ، ESP8266 و استپر موتور): 11 مرحله (همراه با تصاویر)
ربات FPV Rover کنترل شده با Wi-Fi (با Arduino ، ESP8266 و Stepper Motors): این دستورالعمل نحوه طراحی یک روروئید روباتیک دوچرخ متحرک از راه دور بر روی شبکه wi-fi ، با استفاده از Arduino Uno متصل به ماژول Wi-Fi ESP8266 را نشان می دهد. و دو موتور پله ای ربات را می توان با یک ابرو معمولی اینترنت کنترل کرد