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

שעון מיקרו בינארי: 10 שלבים (עם תמונות)
שעון מיקרו בינארי: 10 שלבים (עם תמונות)

וִידֵאוֹ: שעון מיקרו בינארי: 10 שלבים (עם תמונות)

וִידֵאוֹ: שעון מיקרו בינארי: 10 שלבים (עם תמונות)
וִידֵאוֹ: אני רוצה שווארמה 🌯 2024, נוֹבֶמבֶּר
Anonim
שעון מיקרו בינארי
שעון מיקרו בינארי
שעון מיקרו בינארי
שעון מיקרו בינארי

פרויקטים של טינקרד »

לאחר שיצר בעבר תוכנת Instructable (DVM בינארית), העושה שימוש בשטח התצוגה המוגבל באמצעות בינארי.

זה היה רק צעד קטן לאחר שיצר בעבר את מודול הקוד הראשי להמרה עשרונית לבינארית ליצירת שעון בינארי אך הדבר היחיד שחסר היה RTC (שעון בזמן אמת).

עם זאת, למיקרוביט אין מבנה ב- RTC.

ה- RTC מאפשר מימוש פרויקטים של שעון עם גיבוי סוללה.

ככזה הפרויקט הבא משתמש במיקרוביט ובקיטרוניק RTC ליצירת שעון 24 שעות עם צג בינארי ובנוסף יש לו אפשרות אזעקה.

תוכנת הפרויקט שתופעל על המיקרוביט תיווצר בלוקים של Makecode.

אספקה:

MicroBit V1 או V2

מארז מגן MicroBit (אופציונלי)

קוד קוד

קיטרוניק RTC

CR2032

חסימות קוד

קורה

מדפסת תלת מימד

1 * מתג SPDT (מופעל)

1 * מתג SPDT (on - off - on)

2 * SPST (פתוח בדרך כלל), מתג רגעי

4 * M3 (10+6 מ מ), M/F עמידות עם אגוזים M3

4 * M3 (8 מ מ), ברגים

מחבר M/F חוט מגשר, 100 מ מ, 28AWG מיוצר מראש עם תקע ושקע.

1 * זמזם פיזו (ללא כונן)

חומרים אלה זמינים במספר חנויות וייתכן שיש לך ספק מועדף משלך.

שלב 1: הגדרת אזור התצוגה

הגדרת אזור התצוגה
הגדרת אזור התצוגה
הגדרת אזור התצוגה
הגדרת אזור התצוגה

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

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

התצוגה מחולקת ל -3 אזורים עיקריים; זמן, בחירה ומצבים.

זְמַן

16 LEDs מוקצים ל- Time, כל עמודה של 4 LEDs מוקצה למרווח זמן, המרווחים הם בצורה H, H, M & M.

לכל ביט של המילה הבינארית יש משקל של 1, 2, 4 & 8 עם ה- LSB בשורה 4 וה- MSB בשורה 1

כל מילת 4 סיביות בינארית מאפשרת ספירה של 0 עד 15, וזה יותר ממספיק עבור פורמט הזמן 24 שעות, הדורש ספירה מקסימלית לכל עמודה של 2, 9, 5 & 9.

בְּחִירָה

שורה אחת של 4 נוריות LED בשורה 0 משמשות לזיהוי עמודת הזמן שנבחרה בעת הזנת הזמן.

מצבים

עמודה אחת של 5 נוריות LED בעמודה 4 משמשת לזיהוי מצבים, פונקציות ותפעול.

טיק - LED 4, 0 מהבהבים וכיבוי משמשים לציון שניות והפעלה.

זמן - LED 4, 1 מציין מצב זמן כשהוא דולק. (מצב ברירת מחדל בעת ההפעלה)

אזעקה - LED 4, 2 מציין מצב אזעקה כשהוא מופעל.

הודעת אזעקה - LED 4, 3 & LED 4, 4 מהבהבים כאשר האזעקה מופעלת.

שלב 2: שעון בזמן אמת (RTC)

RTC (שעון בזמן אמת)
RTC (שעון בזמן אמת)
RTC (שעון בזמן אמת)
RTC (שעון בזמן אמת)
RTC (שעון בזמן אמת)
RTC (שעון בזמן אמת)
RTC (שעון בזמן אמת)
RTC (שעון בזמן אמת)

ה- RTC הוא הלב הפועם של היישום, המאפשר הגדרה ושמירה על זמן מדויק.

פרטים נוספים על ה- RTC ניתן למצוא בקיטרוניק.

ה- RTC מספק אספקה מוסדרת השוללת את הצורך להפעיל את המיקרוביט באמצעות מחבר USB או JST משלו וניתן גיבוי סוללה כדי לשמור על הזמן במקרה של אובדן חשמל.

לפני השימוש ב- RTC יהיה עליך לטעון את חבילת ההרחבה.

באמצעות Makecode מהסמל הגדרות, בחר הרחבות והקלד את קיטרוניק RTC בחיפוש.

בחר את החבילה להתקנתה והיא תתווסף לתוספים האחרים.

ישנם מספר בלוקים של קוד לקריאה ולכתיבה ל- RTC.

נצטרך רק 4 מתוך קוביות הקוד האלה עבור השעון הבינארי.

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

שלב 3: קידוד השעון

קידוד השעון
קידוד השעון
קידוד השעון
קידוד השעון
קידוד השעון
קידוד השעון

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

Init

Bclk - שעון בינארי

<Sel - כפתור בוחר את העמודה שתותאם להגדרת הזמן.

Inc - כפתור B מגדיל את הזמן.

לחיצה על שני כפתורי A ו- B יחד משנה את המצב בין זמן והתראה.

Strval - הוא ערך המחרוזת המכיל את הזמן בצורה "HH: MM: SS" שהוחזר מה- RTC

רק HH & MM משמשים להצגה או לקביעת השעה.

מצב - שומר על ערך המצב עבור Time = 1 ו- Alarm = 2 שנבחר בעזרת שילוב כפתורי A+B.

תקופה - הוא הערך של עמודת הזמן, שנבחר באמצעות הלחצן A.

0 = עמודה 0 (H), 1 = עמודה 1 (H), 2 = עמודה 2 (M), 3 = עמודה 3 (M)

Tick_en - מאפשר = 1 או מבטל = 0 את התקתק (שניות), מחוון.

Inc - אחסון ביניים של ערך הגדרת הזמן המצטבר.

Tm_list - מאחסן את הערך של כל עמודת זמן במהלך ההגדרה.

אזעקה - מפעיל או משבית את מחוון האזעקה.

התמיד קורא תמיד לפונקציית הקרציות.

תִקתוּק

פונקציית הסימון שבדרך כלל מופעלת, מציגה נורית הפעלה/כיבוי לסירוגין בפינה הימנית העליונה כדי לציין פעולה ושניות.

בנוסף, הוא קורא לפונקציית showtm שקוראת את ה- RTC ומעבדת את זה כדי להיות מוצגת בינארית, תוך התקשרות alarm_mode, אם הדבר מופעל, מציגים את נוריות התראות האזעקה בפינה הימנית התחתונה.

מופע

Showtm פונקציה, שיחות rdtime והערך המשמש מזה הוא strval המכיל את מחרוזת הזמן.

נוצרת לולאה המתקדמת באמצעות strval החילוץ של כל מספר בודד והתעלמות מהמפריד ":"

כל מספר בודד מומר לאחר מכן לערך המקביל הבינארי שלו עם הפונקציה dec2bin ומוקצה לעמודה הנכונה.

Rdtime

פונקציה rdtime, קוראת את 5 התווים הראשונים במחרוזת שחוזרים מה- RTC (תוך התעלמות ממקטע השניות) ומעבירה אותו ל- strval.

אם האזעקה הוגדרה (מצב = 2), ערכי הגדרת האזעקה מושווים לערכים שהוחזרו על ידי ה- RTC, אם יש התאמה אז אזעקה = 1 אם אין אזעקת התאמה = 0.

מצב Alarm_ כאשר מופעל, מוצגים שני נוריות הפעלה/כיבוי לסירוגין בפינה הימנית התחתונה של עמודה 4.

Dec2bin

הפונקציה dec2bin ממירה מספר עשרוני לבינארי ומציגה בעמודה הנכונה.

המספר שיש להמיר מועבר באמצעות ערך ועמודת התצוגה מועברת דרך col.

List2 הוא המערך שאליו מאוחסנת המילה הבינארית של 4 סיביות מתהליך ההמרה הבינארית.

נפתחת לולאה שמתחילה לחלק את הערך ב -2 השארית מאוחסנת ברכיב המערך ערך המספר השלם מחולק ב -2, זה חוזר על עצמו עד שערך השלם הוא <= 1 והערך האחרון הזה ממוקם במערך.

הערך העשרוני הגדול ביותר הוא 9 ובבינארית זהו 1001 כמילה של 4 סיביות.

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

לאחר מכן מתחילה לולאה להפעלת הנורית הנכונה בעמודה המתאימה, הדבר מושג עבור כל הופעה של אחת במילה הבינארית של 4 סיביות.

הממשק האנושי מתבצע באמצעות כפתורים.

כפתור A

פעולה זו בוחרת את העמודה שאליה ייכנס ערך הזמן ומציגה נורית מוארת מעל העמודה הנבחרת בשורה 4.

לאחר שכל עמודות הזמן עודכנו, הגדלת הבחירה לעמודה החמישית מעדכנת את משתנה הזמן.

אם מצב = 1 ה- RTC מתעדכן אחרת זמן ההתראה מתעדכן.

כפתור B

זהו לחצן התוספת ומגדיל את עמודת הזמן שנבחרה.

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

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

הערכים המרביים הם H = 2, H = 9, M = 5, M = 9

ערך התוספת הופך לבינארי ב- dec2bin והתצוגה מעודכנת.

לחצן מצב כפתור A+B

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

בהתאם למצב שנבחר התצוגה מתעדכנת כך שתציג את השעה או את שעת ההגדרה של ההתראה.

שלב 4: פעולה

פעולה
פעולה
פעולה
פעולה
פעולה
פעולה

הורד את קובץ ה- Hex למיקרוביט, הכנס סוללת CR2032 ל- RTC.

חבר את המיקרוביט ל- RTC והפעל את לוח ה- RTC באמצעות USB או מסופי הבורג.

נורית ה- Tick תתחיל להבהב וזמן קצר לאחר מכן הזמן יוצג.

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

בחירת מצב

לחיצה על כפתורי הבחירה (A) והגדלת (B) יחד תאפשר רכיבה על אופציות המצב בין זמן והתראה.

קביעת השעה

הגדרת הזמן היא במצב 24 שעות.

השתמש בלחצן הבחירה (A), כדי להעביר את הנורית לאורך השורה העליונה, זה מציין את העמודה שבה ניתן לשנות את הזמן. עמודות הבחירה מתאימות ל- H, H, M & M.

איפה H = שעות ו- M = דקות.

לאחר שבחרת בעמודה לחץ על לחצן התוספת (ב), שוב ושוב כדי להגדיל את הספירה אחת בכל לחיצה. הספירות מצוינות בינארית, אחרי הכל שעון בינארי.

כפתור התוספת רק מגדיל את הספירה וברגע שמגיעים למקסימום מתאפס לאפס, לחיצות נוספות יעלו שוב את הספירה.

לאחר הגדרת זמן העמודה הראשון, לחץ על לחצן הבחירה לעמודה הבאה ולאחר מכן השתמש בלחצן התוספת כדי להגדיר את זמן העמודה.

הערה: *** כאשר אתה מגדיר את השעה או האזעקה יהיה עליך להזין זמן בעמודה שנבחרה גם אם הזמן בעמודה יישאר ללא שינוי כאשר דילוג על עמודה מגדיר את זמן העמודה לאפס ****

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

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

הגדרת האזעקה

הגדרת זמן ההתראה מתבצעת בדיוק באותו אופן כמו עבור השעה.

על מנת להפעיל את האזעקה בזמן הנדרש, השאר את המצב מוגדר לאזעקה.

כדי לכבות את האזעקה הגדר את מצב הזמן.

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

זמן ההתראה אינו מאוחסן ב- RTC, ולכן אם יוסר החשמל הוא ידרוש איפוס.

שלב 5: קופסא את זה

תיבת זה
תיבת זה
תיבת זה
תיבת זה

הפרויקט יושב בזווית המתאימה לצפייה בשעון אך קופסה מוסיפה תחושת קביעות.

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

למרות זאת; בנוסף רציתי לשכפל את כפתורי המיקרוביט יחד עם פקדים ומחוונים אחרים.

בדרך כלל יהיה צורך להחיל אגדות על התיבה כדי לזהות לחצנים.

אלה יכולים להיות מיושמים ביד; תוויות צבועות, חרותות או החלת תוויות.

שיטה למימוש כל האפשרויות הללו תהיה להדפיס את הקופסה בתלת מימד, אך תחילה נצטרך ליצור קובץ CAD שאיתו ניתן ליצור את קובץ המדפסת.

אפשרויות יצירת הקבצים מצוירות ביד או מצוירות עם קוד.

בחרתי ב"צייר עם קוד "באמצעות Tinkercad CodeBlocks

את הקבצים של מכסה הארגז ובסיס הבוקס ניתן למצוא ב- Tinkercad CodeBlocks

שלב 6: עיצוב קוד בלוק

עיצוב קוד בלוק
עיצוב קוד בלוק
עיצוב קוד בלוק
עיצוב קוד בלוק

הקופסה הינה עיצוב בעל שני חלקים המורכב מבסיס ומכסה.

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

למכסה יהיה חיתוך למחבר המיקרוביט ולמתגים הנדרשים, בנוסף כל טקסט יודפס ישירות על המכסה וחורי הברגה יתיישרו עם עמודי הבסיס.

לוח ה- RTC יוצמד לחלק התחתון של המכסה על ידי 4 עמודים ו -4 ברגים.

גודל הקופסה בתוספת מכסה הוא 70 x 105 x 31 מ מ

הקוד עבור המכסה והבסיס זמין ב- TinkerCad CodeBlocks.

שלב 7: הדפסה תלת מימדית

הדפסה תלת מימדית
הדפסה תלת מימדית
הדפסה תלת מימדית
הדפסה תלת מימדית
הדפסה תלת מימדית
הדפסה תלת מימדית
הדפסה תלת מימדית
הדפסה תלת מימדית

טען את הקבצים ב- Cura והחל את הגדרות הפריסה המועדפות עליך.

הגדרות יישומיות.

איכות: 0.15 מ מ

מילוי: 80%, משושה משושה

בסיס: שוליים

שמור את הקבצים ולאחר מכן הדפס.

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

שלב 8: מילוי

מילוי
מילוי
מילוי
מילוי
מילוי
מילוי

מכסה הקופסה מודפס בטקסט שקוע אשר יתמלא בשרף אפוקסי צבעוני בן 2 חלקים.

השרף מעורבב ביחס של 2 חלקים שרף למקשה 1 חלק ואז מעורבב פיגמנט צבע אטום.

הצבע שנבחר היה צהוב בניגוד לרקע. הלבן היה בחירה אחרת.

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

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

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

לאחר שהשרף נרפא קצת יידרש ליטוש קל ליישור פני השטח, התחל עם התקדמות כיתה P240 לדרגות עדינות כנדרש כדי לקבל גימור חלק ולבסוף לסיים עם לק.

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

שלב 9: הרכבה

הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה

המיקרוביט יתאים לשקע בשני כיוונים, מול החלק העיקרי של ה- RTC של הפניה כלפי מטה.

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

ההרכבה מתחילה בהלחמה של כותרת סיכת זווית ישרה על ה- RTC, זאת על מנת לאפשר את החיבורים עם מחברי push fit.

ה- RTC מותקן על ידי 4 * M3 (10+6 מ"מ), M/F סטנדים עם אגוזים M3 אשר מאובטחים למכסה בעזרת ברגים 4 * M3 (8 מ"מ) בחורים המוכנים.

המתגים מותקנים בחורים הטרומיים במכסה.

החיבורים הנדרשים הם:

GND, 3V, P1 (סט), P2 (התראה), P5 (sel) & P11 (inc)

הערה *** נגדים (1R), בתרשים עבור P5 ו- P11 הם פשוט נקודות חיבור התייחסות מכיוון שחיבור ישיר לסיכות אלה במיקרוביט בבלוקים של קוד אינו זמין בשלב זה. ***

P5 הוא החיבור החיצוני לכפתור A המחובר באמצעות מתג רגעי SPST. חיבור אחד ל- P5 והסיכה השנייה מחוברת ל- GND לחצן זה מיועד לבחירת עמודה במהלך הגדרת הזמן.

P11 הוא החיבור החיצוני לכפתור B המחובר באמצעות מתג רגעי SPST. חיבור אחד ל- P11 והסיכה השנייה מחוברת ל- GND הכפתור שלו מיועד להוספת מספר במהלך הגדרת הזמן.

P1 הוא מתג SPDT (on-on) המשמש להפעלה או השבתה של אפשרויות ההגדרה. הסיכה המרכזית עוברת ל- P1 ואילו סיכה אחת מחוברת ל- GND והשנייה ל- 3V באמצעות נגד 10k. זה מאפשר להחיל H (3V) ו- L (0V) על סיכה זו. כאשר P1 מחובר ל- 3V זה מאפשר את אפשרויות הגדרת הזמן וכאשר 0V משבית את הגדרת הזמן. ובכך לשלוט אם ללחצני A & B יש השפעה כלשהי.

P2 הוא מתג SPDT (on-off-on) המשמש להפעלה או השבתה של צליל ההתראה ואורות חיצוניים אופציונאליים.

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

שלב 10: לבסוף

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

לאחר מכן החל את הכוח וקבע את השעה.

תהנה.

תחרות קוד בלוק
תחרות קוד בלוק
תחרות קוד בלוק
תחרות קוד בלוק

סגנית בתחרות קוד הבלוק

מוּמלָץ: