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

שעון פרישה / ספירה עד / Dn שעון: 4 שלבים (עם תמונות)
שעון פרישה / ספירה עד / Dn שעון: 4 שלבים (עם תמונות)

וִידֵאוֹ: שעון פרישה / ספירה עד / Dn שעון: 4 שלבים (עם תמונות)

וִידֵאוֹ: שעון פרישה / ספירה עד / Dn שעון: 4 שלבים (עם תמונות)
וִידֵאוֹ: שעון ספירה לאחור 2024, נוֹבֶמבֶּר
Anonim
שעון פרישה / ספירה עד / Dn שעון
שעון פרישה / ספירה עד / Dn שעון

היו לי כמה מתצוגות LED-matrix 8x8 אלה במגירה וחשבתי מה לעשות איתן. בהשראת מדריכים אחרים, קיבלתי את הרעיון לבנות תצוגה של ספירה לאחור/למעלה כדי לספור עד תאריך/שעה עתידיים ואם זמן היעד חלף, לספור ממנו. עשיתי את זה עכשיו לשעון הפנסיה שלי יושב על המדף.

הרעיון להכניס אותו לבקבוק היה יותר תאונה תוך מחשבה על מעטפת. אחרים הכניסו ספינות לבקבוק, למה לא שעון?

רציתי גם לגרום לשעון לציית לשעון הקיץ וכמובן לזכור את ההגדרות ואת השעה בעת ניתוק החשמל. אני מפעיל את השעון באמצעות USB מה שהופך אותו לתכנות מחדש אם אתה רוצה לעשות משהו אחר או רק להוסיף תכונות לקוד. הקוד די פשוט ויכול גם להשתמש באופטימיזציה רבה. לא הקפדתי היטב על צריכת ה- RAM אני חייב להודות. אם יהיה לי זמן ומוטיבציה, אני אחזור לזה.

אספקה

1. ארדואינו ננו

2. RTC (השתמשתי ב- DS3231 הנפוץ שיש לו גם EEPROM)

3. מודול מטריצה 12x 8x8 נקודות. (היו לי את המודולים המרובעים שקל יותר להתיישר)

4. LDR להתאמת בהירות התצוגה

5. התנגדות 10 קאוהם

6. קבלים 5x 100 uF מדכאים קוצים מהתצוגה

7. כדי להגביר את הניגודיות של המודולים 8x8, השתמשתי ב"סרט חלון "בגוון כהה. הצג מציג את הנורות כנקודות לבנות אם אינן מוארות. סרט החלון הופך אותו למראה שחור מבריק.

שלב 1: חבר את הרכיבים

חבר את הרכיבים
חבר את הרכיבים
חבר את הרכיבים
חבר את הרכיבים

השתמשתי בשלושה מתצוגות המרובעות להרכיב את המסך. כדי להציג תאריך עם קווים וזמן עם נקודתיים, אנחנו צריכים מקום ל -8 תווים. באמצעות הגופן האופייני 5x7, נזדקק לשישה 8x8 בלוקים לשורה. חתכתי את אחד מגושי המרובע לשניים וסידרתי אותם כשתי שורות על שישה בלוקים כפי שמוצג בלוח המחוונים.

שלב 2: חלקים מודפסים בתלת מימד

חלקים מודפסים בתלת מימד
חלקים מודפסים בתלת מימד
חלקים מודפסים בתלת מימד
חלקים מודפסים בתלת מימד
חלקים מודפסים בתלת מימד
חלקים מודפסים בתלת מימד

כדי להחזיק את שתי שורות התצוגה ולמקם אותן בבקבוק הדפסתי טבעות מרחק עגולות למסגרת התצוגה. הוספתי את הקבצים שבהם השתמשתי למטה. כדי להדפיס אותם ללא תמיכה, הם מחולקים לחלקים. צילום המסך מציג את שתי הטבעות המודבקות למסגרת התצוגה. מכסה צוואר הבקבוק מכיל את שלושת הכפתורים למעבר בין מצבי תצוגה והגדרת השעה הנוכחית וזמן היעד. את מכסה צוואר הבקבוק הדפסתי ב- TPU ומאפשר להחליק את כבל ה- USB לתוך המכסה מבלי לנתק את המחברים ולקשור אותו בכמה פיתולים של חוט. שכחתי לציין שהשתמשתי בבקבוק יין 1.5 ליטר שחתכתי בתחתית ממש. כל החלקים להדפסה מתאימים למיטת מדפסת בגודל 20X20 ס מ (8X8 אינץ ').

שלב 3: הקוד

קוד Arduino משתמש בכמה ספריות נפוצות.

MD_MAX72xx

SPI

חוּט

RTClib

אזור זמן

TimeLib

ישנן כמה שורות בקובץ INO שעשויות להשתנות:

שורה 38: #define HARDWARE_TYPE MD_MAX72XX:: FC16_HW <- תלוי במודול 8x8 ובכיוונו

במקום FC16_HW זה יכול להיות אחד מ:

- MD_MAX72XX:: PAROLA_HW

- MD_MAX72XX:: GENERIC_HW

- MD_MAX72XX:: ICSTATION_HW

- MD_MAX72XX:: FC16_HW

הקוד משתמש בהגדרות לזמן מרכז ארה ב וצריך להתאים אותו לאזורי זמן אחרים:

קו 53/54:

TimeChangeRule myDST = {"CDT", שני, ראשון, מרץ, 2, -300}; // שעון יום UTC -5TimeChangeRule mySTD = {"CST", ראשון, ראשון, 2 בנובמבר, -360}; // זמן רגיל UTC -6

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

ה- RTC פועל באופן פנימי ב- UTC-Time ומאפשר לספריית אזור הזמן לפעול כמתוכנן. אתה עשוי לתהות מדוע הקוד מתייחס לשבב DS1307 הישן בניגוד לשבב השעון בו השתמשתי, אך זה לא משנה. הספרייה עובדת מצוין עם כל השבבים. ל- DS1307 יש נטייה להיסחף יותר מה- DS3132. ה- DS3132 הוא השעון המועדף. למי שרוצה להוסיף זמן אינטרנט, ESP8266 יעשה את העבודה די בקלות. זה עלול להפוך את ה- RTC למיושן. אם אתה מבצע שינויים אלה, השתמש ב- Edupro Arduino לאחסון זמן היעד, השתמשתי ב- RTC EEPROM לשם כך.

שלב 4: הפעלה והגדרות

תפעול והגדרות
תפעול והגדרות
תפעול והגדרות
תפעול והגדרות
תפעול והגדרות
תפעול והגדרות

ישנם שלושה כפתורים

1. תפריט / הגדרות

2. למעלה

3. למטה

כפתור התפריט מאפשר רכיבה על פני שלוש סוגי התצוגה: שעה נוכחית, זמן יעד, זמן דלתא. זמן הדלתא מציג את מספר הימים, HH/MM/SS בין הזמן הנוכחי לזמן היעד. זה יראה t- וספירה לאחור אם היעד נמצא בעתיד או t+ ויספור אם היעד נמצא בעבר.

כדי להתאים את הזמן הנוכחי או את יעד היעד, בחר את הזמן הנוכחי או את זמן היעד. כדי לשנות את הזמן, החזק את לחצן התפריט למשך 2 שניות ושחרר אותו שיביא אותך למצב ההגדרה. "/" או ":" השכנה יהפוך ל - "" כדי לציין איזו ספרה אתה מתאים. השתמש בלחצני למעלה/למטה כדי להתאים את מספר hh/mm/ss ו- mm/dd/yy. לא הוספתי הגדרה למעבר בין mm/dd/yy ו- dd/mm/yy, זה צריך לשנות את הקוד או שאולי מישהו מוכן להוסיף תכונה זו.

תבחין שאם תדרג את הדקות מעל 59 או מתחת ל -00, תצוגת השעות תתאים גם היא. אותו דבר לגבי שניות, שעות וימים שמשנים את הערך הגבוה הבא אם חוצים מתחת ל- 0 או מעל המקסימום עבור הספרה הזו. עשיתי זאת כדי להימנע מתכנות הגבולות השונים של חודשים בודדים ואם פברואר דורש 29 ימים בשנה מעוברת. התאמת הזמן מתבצעת למעשה בתקופה, שניות מאז 1 בינואר -1970.

הוספתי סרטון פשוט להצגת הספירה. רציתי לעשות את אלה כמו תצוגת גלגל מסתובב. אם אתה רוצה להתאים את משך השינוי, שורה 69 ב- INO נותנת לך כמה אפשרויות להאיץ או להאט את השינוי. 120 ms יגרמו לספרות לגלול לאט מספיק מכיוון שזה יהיה גלגל פועל ברציפות.

אני מקווה שנהניתם מהמדריך הזה.

פטריק Geschwindner

מוּמלָץ: