תוכן עניינים:
- שלב 1: איסוף חומרים וכלים
- שלב 2: סימון, קידוח וניתוב
- שלב 3: כל כך הרבה חיילים, חיתוך וחיטוט
- שלב 4: התקנה
- שלב 5: נגיעות אחרונות
וִידֵאוֹ: 132 שעון פיקסל: 5 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:16
יש לי, מאז שאני זוכר את עצמי אובססיבי על ידי נוריות וזמן. בפרויקט זה יצרתי שעון קיר גדול המציג את השעה הנוכחית באמצעות 132 נוריות ניאופיקסל המותקנות ומאירות מבעד ללוח אשוח. הוא דיגיטלי אנלוגי היברידי עם פיקסל אישי לכל שעה, דקה ושנייה.
זה היה הפרויקט הגדול ביותר שלקחתי על עצמי עד היום, התחלתי לחשוב עליו לפני 6 חודשים והרעיון לאט לאט הגיע. אני ממש שמח מהתוצאה ואני מצפה לשתף אתכם.
שלב 1: איסוף חומרים וכלים
רכיבים
פרויקט זה בנוי על לוח תחביבים מצומצם מחנות DIY המקומית שלי. הלוח ברוחב 850 מ"מ על 500 מ"מ וגובהו 18 מ"מ.
נוריות LED המשמשות בפרויקט זה הינן 5050 WS2812b המותקנות במעגלים PCB עגולים בקוטרם כ -9 מ מ עם כריות הלחמה מאחור.
אני משתמש בבקר מיקרו תואם Arduino Pro Mini. זוהי גרסת 5V 16 MHZ. בחרתי בזה מכיוון שהוא בעל עיצוב דק במיוחד, טביעות רגל קטנות וכל היציאות הדרושות בתוספת כמה פנויים לשדרוגים עתידיים. הוא גם 5 וולט, כך שאני יכול להשתמש באספקת חשמל אחת עבור נוריות LED, בקר מיקרו ו- RTC
שמירת הזמן מטופלת על ידי מודול RTC (שעון בזמן אמת) הכולל שבב DS3231. שבב זה מדויק מאוד כך שהזמן לא צריך להיסחף יותר מדי.
משמש גם:
חוּט. הלחמה ודבק חם.
כלים:
מקדחי כוח ומקדחי עץ (10 מ"מ ו -5 מ"מ)
מלחם
אקדח דבק חם
קטעי חוטים
אביזרי נתב Dremel וצלילה
שלב 2: סימון, קידוח וניתוב
הִתעַמְלוּת
- בעזרת קצה מיצר מצאו את מרכז הלוח על ידי ציור קו מהפינות הנגדיות.
- סמנו 3 עיגולים בעזרת חוט ועט. העיגול החיצוני ביותר צריך להיות בערך 20 מ"מ מקצה הלוח כששני הקווים האחרים נעים ב -15 מ"מ מהקו האחרון.
- השתמשתי במראה שעון מודפס כדי לעזור לי לסמן את המיקומים של כל אחת מהדקות והשניות על 2 הקווים והשעות החיצוניים בקו הפנימי.
- מקדחים חורים בגודל 10 מ"מ בעומק של כ -5 מ"מ לכל שעה, דקה ושנייה.
- השתמש במקדח 5 מ"מ כדי ליצור חורים על הלוח במשך שעה, דקה ושנייה.
ניתוב
למרות שלב זה אינו הכרחי הוא יאפשר להתאים את השעון סמוך לקיר.
- שימוש בנתב ומדריך מעגלים לנתב ערוצי תיל בלוח
- סמן ונתב הפסקה עבור ה- RTC ו- Micro Controller לחיות בהן.
- נתב תעלה מהקווים החיצוניים לשקע החוטים
שלב 3: כל כך הרבה חיילים, חיתוך וחיטוט
החלק הבא הרבה יותר קל להגיד מאשר לעשות. העצה שלי תהיה לשים לב למהר. נסה למצוא מערכת ולהיכנס לקצב.
כל אחת מהנוריות צריכה 5 וולט פנימה, 5 וולט החוצה, נתונים פנימה, נתונים החוצה, הארקה פנימה וארקה החוצה. כולל כוח לבקר המיקרו ו- RTC מעל 400 החוטים שלו, כולם מופשטים ומולחמים משני קצותיו.
חומר כחול דביק שימושי מאוד לשלב זה.
- התחלתי בהנחת 2 נוריות לחורים אחת ליד השנייה כדי לחשב את אורך החוט הדרוש כדי להתחבר זה לזה.
- בעזרת חוט החוט הראשון כמדריך, לאחר מכן חתכתי 60 מכל חוט צבעוני.
- מפשיטים 2 מ"מ שרוולים מקצות כל חוט ויוצרים אותם בעזרת הלחמה.
- הלחמה כף קטנה של הלחמה על כל אחת מרפידות הלד.
- הלחם את החוטים לנורות הלדים כדי ליצור שתי שרשראות של 60 למשך הדקות והשניות ושרשרת אחת של 12 למשך השעות. השתמשתי בחוט אדום עבור 5V, צהוב לנתונים וכחול לקרקע.
- הקפד לחבר כל Data Out (DOUT) ל- Data In (DIN) של הנורית הבאה
- ה- LED האחרון בכל מנה בשרשרת אינו זקוק לחוט יציאת נתונים.
לאחר השלמת כל השרשראות כדאי לבדוק אותן לפני התקנתן. השתמשתי ב- UNO Arduino שלי ובמבחן ה- NeoPixel Strand של Adafruit כדי לאשר שכל LED עובד.
הלחמה חוטים ארוכים יותר על כל אחת מהשרשראות עבור 5V, Ground ו- Data in.
בשלב זה אמורים להיות חמישה חוטי 5v, שלושה חוטי Data המחוברים ל- Arduino Pro Mini ו- 5 חוטי קרקע.
רצו 5 מ מ מקצות חוטי ה -5 וו והלחמו את כולם יחד וחזרו על חוטי הקרקע.
לאחר השלמת שלושת השרשראות הלחמה חוט 5V אל סיכת RAW של ה- Arduino Pro Mini וגם על סיכת VCC עבור ה- RTC. חוט הארקה ל- GND ב- Arduino Pro Mini ו- RTC ולאחר מכן 2 חוטים נוספים:
SCL מה- RTC ל- A5 ב- Pro Mini
SDA מה- RTC ל- A4 ב- Pro Mini
קווי הנתונים מנורות ה- LED צריכים להתחבר ל:
- שניות - פין דיגיטלי 3.
- דקות - DigitalPin 4
- שעות - DigitalPin 5
שלב 4: התקנה
לאחר ההלחמה, התקנת הלדים בחוריהם צריכה להיות קדימה. יש להתקין את נוריות הלדים כך שהנתונים יסתובבו נגד כיוון השעון כאשר מסתכלים עליו מאחור כשהקוד מופנה כלפי פנים.
השתמשתי בכמות זעירה של דבק חם כדי להחזיק אותם מכיוון שאני רוצה להיות מסוגל להחליף נורית אחת אם היא תיכשל בעתיד.
השתמשתי גם בדבק חם כדי לשמור על כל החוטים מסודרים ומסודרים ולתיקון מחבר הקנה ללוח.
ישנם מספר מדריכי תכנות מיני של arduino pro. אני משתמש בשיטת הממיר החיצוני ל- USB כדי להעלות קוד זה על הארדואינו:
קוד זה גם יגדיר את השעה ב- RTC לזמן שבו נאסף. אז חשוב פשוט לכבות את כפתור ההעלאה כך שיתאים ויעלה כמה שיותר מהר.
חלק גדול מהקוד הזה הושאל משעון הטבעת של NeoPixel על ידי אנדי דורו. חלק ממבחן Adafruit NeoPixel Strand וחלק שהרכבתי.
יהיה עליך להתקין כמה ספריות. הם זמינים ממנהל הספריות על תוכנת Arduino.
NeoPixel Adafruit עבור נוריות ws2812b
חוט לשיחה עם ה- RTC באמצעות I2C (זה מובנה כסטנדרט)
ו- RTClib על הידיעה מה לשאול את ה- RTC
/********************************************* **************************שעון טבעת NeoPixel מאת אנדי דורו ([email protected]) https://andydoro.com/ringclock/ ********************************************** **************************
היסטוריית גרסאות
תאריך לפי מה
20140320 AFD טיוטה ראשונה 20160105 AFD קשתות דהויות 20160916 AFD תואם תכשיט 20170727 AFD הוסיף STARTPIXEL למארז 3D, נקודת התחלה משתנה, נוספה תמיכה אוטומטית DST 20180424 AFD באמצעות ספריית DST https://github.com/andydoro/DST_RTC *
/ כלול את קוד הספרייה:
#כלול #כלול
#לִכלוֹל
// הגדר סיכות
#define SECPIN 3 #הגדר MINPIN 4 #הגדר HOUPIN 5
#define BRIGHTNESS 20 // הגדר בהירות מרבית
#הגדר r 10
#define g 10 #define b 10 RTC_DS3231 rtc; // הקמת אובייקט שעון
Adafruit_NeoPixel stripS = Adafruit_NeoPixel (60, SECPIN, NEO_GRB + NEO_KHZ800); // חפץ רצועה
Adafruit_NeoPixel stripM = Adafruit_NeoPixel (60, MINPIN, NEO_GRB + NEO_KHZ800); // חפץ רצועה Adafruit_NeoPixel stripH = Adafruit_NeoPixel (24, HOUPIN, NEO_GRB + NEO_KHZ800); // רצועת בתים אובייקט pixelColorRed, pixelColorGreen, pixelColorBlue; // מחזיק ערכי צבע
הגדרת בטל () {
Wire.begin (); // Begin I2C rtc.begin (); // התחל שעון
Serial.begin (9600);
// הגדר pinmodes pinMode (SECPIN, OUTPUT); pinMode (MINPIN, OUTPUT); pinMode (HOUPIN, OUTPUT);
if (rtc.lostPower ()) {
Serial.println ("RTC איבד כוח, מאפשר להגדיר את השעה!"); // השורה הבאה קובעת את ה- RTC לתאריך ושעה שסקיצה זו נערכה rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // שורה זו קובעת את ה- RTC עם תאריך ושעה מפורשים, למשל להגדרה // 21 בינואר 2014 בשעה 3 לפנות בוקר תתקשר: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); }
stripS.begin ();
stripM.begin (); stripH.begin (); //strip.show (); // אתחל את כל הפיקסלים ל'כבוי '
// רצף אתחול
עיכוב (500);
colorWipeS (stripS. Color (0, g, 0), 5); // כחול colorWipeM (stripM. Color (r, 0, 0), 5); // כחול colorWipeH (stripH. Color (0, 0, b), 50); // כחול
עיכוב (1000);
DateTime theTime = rtc.now (); // לוקח בחשבון בתים DST secondval = theTime.second (); // get minute byte minute = theTime.minute (); // לקבל דקות int hourval = theTime.hour (); hourval = hourval % 12; // שעון זה הוא 12 שעות, אם 13-23, להמיר 0-11 '
עבור (uint16_t i = 0; i <secondval; i ++) {stripS.setPixelColor (i, 0, 0, b); stripS.show (); עיכוב (5); }
עבור (uint16_t i = 0; i <minuteval; i ++) {stripM.setPixelColor (i, 0, g, 0); stripM.show (); עיכוב (5); }
עבור (uint16_t i = 0; i <hourval; i ++) {stripH.setPixelColor (i, r, 0, 0); stripH.show (); עיכוב (5); }
}
לולאת חלל () {
// לקבל זמן
DateTime theTime = rtc.now (); // לוקח בחשבון DST
בת secondval = theTime.second (); // קבל שניות
byte minuteval = theTime.minute (); // לקבל דקות int hourval = theTime.hour (); // get hours hourval = hourval % 12; // שעון זה הוא 12 שעות, אם 13-23, להמיר 0-11 '
stripS.setPixelColor (secondval, 0, 0, 20); stripS.show (); עיכוב (10); if (secondval == 59) {for (uint8_t i = stripS.numPixels (); i> 0; i--) {stripS.setPixelColor (i, 0, g, 0); stripS.show (); עיכוב (16);}}
stripM.setPixelColor (דקות, 0, g, 0);
stripM.show (); עיכוב (10); if (secondval == 59 && minuteval == 59) {for (uint8_t i = stripM.numPixels (); i> 0; i--) {stripM.setPixelColor (i, r, 0, 0); stripM.show (); עיכוב (16);}}
stripH.setPixelColor (hourval, r, 0, 0);
stripH.show (); עיכוב (10); if (secondval == 59 && minuteval == 59 && hourval == 11) {עבור (uint8_t i = stripH.numPixels (); i> 0; i--) {stripH.setPixelColor (i, 0, 0, b); stripH.show (); עיכוב (83);}} // עבור איתור באגים סדרתי Serial.print (hourval, DEC); Serial.print (':'); Serial.print (דקות, DEC); Serial.print (':'); Serial.println (secondval, DEC); }
// מלאו את הנקודות בזו אחר זו בצבע
void colorWipeS (uint32_t c, uint8_t wait) {for (uint16_t i = 0; i <stripS.numPixels (); i ++) {stripS.setPixelColor (i, c); stripS.show (); עיכוב (המתנה); }}
void colorWipeM (uint32_t c, uint8_t wait) {
עבור (uint16_t i = 0; i <stripM.numPixels (); i ++) {stripM.setPixelColor (i, c); stripM.show (); עיכוב (המתנה); }}
void colorWipeH (uint32_t c, uint8_t wait) {
עבור (uint16_t i = 0; i <stripH.numPixels (); i ++) {stripH.setPixelColor (i, c); stripH.show (); עיכוב (המתנה); }}
שלב 5: נגיעות אחרונות
כל מה שנותר כעת הוא לתקן את ה- RTC ואת בקר הבקרה למטה בהפסקה.
הצבתי את צד סוללת RTC כלפי מעלה כך שאוכל להחליף את הסוללה בקלות במידת הצורך.
חבר את חוטי 5v לצד + של המחבר ואת הקרקע לצד -
לספק לו מתח!
יש לי את שלי מחובר לבנק סוללות USB אבל מטען טלפון USB יעבוד לא פחות טוב.
הערה:
בהירות הנורות נקבעת בקוד. הוא הוגדר נמוך כדי לשמור על התיקו הנוכחי נמוך. בהירות מלאה עם כל נוריות ה- LED דולקות הוא יכול למשוך כמעט 8 אמפר. עם ההתקנה הנוכחית זה פחות מ -1.
סגנית בתחרות השעונים
מוּמלָץ:
FLEXBALL - כדור PCB גמיש במאה פיקסל עם WiFi: 6 שלבים (עם תמונות)
FLEXBALL - כדור PCB גמיש במאה פיקסלים עם WiFi: יצרני שלום, זה יצרנית moekoe! Flexball מבוסס על לוח PCB גמיש המצויד ב- 100 WS2812 נוריות ניתנות להתייחסות. הוא נשלט על ידי ESP8285-01f - המודול הקטן ביותר המבוסס על ESP על ידי Espressif. בנוסף יש לו תאוצה ADXL345
מנורת פיקסל חכמה: 7 שלבים (עם תמונות)
מנורת פיקסל חכמה: זהו פרויקט שהכנתי למנורה חכמה הנשלטת על ידי Bluetooth באמצעות אפליקציית אנדרואיד שפותחה ב- Android Studio. המטרה העיקרית של פיקסל היא להציג אורות יפים. זהו מצב אור אח, למשל, בואו נראה כיצד אח פיקסל אחד עשוי
גווני פיקסל LED RGB: 17 שלבים (עם תמונות)
גווני פיקסל LED RGB: שלום לכולם, במדריך זה אני הולך להראות לכם כיצד להכין זוג גווני פיקסל LED. במקור יצרתי את אלה ללבוש בבית בחג המולד / ראש השנה, בערך כקישוט נייד, אבל בסופו של דבר הם היו קצת יותר סייברפאנק
שעון רשת ESP8266 ללא כל RTC - Nodemcu NTP שעון אין RTC - פרויקט שעון אינטרנט: 4 שלבים
שעון רשת ESP8266 ללא כל RTC | Nodemcu NTP שעון אין RTC | פרויקט שעון אינטרנט: בפרויקט תעשה פרויקט שעון ללא RTC, ייקח זמן מהאינטרנט באמצעות wifi והוא יציג אותו בתצוגה st7735
צרו תצוגת LED מסיבית של 4096 לאמנות פיקסל רטרו: 5 שלבים (עם תמונות)
צרו תצוגת LED מסיבית של 4096 לאמנות פיקסל רטרו: ***** עודכן במרץ 2019 ****** ישנן מספר דרכים בהן תוכלו להמשיך בפרויקט זה, לבנות הכל מהתחלה או למנף גרסת ערכה. אעסוק בשתי השיטות במדריך זה. מדריך זה מכסה התקנת LED בגודל 64x64 או 4,096 RGB