תוכן עניינים:
וִידֵאוֹ: שעון איש: 5 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:16
לעתים קרובות אני מוצא את עצמי קונה דברים שאין לי מושג מה אני הולך לעשות איתם. פרויקט זה הוא תוצאה של רכישת טבעת עם 12 נוריות WS2812b דולקות. לא היו לי תוכניות לזה אבל זה נראה מגניב באינטרנט אז תקעתי אחד בעגלה שלי, שיחקתי איתו זמן מה כשהוא הגיע ואז שכחתי הכל.
זמן מה אחר כך חשבתי להכין שעון ונזכרתי שישבו שם בלי לעשות כלום. חשבתי לקנות טבעת שנייה עם 60 נורות דולקות כדי לפצות על הדקות, אבל התחלתי לחשוב איך אנחנו / אני נוטים להסתכל על הזמן ולסגל אותו ל -5 הדקות הקרובות.
עם זה בשלי יצאתי עם טבעת ה- 12 שלי לייצר את השעון האישי. הוא מציג 1 נורית אחת בכל פעם למשך שנייה אחת, כדי לציין את השעה (נורית כחולה) ואז הדקות (נורית אדומה) מעוגלות כלפי מטה
שלב 1: איסוף חלקים ועבודות עץ
היה לי מזל גדול להגיע יום אחד לעבודה ולזהות מזרן. המזרן הזה בלט לי מכיוון שהוא לא נראה כמו משטח הטחנה הסטנדרטי שלך. הוא היה נקי, מטופל בחום והאלון המוצק ביותר בצורה יוצאת דופן.
פרויקט זה עשוי מאחת החתיכות של אותה משטח. (שאלתי את הבוס לפני שלקחתי אותו הביתה)
משמש גם:
- טבעת LED 12 פיקסל ws2812b
- מודול שעון בזמן אמת (RTC) (אני משתמש ב- DS3231 עם I2C)
- תואם Arduino Nano v3.0
- יריעת אקריליק (5 מ"מ)
- חוט צבעוני
כלים
- מקדחה
- נתב
- מעט עץ מתכוונן מתכוונן
- מלטשת כוח
- מסור ידני
- מלחם
- אקדח דבק חם
- נייר זכוכית
- שמן דני
שיוף
התחלתי להשתמש במלטשת הכוח כדי ליישר ולנקות את גוש העץ עד שכל הצדדים יהיו נקיים וחלקים. השארתי חלק מהפגמים גלויים וזה לא ישר או מרובע לחלוטין, כיוון שאני אוהב לראות חלק מההיסטוריה ביער.
סימון וחיתוך החורים
לאחר שיוף בחרתי בצד שאני רוצה את פני השעון וסימנתי את המרכז על ידי ציור קווים מכל פינה. הנחתי את העץ המתכוונן מעט גדול יותר מטבעת הלד כך שיהיה מדף לאקריליק לשבת עליו וחתך אותו בעומק של כ -5 מ"מ ואז התכוונן את החותך בגודל של טבעת הלד בערך וחתך עוד 5 מ"מ בערך.
ניתוב וחורי כבלים
בעזרת הנתב שלי עם הסיביות 12 מ"מ ניתקתי שקע בתחתית הבלוק כדי להסתיר את ה- RTC והארדואינו. עומקו כ- 15 מ"מ ולא פחות מ -5 מ"מ מכל קצה. סימנתי את המרכז (ish) מלמטה וקידחתי בעזרת 10 מ"מ קצת בחצי הדרך כדי לאפשר את חוטי ה- LED. לאחר מכן בעזרת קצת 5 מ"מ קדחתי ממרכז השקע LED כדי לפגוש את החור של 10 מ"מ מלמטה.
עוד חור אחד בגודל 4 מ מ כדי שהכוח ייכנס ושימוש בנתב קטן יותר כדי ליצור ערוץ לחוטים בגב טבעת ה- LED ועבודת העץ נעשית.
שלב 2: מעגלי אקריליק
כדי להכין את האקריליק לחזית השעון ציינתי בחיתוך חתיכה מרובעת שגדולה יותר מהחור שהוא צריך למלא. לאחר מכן בעזרת מלטשת הכוח כדי להתחיל התחלתי להסיר את הפינות עד שהן היו בערך בצורה ובגודל הנכונים. לאחר מכן עברתי לשייף ביד כך שלא ירהתי וצריך להתחיל מחדש.
זה היה תהליך איטי ומייגע של ניסוי וטעייה עד שהתאים בדיוק אבל אני חושב שהתוצאה הסופית הייתה שווה את זה. סיימתי בעזרת נייר גרוט דק מאוד כדי להעניק לחזית האקריליק מראה חלב.
שלב 3: הלחמה
אני אוהב להשתמש במערכת צבעים עבור החוטים שלי בהזדמנות זו שאני בוחר:
- אדום עבור כוח (5v)
- לבן לקרקע
- צהוב לנתונים
- ירוק לשעון
התחלתי בהלחמה של 3 החוטים הדרושים על טבעת ה- LED באמצעות המערכת למעלה ודחיפת החוטים לאורך החור. מכיוון שהוא לא אמור להיחשף לאילוץ אמיתי השתמשתי בקטנה דבק חם כדי להחזיק את הטבעת במקומה. (אולי אצטרך לשנות אותו מתישהו) ולהתקין את האקריליק עם מעט דבק חם מסביב לקצה.
לאחר מכן הלחמתי את 4 החוטים על ה- RTC באמצעות המערכת למעלה. כדי שהדברים יהיו קצת יותר מסודרים החלטתי לשאוב כוח ל- RTC מהארדואינו. אחר כך חיבר הכל לארדואינו והלחם חוט אחד לצורך הספק ועוד אחד לטחינה לארדואינו.
RTC
- SCL (שעון) לפין אנלוגי 5
- SDA (נתונים) לפין אנלוגי 4
- VCC עד 5V
- GND לכל GND ב- Arduino
טבעת לד
דין לפין דיגיטלי 6
היה לי כבל USB ישן מסתובב אז החלטתי להשתמש בו כדי להפעיל את השעון. חתכתי את הקצה שבדרך כלל יתחבר למשהו ודחפתי אותו דרך החור מאחור. לאחר מכן הפשיטו וקטנו את הקצוות לפני הלחמת ה- VCC לארדואינו וטבעת ה- LED לצד החיובי והקרקע מהארדואינו ו- LED לקרקע. חום קטן התכווצתי אחר כך וזה נראה טוב, אקדח הדבק החם יצא החוצה כדי לשמור על הכל. החלטתי להשאיר את הארדואינו עם מספיק משחק כדי שאוכל לגשת ליציאת ה- USB כדי לתכנת אותו בעתיד אך לא עד כדי כך שאוכל ליפול.
שלב 4: הקוד
כעת אתה אמור להיות מסוגל להעלות את הקוד הזה ל- Arduino.
אם ה- RTC אינו מפעיל קוד זה יקבע את הזמן המבוסס על מועד חיבור הקוד, הקפד ללחוץ על כפתור ההעלאה ולא לאמת.
לסירוגין זה גם עובד ממש טוב לקביעת הזמן.
www.instructables.com/id/Setting-the-DS130…
חלק גדול מהקוד הזה שאלתי מספריית Adafruit NeoPixel וחלק מספריית RTC שמצאתי וחלק המצאתי לבד.
// כלול את קוד הספרייה: #include
#לִכלוֹל
#לִכלוֹל
// הגדר סיכות
#הגדר PIN 6
#define BRIGHTNESS 20 // הגדר בהירות מרבית
#הגדר r 5
#הגדר g 5
#הגדר ב 5
RTC_DS3231 rtc; // הקמת אובייקט שעון
רצועת Adafruit_NeoPixel = Adafruit_NeoPixel (12, PIN, NEO_GRB + NEO_KHZ800); // חפץ רצועה
הגדרת בטל () {
Wire.begin (); // בגין I2C
rtc.begin (); // התחל שעון
Serial.begin (9600);
// הגדר pinmodes
pinMode (PIN, OUTPUT);
if (rtc.lostPower ()) {
Serial.println ("RTC איבד כוח, מאפשר להגדיר את השעה!");
// השורה הבאה קובעת את ה- RTC לתאריך ושעה שסקיצה זו נערכה
rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)));
// שורה זו קובעת את ה- RTC עם תאריך ושעה מפורשים, למשל להגדרה
// 21 בינואר 2014 בשעה 3:00 תתקשר:
// rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0));
}
strip.begin ();
strip.show (); // אתחל את כל הפיקסלים ל'כבוי '
DateTime theTime = rtc.now (); // לוקח בחשבון DST
בת secondval = theTime.second (); // קבל שניות
byte minuteval = theTime.minute (); // לקבל דקות
int hourval = theTime.hour ();
נקודה (רצועה. צבע (0, גרם, 0), 50);
}
לולאת חלל () {
// לקבל זמן
DateTime theTime = rtc.now (); // לוקח בחשבון DST
int minuteval = theTime.minute (); // לקבל דקות
int hourval = theTime.hour (); // לקבל שעות
int secondval = theTime.second ();
אם (דקות 0) {
strip.setPixelColor (0, r, 0, 0);
strip.show ();}
אחרת אם (דקות <= 9) {
strip.setPixelColor (1, r, 0, 0);
strip.show ();}
אחרת אם (דקות <= 14) {
strip.setPixelColor (2, r, 0, 0);
strip.show ();}
אחרת אם (דקות <= 19) {
strip.setPixelColor (3, r, 0, 0);
strip.show ();}
אחרת אם (דקות <= 24) {
strip.setPixelColor (4, r, 0, 0);
strip.show ();}
אחרת אם (דקות <= 29) {
strip.setPixelColor (5, r, 0, 0);
strip.show ();}
אחרת אם (דקות <= 34) {
strip.setPixelColor (6, r, 0, 0);
strip.show ();}
אחרת אם (דקות <= 39) {
strip.setPixelColor (7, r, 0, 0);
strip.show ();}
אחרת אם (דקות <= 44) {
strip.setPixelColor (8, r, 0, 0);
strip.show ();}
אחרת אם (דקות <= 49) {
strip.setPixelColor (9, r, 0, 0);
strip.show ();}
אחרת אם (דקות <= 54) {
strip.setPixelColor (10, r, 0, 0);
strip.show ();}
אחרת אם (דקות <= 59) {
strip.setPixelColor (11, r, 0, 0);
strip.show ();}
עיכוב (1000);
עבור (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();
}
if (hourval == 0) {
strip.setPixelColor (0, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 1) {
strip.setPixelColor (1, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 2) {
strip.setPixelColor (2, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 3) {
strip.setPixelColor (3, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 4) {
strip.setPixelColor (4, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 5) {
strip.setPixelColor (5, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 6) {
strip.setPixelColor (6, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 7) {
strip.setPixelColor (7, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 8) {
strip.setPixelColor (8, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 9) {
strip.setPixelColor (9, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 10) {
strip.setPixelColor (10, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 11) {
strip.setPixelColor (11, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 12) {
strip.setPixelColor (0, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 13) {
strip.setPixelColor (1, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 14) {
strip.setPixelColor (2, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 15) {
strip.setPixelColor (3, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 16) {
strip.setPixelColor (4, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 17) {
strip.setPixelColor (5, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 18) {
strip.setPixelColor (6, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 19) {
strip.setPixelColor (7, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 20) {
strip.setPixelColor (8, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 21) {
strip.setPixelColor (9, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 22) {
strip.setPixelColor (10, 0, 0, b);
strip.show ();}
אחרת אם (hourval == 23) {
strip.setPixelColor (11, 0, 0, b);
strip.show ();}
עיכוב (1000);
עבור (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();
}
// לניפוי באגים סדרתי
Serial.print (hourval, DEC);
Serial.print (':');
Serial.print (דקות, DEC);
Serial.print (':');
Serial.println (secondval, DEC);
}
נקודה בטלה (uint32_t c, uint8_t המתן) {
עבור (int j = 0; j <3; j ++) {
עבור (int i = 0; i <12; i ++) {
strip.setPixelColor (i, c);
strip.show ();
עיכוב (המתנה);
עבור (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();}
}
}
}
שלב 5: שמן דני
השלב האחרון והאופציונאלי הוא למרוח מעט שמן דני על העץ. אני מאוד אוהב איך זה מוציא את הדגן בנוסף שהוא מציע הגנה מסוימת מפני כתמים ולחות. אז אני ממליץ עליו בחום.
אתה יכול לצחצח אותו או שאני פשוט משתמש במטלית ישנה לנגב אותו.
כל שנותר כעת הוא לחבר אותו וליהנות.
מוּמלָץ:
שעון רשת ESP8266 ללא כל RTC - Nodemcu NTP שעון אין RTC - פרויקט שעון אינטרנט: 4 שלבים
שעון רשת ESP8266 ללא כל RTC | Nodemcu NTP שעון אין RTC | פרויקט שעון אינטרנט: בפרויקט תעשה פרויקט שעון ללא RTC, ייקח זמן מהאינטרנט באמצעות wifi והוא יציג אותו בתצוגה st7735
האם אתה רוצה לבנות איש שלג ?: 9 שלבים (עם תמונות)
האם אתה רוצה לבנות איש שלג ?: מבוא פרויקט זה מראה כיצד לבנות איש שלג רוקד, עם ה- Raspberry Pi ו- PivotPi - בקר סרוו שנבנה בדיוק בשביל זה! שריטה משמשת לקידוד איש השלג הרוקד וסוניק פי מייצרת את מוזיקת החגים
לגו איש גולגולת לגו: 6 שלבים (עם תמונות)
לגו לגולגולת גולגולת: היי היום אני הולך ללמד אותך איך להכין איש לגו גולגולת לד מופעל על ידי באטרי. זה יהיה נהדר עבור ליל כל הקדושים שעומד להתרחש בקרוב. או שזה יהיה אפילו פרויקט פשוט נהדר לביצוע כאשר הלוח שלך או רק חתיכת מעטפת קטנה
מערכת התראת אוזניים פרקת איש זאב סטנדרטית: 3 שלבים (עם תמונות)
מערכת התראה של Werewolf Perky Ears Ware System: אף אחד לא אוהב את זה כאשר מישהו או משהו בא מאחוריך במפתיע. מכיוון שלרוב האנשים אין חוש חירום מכוונן, הוסף אלקטרוניקה כדי לזהות מתי משהו מסתתר בחזרה. הגן על השישה שלך. כי כל כך קר בחוץ
איש התופים של ארדואינו: 5 שלבים (עם תמונות)
איש התופים של ארדואינו: רכיבים: 1. חוט מתכת 2. ערכת צעצוע תוף זולה (היי כובע, סנפיר ותוף בעיטה) 3. שלושה סרוו 4. חוט חשמלי 5. סרט דביק 6. לוח לחם 7. Arduino Uno8. USB ל- USB 2.0