תוכן עניינים:

טיימר פומודורו: 3 שלבים (עם תמונות)
טיימר פומודורו: 3 שלבים (עם תמונות)

וִידֵאוֹ: טיימר פומודורו: 3 שלבים (עם תמונות)

וִידֵאוֹ: טיימר פומודורו: 3 שלבים (עם תמונות)
וִידֵאוֹ: אני רוצה שווארמה 🌯 2024, יולי
Anonim
Image
Image
שלב 1: הלחמה וחיבור מעגל מחוץ למכל
שלב 1: הלחמה וחיבור מעגל מחוץ למכל

Stepper Pomodoro הוא טיימר לשולחן המסייע לאדם לנהל את רשימת המשימות היומית שלו על ידי פירוק כל תקופת עבודה לקטעים של 30 דקות. עם זאת, שלא כמו טיימר רגיל של פומודורו, זה לא גורם לך לחרדות על ידי הצגת משך הזמן שנותר. במקום זאת, הוא מציג את השעה שבאמצעותה אחת משלוש החוגות מתקתקת. על ידי אי הצגת השעה המדויקת היא מאפשרת לך להתמקד בפועל במשימה שעומדת לפניך, במקום לבדוק כל הזמן את הזמן שנותר לך. פומודורו זה מושלם עבור אלה הזקוקים למבנה קליל ולא בולט לניהול המשימות שלהם.

כלים

• מלחם

• חשפניות חוטים

• חותך לייזר (או מלטשת בהתאם לאופן בו ברצונך ליצור את החוגות של הטיימר)

• מקדחה (השתמשתי במגהץ כדי לחורר חורים גדולים מספיק לחוגים)

חומרים

• אחד Arduino Uno

• קרש לחם אחד בגודל חצי

• 3 גשרים H (השתמשתי ב- DRV8833, מגן מנוע חסך לי זמן וכאבי ראש)

• 3 מנועי צעד (השתמשתי במדרגות NEMA 17)

• כפתור אחד

• נגד אחד של 220-1K אוהם (כל טווח טוב)

• מתאם AC/DC (השתמשתי ב 12 וולט, כנראה גדול מדי לכמות זו של צעדים)

• מפצל כוח

• חוט USB A-B

• חוטי לוח

• הלחמה

• חומרים למיכל טיימר

• אקריליק לחוגים

• מסמרים או סיכות מתכת לשמש זרוע נייחת של טיימר

שלב 1: שלב 1: מעגל הלחמה וחיבור מחוץ למכל

לקראת שלב זה התחלתי בהלחמה יחד של כל גשרים ה- H שלי (אם אתה רוכש את מגן המנוע לא צריך להזרים הלחמות אלה. לאחר שיהיה לך גשר H לכל צעד תוכל לבדוק כיצד החוזרים שלך מחוברים.

מכשירי ה- NEMA 17 הם מה שמכונה מנועי צעד דו קוטביים, כלומר יש להם שני (ולא אחד) סלילים בתוך המנוע שמשנים את הקוטביות כדי לאפשר תנועה מדויקת של המנוע. למדרגות דו קוטביות בדרך כלל יש ארבעה חוטים ולצעדים קוטביים בדרך כלל יש שישה, זה קצת מסבך את ההוראות באינטרנט. עם זאת אתה יכול לחבר מטר רב לשני חוטים ולראות אם הם מחוברים או לא. סדרת החוטים של NEMA 17 בעלת סדר החוטים שלהם בצבעים אדום, צהוב, אפור, ירוק, כשהאדום והאפור הם זוג הקוטב הראשון והצהוב והירוק הם זוג הקוטב השני. אם בשלב כלשהו הצעד מתחיל להתעוות במקום להשלים את התנועה הצפויה, רוב הסיכויים שהחוטים שלך איכשהו אינם מקוטבים נכון לתאומים שלהם או שאחד מנותק. כל צעד מבוקר באמצעות ארבעה סיכות פלט המתחברות לגשרים DRV8833 H. סדר החיווט עבור הקלט ל- DRV8833 הוא: IN1, IN2, כוח, קרקע, IN3, IN4. למטרות פלט ה- NEMA מתחבר רק לארבעת האמצעיים מתוך ששת הסיכות בסדר גודל: אדום, אפור, צהוב, ירוק. עכשיו מאפשר לחבר חשמל. יש לי את ה- NEMA שלי ביציאות דיגיטליות 2–13.

כדי להפעיל את זה רכשתי מתאם AC/DC 12V עם מפצל כדי להיות מסוגל להפעיל את הארדואינו ואת כל הצעדים. אזהרה: אל תחבר את חוטי החשמל והארקה שלך מהארדואינו שכבר מקבל חשמל מהיציאה ללוח הלוח המקבל חשמל ישיר מה- AC/DC. זה יטגן את הלוח שלך. מהמתאם 12V המחובר לקיר חלק אחד של המפצל עבר ישר לנמל הארדואינו והשני לחיובי ולשלילה של לוח הלחם.

לבסוף, הגיע הזמן לחבר את הכפתור. צד אחד של הכפתור יזדקק הן לחשמל (כאשר הנגד שלנו מחובר פנימה) כמו גם את סיכת הפלט המולחמת (ניתן לעשות זאת גם מלוח הלחם). הסיכה השנייה תהיה הקרקע שלנו. יש לחבר את שלושת החוטים האלה: כוח עם נגד ל 5V, פלט ל- A0, וקרקע לקרקע על כל לוח Arduino Uno עצמו.

מכאן עלינו להיות מסוגלים לנסות לשלוט על הצעדים באמצעות קוד הבדיקה הבסיסי של הצעדים המצוי כאן. הסבר זה ב- Arduino.cc גם מספק הסבר יסודי יותר של צעדים דו/קוטביים אם אתה צריך את זה. הבא מאפשר להיכנס לקוד של הפודודורו!

שלב 2: שלב 2: העלאת קוד והתאמתו לצרכיך

שלב 2: העלאת קוד והתאמתו לצרכיך
שלב 2: העלאת קוד והתאמתו לצרכיך

להלן הקוד לפומודורו שלי עם כפתור, על מנת להתאים אותו להתקנה שלך בצע יחד עם השלבים הבאים:

1. קבע כמה צעדים לכל מהפכה יש לסוג הצעד האישי שלך (ל- NEMA 17 יש 200 והוא מופיע במספר השלם הקבוע הנקרא stepsPerRevolution).

2. הגדר לאן הכפתור שלך נכנס בכפתור המתקשר מספר שלם קבוע.

3. קבע מהיכן אמור הפלט הארדואינו שלך לפקוד על הצעדים (חלקים אלה עשויים להשתנות ביותר בין סוגי גשר H שכן לרבים יש ספריות שונות בהן הם משתמשים).

4. הגדר את מהירות המדרגות בסל"ד בספינת.setSpeed (יש לי את שלי מוגדר ל -1 סל"ד בעת סיבוב עם כיוון השעון ו -30 סל"ד בעת סיבוב נגד כיוון השעון).

5. קבע כמה פעמים אתה רוצה שכל אחד מהסטפרים שלך יסתובב לפני שהוא ימשיך (הצעדים שלי סופרים עשר דקות, כך שהם מסתובבים עשר פעמים ב -1 סל ד).

6 הגדר כמה זמן אתה רוצה שהוא יסובב לאחור.

#לִכלוֹל

const int stepsPerRevolution = 200; // קבוע קבוע כמה צעדים יש בכל מהפכה מלאה של מנועי הצעד שלי

const int buttonPin = A0; // הגדרת קבוע של קלט הכפתור שלי

Stepper firstStepper (stepsPerRevolution, 2, 3, 4, 5); // לאתחל את ספריית stepper על סיכות מסוימות

Stepper secondStepper (stepsPerRevolution, 6, 7, 8, 9); Stepper thirdStepper (stepsPerRevolution, 10, 11, 12, 13); Stepper firstStepperBack (stepsPerRevolution, 2, 3, 4, 5); // אתחל מחדש את ספריית המדרגות בסיכות אלה כדי לאפס את סל ד כאשר מתריעים כי הזמן פג ב- Stepper secondStepperBack (stepsPerRevolution, 6, 7, 8, 9); Stepper thirdStepperBack (stepsPerRevolution, 10, 11, 12, 13);

int minutesCounter = 0; // int ספירת מהפכות מלאות של צעדים

int timerState = LOW; // המצב הנוכחי של טיימר הפומודורו (HIGH = פועל, LOW = כבוי/איפוס) int buttonState; // הקריאה הנוכחית מסיכת הקלט int lastButtonState = HIGH; // הקריאה הקודמת מסיכת הקלט

// המשתנים הבאים אינם ארוכים ללא סימן מכיוון שהזמן, הנמדד באלפיות השנייה, // יהפוך במהירות למספר גדול יותר ממה שניתן לאחסן ב- int. unsigned long lastDebounceTime = 0; // בפעם האחרונה שסיכת הפלט הוחלפה debounceDelay ארוכה ללא סימן 50; // זמן ההפלה; להגדיל אם התפוקה מהבהבת

הגדרת בטל () {

pinMode (buttonPin, INPUT_PULLUP); // הגדר קבוע של כפתור כקלט

firstStepper.setSpeed (1); // הגדר את המהירות בסל"ד אחד לספירה של 10 דקות לשנייה של stepStepper.setSpeed (1); thirdStepper.setSpeed (1); firstStepperBack.setSpeed (30); // הגדר את המהירות ב -30 סל"ד להתראה כי הזמן פג לאחר שפומודורו השלים את secondStepperBack.setSpeed (30); thirdStepperBack.setSpeed (30);

Serial.begin (9600); // התחל צג טורי עם קצב שידור של 9600

}

לולאת חלל () {

// לקרוא את מצב המעבר למשתנה מקומי: int reading = digitalRead (buttonPin);

// בדוק אם רק לחצת על הכפתור

// (כלומר הקלט עבר מ- LOW ל- HIGH), וחיכית // מספיק זמן מאז הלחיצה האחרונה להתעלם מכל רעש:

// אם המתג השתנה עקב רעש או לחיצה:

אם (קריאה! = lastButtonState) {// אפס את הטיימר המפסיק LastDebounceTime = millis (); } אם ((millis () - lastDebounceTime)> debounceDelay) {// מה שהקריאה נמצאת בו, היא הייתה שם יותר זמן // מאשר עיכוב הניתוק, אז קח את זה כמצב הנוכחי בפועל:

// אם מצב הלחצן השתנה:

אם (קריאה! = buttonState) {buttonState = קריאה;

// החלף את הפעלת הטיימר רק אם מצב הלחצן החדש מציין שהוא נלחץ

// לחץ פעם אחת להפעלה, לחץ שוב כדי לכבות אם (buttonState == LOW) {timerState =! timerState; Serial.print ("מצב טיימר הוא"); Serial.println (timerState); }}}

if (timerState == HIGH) {

Serial.println ("טיימר Pomodoro התחיל"); if (minutesCounter <11) {// אם הערך השני הנוכחי שונה מהערך הקודם אז firstStepper.step (stepsPerRevolution); // סיבוב צעד 200 מדרגות/1 דקות סיבוב מונה ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }

if (11 <= minutesCounter && minutesCounter <21) {// אם הערך השני הנוכחי שונה מהערך הקודם אז secondStepper.step (stepsPerRevolution); // סובב stepper 200 צעדים/1 דקות סיבוב קוניטר ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }

if (21 <= minutesCounter && minutesCounter <31) {// אם הערך השני הנוכחי שונה מהערך הקודם, thirdStepper.step (stepsPerRevolution); // סובב stepper 200 צעדים/1 דקות סיבוב קוניטר ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }

if (31 <= minutesCounter && minutesCounter <1031) {// אם הערך השני הנוכחי שונה מהערך הקודם אז FirstStepperBack.step (-1); // להחזיר את צעד צעד אחורה ברצף כדי להיראות כאילו כולם פועלים בו זמנית secondStepperBack.step (-1); thirdStepperBack.step (-1); minutesCounter ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }} else {Serial.println ("טיימר Pomodoro כבוי"); } // שמור את הקריאה. בפעם הבאה דרך הלולאה, // זה יהיה lastButtonState: lastButtonState = reading; }

שלב 3: שלב 3: הכיל את הסטפרס ואת הארדואינו אם תרצה

שלב 3: הכיל את הסטפרים וארדואינו אם תרצה
שלב 3: הכיל את הסטפרים וארדואינו אם תרצה
שלב 3: הכיל את הסטפרים וארדואינו אם תרצה
שלב 3: הכיל את הסטפרים וארדואינו אם תרצה
שלב 3: הכיל את הסטפרים וארדואינו אם תרצה
שלב 3: הכיל את הסטפרים וארדואינו אם תרצה

בחרתי ליצור צורה מקבילית לשעון שלי. צורה זו ובחירות החומר של אלון אדום היו בהשראת ריהוט מודרני באמצע המאה. חלק אחד שהכי התקשיתי היה להתאים את הצעדים עם חוגות מבעד לחלוזיהם כדי להיראות מהם.

מוּמלָץ: