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

שעון Rainbow Word עם אפקט קשת מלא ועוד: 13 שלבים (עם תמונות)
שעון Rainbow Word עם אפקט קשת מלא ועוד: 13 שלבים (עם תמונות)

וִידֵאוֹ: שעון Rainbow Word עם אפקט קשת מלא ועוד: 13 שלבים (עם תמונות)

וִידֵאוֹ: שעון Rainbow Word עם אפקט קשת מלא ועוד: 13 שלבים (עם תמונות)
וִידֵאוֹ: שון גיטלמן בואי לסרט קליפ Sean Gitelman 2024, נוֹבֶמבֶּר
Anonim
שעון Rainbow Word עם אפקט קשת מלא ועוד
שעון Rainbow Word עם אפקט קשת מלא ועוד

מטרות

1) פשוט

2) לא יקר

3) כמה שיותר יעיל באנרגיה

שעון Rainbow Word עם אפקט קשת מלא.

סמיילי על שעון המלים.

שלט IR פשוט

עדכן 03-nov-18 LDR לבקרת הבהירות של הנאופיקסלים

עדכון 01-jan-19 הפחתת צריכת החשמל של WS2812B.

עדכון סמיילי 15 בינואר -19.

עדכון 23 בינואר -19 קוד 1.6

עדכן את הקישורים של 10-mar-19 ספריות

עדכון גרסה 14-אפר -19.

עדכון אחרון 01-jun-19 גירסה 2.0 שלט רחוק IR ותכנון מחדש של קוד

שלב 1: מארז השעון

מארז לשעון
מארז לשעון
מארז לשעון
מארז לשעון
מארז לשעון
מארז לשעון

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

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

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

שלב 2: Neopixels

Neopixels
Neopixels
Neopixels
Neopixels
Neopixels
Neopixels
Neopixels
Neopixels

נוריות ה- Neopixels מסודרות על צלחת עץ. בזה אתה קודם לקדוח חורים של 3 מ"מ. בחזית הם מוגדלים לגודל אותיות לעומק 3/4. לאחר מכן 3 מ"מ מאחור מוגדלים ל -10 מ"מ, זהו הגודל של Neopixel. עבור כמה תווים, ביניהם ה- W, יש להתאים מעט את החור.

השתמשתי בדיקט אשר התפזר במהירות, עשוי MDF להיות טוב יותר.

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

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

חיבור הנתונים חייב כמובן להיות עם חלקים קצרים מכיוון שהנתונים יוצאים ל- data-in.

שלב 3: התאמת טקסט קדמי

התאמת טקסט קדמי
התאמת טקסט קדמי
התאמת טקסט קדמי
התאמת טקסט קדמי
התאמת טקסט קדמי
התאמת טקסט קדמי

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

נוריות ה- NeoPixels עוברות כאן ברצף מ- 0-167. המספור עובר מהשורה הראשונה בפינה השמאלית העליונה לימין ולאחר מכן לשורה השנייה מימין לשמאל וכו 'ההתאמה יכולה להתבצע בהתאם לצרכים שלך. מספר NeoPixels נקבע על פי כמות התווים. ניתן להתאים פחות או יותר Neopixels בשורה הבאה

#define NUMPIXELS 168 // כמה NeoPixels מחוברים ל- Arduino?

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

כדוגמה, DRIE של הדקות, נקבע בקוד

void zetmDrie () {

Led_Aan [56] = 1, Led_Aan [57] = 1, Led_Aan [58] = 1, Led_Aan [59] = 1; // דקות-שלוש

}

אם אתה רוצה ליצור את המילה Arduino אז זה הולך כך:

void zetArduino () {

Led_Aan [38] = 1, Led_Aan [50] = 1, Led_Aan [56] = 1, Led_Aan [93] = 1;

Led_Aan [120] = 1, Led_Aan [135] = 1, Led_Aan [147] = 1; // Word-arduino

}

אז אתה יכול ליצור מילים בין.

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

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

שלב 4: אפקט קשת מלא

אפקט קשת מלא
אפקט קשת מלא

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

הספקטרום הכולל הוא בערך מספר המחולקים ואז משתנים מעט. כתוצאה מכך, כל Neopixel צבע שונה שמשתנה ללא הרף. Neopixel מס '1 ומס' 167 עוקבים אחד אחרי השני בכמה צבעים.

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

ניתן להגדיר את הבהירות בשורה הבאה, pixels.setBrightness (150);

מספר קטן יותר הוא פחות ומספר גדול יותר בהירות.

שלב 5: המרכיבים השונים

הרכיבים השונים
הרכיבים השונים
הרכיבים השונים
הרכיבים השונים
הרכיבים השונים
הרכיבים השונים

הרכיבים הבאים בהם השתמשתי

Arduino Pro Mini ATMEGA328 5V/16MHz

מודול שעון DS3231

168 חלקים Neopixels led WS2812 LED שבב וקירור 5V 5050 RGB WS2811 IC מובנה

סטנסיל אותיות נייר כסף

מקלט DCF77

שלב 6: קוד לשעון

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

נוסף חיישן תנועה של מכ"ם RCWL-0516 מכ"ם (חפש RADAR)

לאחר 10 דקות ללא תנועה, ה- NeoPixels יוצאים.

לגבי גרסה 2.0

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

יש פיסת קוד שתספק ל- EEPROM נתונים. הפעל זאת פעם אחת על -ידי הסרה זמנית של / / ו- * /. חפש => הפעל זאת פעם אחת כדי לספק ל- EEPROM נתונים

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

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

שלב 7: תיאור החומרה

תיאור החומרה
תיאור החומרה
תיאור החומרה
תיאור החומרה
תיאור החומרה
תיאור החומרה

ישנן גרסאות שונות של ה- Arduino Pro Mini. שימו לב, החיבורים עשויים להיות שונים.

נוסף חיישן תנועה למיקרוגל RCWL-0516.

כל עוד יש תנועה בקרבת השעון, ה- NeoPixel נשאר דולק

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

בגרסה 2.0 מקלט DCF77 מסופק באמצעות סיכה 13. סיכה זו מוגדרת כפלט ומוגדרת גבוה כאשר מטפלים בשגרת DCF77. מקלט DCF77 משתמש ב 0.28 mA והוא נחוץ רק לכמה דקות ביום.

כיבוי חיסכון

5 וולט * 0.28 mA / 1000 * 24 שעות * 365 ימים * 1 / 0.85 ספק כוח יעיל = 14.4 וואט בשנה.

זה לא נראה הרבה, אבל כל חלק עוזר.

שלב 8: LDR לבקרת הבהירות של הנאופיקסלים

LDR לבקרת הבהירות של הנאופיקסלים
LDR לבקרת הבהירות של הנאופיקסלים
LDR לבקרת הבהירות של הנאופיקסלים
LDR לבקרת הבהירות של הנאופיקסלים

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

הדבקתי את ה- LDR לחלל של neopixel 103. זה אינו משמש בתצוגת הזמן ולכן אינו משפיע על הרגולציה. הנייר מדכא את אור האירוע, אך אין בכך בעיה.

מחלק המתח של LDR ונגד 20 קוהם עובר ל- A0 של ה- Arduino Pro Mini. המתח הוא אינדיקטור לעוצמת האור ולכן גם אינדיקטור לכמות האור שיש לניאופיקסלים לתת.

הנוסחה שבה אני משתמש נותנת לי שליטה טובה באור, ניתן להתאים אותה בהתאם לנסיבות. בהתאם לכמות האור, המתח יכול להשתנות בין 0 ל -5 וולט המומר ל 0 עד 1024 ספירות הנמצאות ב- "LDRValue".

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

העוצמה היא תיאורטית מינימום של 20 ומקסימום של 1024/7 + 45 = 191. הערך המרבי שמדדתי היה 902, שמסתכם בעוצמה של 173. זה מתאים היטב ל -150 שהגדרתי כערך ברירת מחדל.. (ראה פיקסלים. setBrightness (150))

בגרסה 2.0 ניתן להגדיר את השליטה באמצעות השלט הרחוק. הפרמטרים הבאים נוספו: Brightness_min כמינימום ו- Brightness_max כהגדרה מקסימלית ו- Brightness_Offset כפרמטר הגדרה. Brightness_min ו- _max הם הערכים שיכולים להיות תלויים במצב שלך. Brightness_Offset הוא ערך שניתן להגדיר באמצעות השלט הרחוק ואפשר להגדיר בו בהירות פחות או יותר.

יש גם רצועה מתה של 3 בין ערכי LDRValue נמדדים לערכי BerLDRValue מחושבים.

השתמש בהצהרות ההדפסה בתוך ה BrightnessControl הריק כדי לבדוק את הגדרת הבהירות.

שלב 9: הפחתת צריכת החשמל של WS2812B

צמצום צריכת החשמל של WS2812B
צמצום צריכת החשמל של WS2812B

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

כאשר כל 169 הניאופיקסלים יוצאים, אני מודד 69 mA לניאופיקסלים. בהנחה שהשעון כבוי 12 שעות ביממה, כיבוי מוחלט אז חוסך: 5 (אספקת חשמל וולט) * 69/1000 (מיליאמפר / 1000 = אמפר) * 12 (מספר שעות ביום) * 365 (מספר ימים בתוך שנה) = 1511 ואט. אז על בסיס שנתי 1.5 Kwh. אני מסכים, זה לא הרבה כשלעצמו, אבל הרבה קטנים עושים אחד גדול.

המעגל פשוט. הפלוס של ספק הכוח עובר על ידי MosFet ערוץ P. חיישן המכ ם קובע אם הנאפיקסלים מופעלים או כבים. שמתי שני חבילות MosFet כדי לשמור על התנגדות ה- ON נמוכה ככל האפשר בגלל אובדן MosFets. בשימוש רגיל אני מודד 4, 5 מילי וולט מעל MosFets. השער נשלט על ידי פלט 4 מהארדואינו באמצעות נגד 470 קוהם. אם הפלט ירד לנמוכה (0) דיגיטלית, הנאפיקסלים מופעלים ובגבוה (1) הם כבויים.

שלב 10: סמיילי בשעון Word

סמיילי בשעון המילה
סמיילי בשעון המילה
סמיילי בשעון המילה
סמיילי בשעון המילה

סמיילי על שעון המלים.

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

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

הסמיילי הוא שינוי קטן בקוד.

שלב 11: באילו ספריות משתמשים

באיזה ספריות משתמשים.

אני משתמש בהם ב- Windows 7 עם Arduino IDE 1.6 והם נבדקו גם ב- Windows 10 עם Adruino IDE 1.8.8

RTClib-master

Arduino-DS3231-master

Adafruit_NeoPixel-master

Arduino-DCF77-master

ספריית IR-remote של קן שירף

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

ספריית IRremote משתמשת בזיכרון רב. ב- IRremote.h מצוין שניתן להשבית כל פרוטוקול שאינו בשימוש.

// כל פרוטוקול שאתה כולל עולה זיכרון, ובמהלך הפענוח עולה זמן // השבת (הגדר 0) את כל הפרוטוקולים שאתה לא צריך/רוצה!

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

שלב 12: שלט IR פשוט

שלט IR פשוט
שלט IR פשוט
שלט IR פשוט
שלט IR פשוט
שלט IR פשוט
שלט IR פשוט

ההרכבה

כפי שאתה יכול לראות בתמונות, החור עבור LED 132 התברר כקצת גדול מדי. ניצלתי את זה היטב והוספתי אליו את מקלט ה- IR. חבר את סיכת הנתונים של מקלט ה- IR VS1838 לסיכה 7 של הארדואינו. בנוסף, חבר את ספק הכוח פלוס ומינוס. מקלט ה- IR משתמש ב -0.21 mA וניתן לחבר אותו גם לחשמל פלוס לאחר מתג ה- FET. זה גורם לחיסכון, אם השעון פועל 50% מהזמן, של 5 וולט * 0.21 mA / 1000 * 12 שעות * 365 ימים * 1 / 0.85 ספק כוח יעיל = 5.4 וואט בשנה. זה לא נראה הרבה, אבל כל חלק עוזר.

הפעולה היא כדלקמן

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

לאחר הטיפול ב- IR אז מספר נוריות נורות למידע, להסבר קרא עוד וצפה בתמונה הראשונה.

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

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

1 צבע קבוע או אפקט קשת

הבזק של 2 שניות או הבזק שני מופעל

3 סמיילי לא סמיילי מופעל

4 DCF77 כבוי או DCF77 מופעל

מספר המפתח מוצג בכפתורים הבאים

דלפק 5 סמיילי

6 רוחב ספקטרום הקשת

7 תיקון הגדרה אדומה

8 תיקון הגדרה ירוקה

9 תיקון הגדרה כחולה

שורה 6, 7 ו -8 של נוריות הלדים תואמות כעת את הערך שנקבע, שורה 6 מציינת את היחידות, שורה 7 את העשרות ושורה 8 את המאה. כל שורה מתחילה בערך אפס. אז הוביל הראשון בשורה הוא 0 השני הוא 1 וכו '.

0 הגדרת זמן

/\ הגדרת בהירות

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

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

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

הזמן מותאם.

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

ניתן לשנות את הערך למפתחות 5 עד 9 בעזרת המקשים

נכון הוא פלוס 1

שמאל הוא מינוס 1

קדימה היא פלוס 10

הפוך הוא מינוס 10.

ולגביעת הזמן

נכון הוא פלוס דקה אחת

שמאל הוא מינוס 1 דקה

קדימה היא פלוס שעה

הפוך הוא מינוס שעה

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

בעת הגדרת הצבע אתה רואה את השינוי ישירות על כל התצוגה. לאתר עם סקירה כללית של צבעים ראה https://www.helderester.nl/kleurentabel.html. ניתן כמובן להגדיר כל ערך.

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

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

שלב 13: מה ההמשך?

אילו נקודות?
אילו נקודות?

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

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

מוּמלָץ: