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

שעון קיר בעיצוב TheSUN, Arduino מופעל: 6 שלבים (עם תמונות)
שעון קיר בעיצוב TheSUN, Arduino מופעל: 6 שלבים (עם תמונות)

וִידֵאוֹ: שעון קיר בעיצוב TheSUN, Arduino מופעל: 6 שלבים (עם תמונות)

וִידֵאוֹ: שעון קיר בעיצוב TheSUN, Arduino מופעל: 6 שלבים (עם תמונות)
וִידֵאוֹ: שעון קיר מעוצב - Saritlevii@ 2024, יולי
Anonim
שעון קיר בעיצוב TheSUN, Arduino מופעל
שעון קיר בעיצוב TheSUN, Arduino מופעל
שעון קיר בעיצוב TheSUN, Arduino מופעל
שעון קיר בעיצוב TheSUN, Arduino מופעל
שעון קיר בעיצוב TheSUN, Arduino מופעל
שעון קיר בעיצוב TheSUN, Arduino מופעל

היי שוב מדריכים-אנשים!:-P

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

אני חושב שרבים מאיתנו, כמוני, אוהבים את רצועות ה- LED הניתנות להתייחסות (הנקראות גם NEOPIXEL LED). אתה יכול להשיג אותם מ- ADAFRUIT. ספקים אחרים יספקו גם מוצרים דומים. קיימת ספרייה זמינה ב- ADAFRUITS - GitHub (לחץ עליי) כולל קוד לדוגמה. קידוד צריך להיות פשוט קדימה …

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

  • תצוגת מטריקס LED? -> מסובך ואני לא משתמש בו (כרגע)
  • תאורת חג המולד? -> זה מתאים לעונה אבל יהיה יותר זול לקנות אחד:-P
  • שעון? -> למה לא! אבל זה צריך להיות מסוגנן ולא שגרתי

אז בואו נכין שעון קיר.

אם נסתכל מקרוב על שעון היד שלנו (אם יש לך אנלוגי כמוני) נבחין שיש לנו 12 שעות ו -60 דקות (בתקווה). זה אומר שאנחנו צריכים 60 נוריות כתובת, phu! אם ניקח פס עם 60 נוריות LED / מטר נקבל קוטר של ~ 318 מ מ (רדיוס = היקף / (2*Π)) זה בהחלט גדול מדי.

האמת היא שאם אתה מבקש ממישהו את הזמן, אף אחד לא יגיד שזה 2 דקות אחרי שלוש! תקבל את התשובה "זה 5 אחר 3". אז למה שלא כדאי לנו להקטין את הכל לדרגות של 5 דקות? לשם כך נזדקק ל -12 נוריות בלבד מה שאומר שאנו מקבלים קוטר של 63.6 מ"מ. כמו כן, אנו יכולים להבדיל בין שעות ודקות על ידי מתן צבע נפרד. כמו כן, נוכל לספק את שלבי הדקה היחידה ה"חסרה "עם רצועה נוספת של 4 נוריות (או נורית אחת שניתן להתייחס אליה.

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

אם אתה חושב שרק שוויצרים יכולים להכין שעונים מגניבים, בואו נעיד שאתה טועה (סליחה שוויץ:-P)

שלב 1: עיצוב ובחירת חומרים

עיצוב ובחירת חומרים
עיצוב ובחירת חומרים
עיצוב ובחירת חומרים
עיצוב ובחירת חומרים

לְעַצֵב:

אם נבחן שוב את השעון/השעון האנלוגי שלנו אנו רואים שהעיגול מחולק ל -12 * 30 ° צעדים שאנו מכירים, כי אנו זקוקים ל -63.6 מ מ עבור רצועת ה- LED. אז זה צריך להיות אפשרי ליישר את הרצועה סביב צינור איכשהו. החלטתי להשתמש בזכוכית אקרילית, כי זה נראה נחמד ואפשר לצמצם לתוכה את נורית הלד ובכל פגם בזכוכית יקרה פיזור אור כלשהו. אז, נגיד: יותר זיהומים יובילו ליותר פיזור אור! זה בדיוק מה שאנחנו רוצים. אז אל תהסס לתפוס את כלי החריטה שלך ולהיות יצירתיים:-)

אם אתה מתייחס לרשימת ה- BoM שלי ולשם שנתתי לשעון, בחרתי בעיצוב דמוי שמש. קיבלתי את כל חלקי האקריליק ממוכר גרמני ב- E-Bay (הקישור מסופק ב- BoM). לעיצוב שלי אתה תצטרך:

  • צלחת קרקע אקרילית, עובי שקוף = 6 מ"מ, קוטר = 300 מ"מ
  • צלחת אמצעית אקרילית, עובי שקוף = 3 מ"מ, קוטר = 150 מ"מ
  • צלחת קדמית אקרילית, סאטן, עובי = 3 מ"מ, קוטר = 90 מ"מ
  • צינור אקריליק, שקוף, קוטר חיצוני = 64 מ"מ (פירושו שעלינו לצבוט מעט עם רצועת הלד)
  • מוט אקריליק, שקוף, קוטר = 5 מ"מ (זו תהיה הקורה שלנו); יש גם מוטות אקריליים עם בועות בפנים, אני ממליץ עליהם אבל אין לי אותם בסביבה.
  • דבק אקרילי

אלקטרוניקה (עיין בקבצי Fritzing):

  • מיני ארדואינו (או דומה)
  • 1 רצועת LED ניתנת להתייחסות (12 נוריות לד לשעות ו -5 דקות צעדים)
  • 4 נוריות כתובות (דקות בודדות)
  • 2 נגדים של 330 אוהם
  • קבלים של 1000µF
  • ספק כוח אחד (5V/500mA)
  • RTC DS-1307 (אופציונלי!)
  • מודול בלוטות '(אופציונלי! כן אתה יכול להגדיר את הזמן באמצעות BT וסמארטפון אנדרואיד)

אם אתה שואל את עצמך מדוע יש לי שבבי MAX485 ב- BoM שלי. התשובה היא שאני רוצה לסנכרן את השעון עם מערכת האוטומציה הביתית שאני עומד לעשות (לעולם לא אצטרך להגדיר שוב שעון קיץ:-P). אתאר זאת בבלוג שלי בהמשך כמה שבועות/חודש.

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

שלב 2: הכינו את חלקי האקריליק

הכינו את חלקי האקריליק
הכינו את חלקי האקריליק
הכינו את חלקי האקריליק
הכינו את חלקי האקריליק
הכינו את חלקי האקריליק
הכינו את חלקי האקריליק

הכלים:

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

  • hobbyknife
  • מד מיטרה
  • מַסוֹר לְמַתֶכֶת
  • מלחציים
  • מקדח יד
  • יכול לקדוח, קוטר 65 מ"מ
  • סט מקדחי מתכת
  • קובץ מתכת קטן
  • דבק אקרילי

בואו נתחיל:

קח את לוחית הקרקע ויישר אותה על התוכנית, כך שתוכל להגיע למרכז המעגל. עכשיו קח את מקדחת היד שלך עם מקדחת הפחית המותקנת עליה וקדוח (איטי מאוד! לא הרבה לחץ!) חור במרכז צלחת הקרקע, המעגל החיצוני צריך להיות בעומק של 2-3 מ"מ. זאת כדי להטביע את רצועת ה- LED לתוך צלחת הקרקע (רצועת LED ~ 10 מ"מ רוחב, קורות בקוטר 5 מ"מ בלבד) וליישר אותן עם הקורות (עיין בתמונה 1).

עכשיו אנחנו צריכים את המסור, מד הכרית והצינור האקרילי. פשוט חתכו אותו לחתיכות והחלטתי להפוך את הבית (צינור) באורך 40 מ מ (תמונה 2). עכשיו תפוס שוב את המסור והכין מעט סרט בצד אחד של הצינור, עשה אותו חלק עם קובץ המתכת. משם ייצאו החוטים;-) (עיין בתמונה 3)

הגיע הזמן לקצת דבק … קח את הצלחת האמצעית (d = 150 מ מ) והצלחת הקדמית (המשובעת). יישר אותם שוב על התוכנית, הניח קצת דבק במרכז הצלחת האמצעית, יישר את הצלחת הקדמית והמתן עד שה הדבק מתקשה מעט. הדבק שהשתמשתי בו מתקשה קל והוא יכול להימשך עד 2-3 שעות, אז אתה רוצה להשתמש במהדק … (תמונה 3 ו -4)

עשו את אותו הדבר להדבקת הצינור על צלחת הקרקע, וודאו שהרבת פונה לצלחת ומיועדת למקום שבו אתם רוצים שהנורית הראשונה (השעה 12) תהיה.

חכה עד שיתקשה!

כעת אנו יכולים ליישר את 2 החלקים (התאמת bookmatch) על התוכנית, לקדוח את 4 החורים שלנו בדקה אחת (בקוטר 5 מ"מ או בקוטר הנורית שבחרת; לקדוח אותה לאט וללא לחץ רב מדי). מקדחה בעומק של 8-9 מ"מ בערך. היזהר, הצלחת הסאטינית שבירה מאוד ויכולה לבלום אם אתה מקדח לעומק. עכשיו אתה יכול להדביק אותם או שאתה מחליט, כמוני לחתוך איום לצלחת הקרקע ולצרף אותו בעזרת בורג.

שוב, המתן עד שהדבק התקשה. כעת יישר והדבק את הקורות על צלחת הקרקע. (תמונה 6) נחשו מה … חכו עד שהדבק יתקשה:-) בואו נמשיך אל האלקטרוניקה …

שלב 3: אלקטרוניקה

מכשירי חשמל
מכשירי חשמל
מכשירי חשמל
מכשירי חשמל
מכשירי חשמל
מכשירי חשמל
מכשירי חשמל
מכשירי חשמל

הכלים:

  • מלחם
  • חוט הלחמה
  • סכין תחביב
  • חתיכה קטנה של אב -טיפוס PCB
  • חוט אמייל או כל חוט אחר שאתה מעדיף
  • דבק חם

אני מדורג עם הנורות היחידות. אם אתה משתמש בחוט אמייל אל תשכח לגרד את הלכה לפני הלחמה. אתה יכול להשתמש בסכין תחביב בשביל זה. לחבר אותם, אתה יכול להתייחס לתמונה עם pinout ב flikto.de. שים לב ש- DOUT עובר DIN לפי הנורית הבאה! (ראה תמונה 2) לאחר מכן ניתן לחתוך את רצועת הלד ל -4 אלמנטים כל אחד עם 3 נוריות. זכור, יש לנו רצועת LED בגודל 63.6 מ"מ וקוטר חיצוני של הצינור 64 מ"מ, כך שאנו זקוקים לאורך נוסף "כדי ליישר אותה בדיוק לקורות. חוט אותה בחוט אמייל כמו בתמונה 4. הכנתי מעט פרוטו PCB שישרת כ"רתמת כוח "ויכיל את הרכיבים לרצועות הלד (שני הנגדים של 330Ohm והקבל של 1000µF, תמונה 7). עיין בתמונת הפריצה לכך.

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

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

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

שלב 4: קוד

קוד
קוד
קוד
קוד

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

הורד את Arduino IDE ואת הספריות. Arduino IDE, AdafruitNeoPixel, Time, DS1307RTC

התקן את ה- IDE והכנס את הספריות לתיקיית הספרייה. פתח את קובץ ה- INO המצורף והעלה אותו ל- arduino שלך. הקוד המתואר כאן זהה אך עם הערות נוספות! אם עשית הכל נכון, כעת תוכל לראות את "bootanimation". אפשר לקבוע את הזמן על פני המסך הסדרתי. פשוט הקלד @"שעה"/"דקה"/"שניות" למשל. @10/33/00 (10:33).

אל תהסס לשחק עם הקוד … כאן לא ניתן לך תיאור קצר של הקוד (התקנה ללא RTC!)

הגדרות:

#הגדר PIN 6 // רצועת LED לשעה #הגדר MINPIN 5 // LED יחיד לדקה #הגדר NUMPIXELS 12 // מספר פיקסלים לשעה #הגדר MINNUMPIXELS 4 // מספר פיקסלים לדקה אחת #הגדר BAUDRATE 115200 // baudrate, צריך להתאים קצב העושר של מודול BT #define utch '@' // start BYTE של TimeSync

int timeset = 0; // דגל לאחסון אם השעה נקבעה לאחר bootint delayval = 20; // עיכוב דהיית אנימציה int clocktimer = 10000; // זמן רענון int timebright = 250; // בהירות השעה Strip int mtimebright = 50; // בהירות האתחול של singelminint = 0; // דגל לקרוא לפונקציית clearpixels לאחר bootint ahour; int oldahour = 0; // חנות קודמת שעה כלשהי; int oldamin = 0; // שומר את הדקה הקודמת לרענון בשנייה; int aday; int amonth; int שנה; int mmin; tmElements_t tm;

// הגדרה עבור 2 מערכי LED NeoPixel (NAME = TYPE (מספר פיקסלים, איזה PIN, פורמט RGB או GRB, FREQ); עיין במדריך Adafruit למידע נוסף.); Minpixels Adafruit_NeoPixel = Adafruit_NeoPixel (MINNUMPIXELS, MINPIN, NEO_RGB + NEO_KHZ800);

להכין:

הגדרת בטל () {

Serial.begin (BAUDRATE); Wire.begin (); // התחל את הרצועות, כל OFFpixels.begin (); minpixels.begin (); pixels.show (); minpixels.show ();

// עשה קצת animationSerial.println ("SUNRISE"); זריחה(); עיכוב (1000); Serial.println ("שקיעה"); שקיעת החמה(); pixels.show (); Serial.println ("READY"); }

לוּלָאָה:

לולאת void () {// בדוק אם יש סינכרון בזמן (Serial.available ()> 0) {char c = Serial.read (); אם (c == utch) // אם יש @ על השורה, קרא את הבייטים /ints הקרובים {readtime (); }} // אתחל את הלדים, אנימציה לאתחול ברורה

if (לאתחל == 0) {clearpixels (); לאתחל = 1; }

שעה = שעה ();

aminute = minute (); אם (timeset == 1 || timeset == 0) // כאן תוכל לבדוק אם הזמן נקבע, תוכל לעצור את התוכנית כאן אם Timeset = FALSE, פשוט הסר "|| timeset == 0"!

{

אם (oldamin <aminute || oldahour הגדרת הכל למצב OFF, הצג זמן חדש {clearpixels (); ClockDisplay ();}}}

הצג את השעון:

void ClockDisplay () {

oldahour = ahour;

oldamin = aminute; int xhour, xmin;

אם (ahour> = 12) {xhour = ahour-12; // יש לנו רק 12 נוריות LED לתצוגה 24 שעות} אחר {xhour = ahour; } // קנה אותו לצעדים של 5 דקות xmin = (aminute /5); אם (oldamin <aminute) {oldamin = aminute; clearpixels (); } // קח את שאר החלוקה דור ה- singelmin LED mmin = (aminute % 5); // אופרטור מודולו למשל. 24 % 5 = 4! שימושי מאוד: -Pixels.setBrightness (timebright); pixels.setPixelColor (xmin, pixels. Color (5, 125, 255)); // אתה יכול לשנות את הצבעים כאן! שחקו! pixels.setPixelColor (xhour, pixels. Color (255, 50, 0)); pixels.show ();

// הצג את ה- singel minsfor (int m = 0; m

minpixels.setBrightness (mtimebright); minpixels.setPixelColor (m, pixels. Color (255, 255, 0)); minpixels.show (); }} קרא ועיבד מידע TIME מהסדרה

void time read () // אם כבר קיבלנו את "@" המוביל את הנתונים הקרובים ושמרו את הזמן ל- TIME Lib {

ahour = Serial.parseInt (); aminute = Serial.parseInt (); asecond = Serial.parseInt (); aday = Serial.parseInt (); amonth = Serial.parseInt (); ayear = Serial.parseInt (); Serial.println ("TIMESET"); Serial.print (שעה); Serial.print (":"); Serial.println (aminute); setTime (ahour, aminute, asecond, aday, amonth, ayear); }

נקה הכל

void clearpixels () // הגדר כל PIXEL כבוי לריענון התצוגה {

פיקסלים.התחל (); minpixels.begin (); for (int i = 0; ipixels.setPixelColor (i, pixels. Color (0, 0, 0)); minpixels.setPixelColor (i, pixels. Color (0, 0, 0)); pixels.show (); minpixels.הופעה(); } }

שלב 5: חיבור האפליקציה אנדרואיד ו- BT

חיבור האפליקציה אנדרואיד ו- BT
חיבור האפליקציה אנדרואיד ו- BT
חיבור האפליקציה אנדרואיד ו- BT
חיבור האפליקציה אנדרואיד ו- BT
חיבור האפליקציה אנדרואיד ו- BT
חיבור האפליקציה אנדרואיד ו- BT

אם הצלחת עם השלבים הקודמים, כעת תוכל לחבר את מודול ה- BT שלך. (אני מקווה שווידאת שהתדרגים מתאימים). אל תשכח לחצות קווי TX & RX:-)

הורד והתקן את האפליקציה, התאם עם הפלאג BT שלך, הפעל את האפליקציה, התחבר לדונגל וסנכרן את הזמן עם הנייד שלך. האפליקציה בעצם עושה את אותו הדבר כמו שעשינו בעבר. הוא פשוט שולח @hh/mm/ss/dd/mm/YYYY שנוצר משעת המערכת שלו. סיפקתי גם את קובץ AIA APPInventor והסבר על השלב הבא (למי שמעוניין).

שלב 6: APPInventor

ממציא APP
ממציא APP
ממציא APP
ממציא APP

APP Inventor די קל לשימוש ושווה את המאמץ לתוכנית פשוטה כל כך.

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

  • טבלה (כדי ליישר את כל האלמנטים)
  • בורר רשימה (לבחירת מכשיר ה- BT שאליו אנו מתחברים)
  • כפתור (כדי לירות את ה- TIME מעל BT)
  • כמה תוויות (הצג את השעה והתאריך בפועל)
  • חיישן השעון (רענן את השעה)
  • חיישן לקוח Bluetooth (קישוריות)

הוספתם קלה בדיוק כמו גרור ושחרר! בתמונה 2 תוכל לראות סקירה כללית של "האפליקציה" במסך BLOCKS. ובכן, זה בעצם המקום בו כל ה"קסם "קורה. בחלק העליון העליתי יצרתי כמה משתנים לאחסון השעה והתאריך. הבלוק הראשון בצד שמאל למעלה יאתחל את רכיב בוחר הרשימות עם רשימת מכשירי ה- BT המשויכים. עם בלוק שני אנו מחליטים מה לעשות עם האלמנט שנבחר בעבר. ובכן, אנחנו רוצים להתחבר לזה.

אם יש לך מבט מקרוב על הבלוק הבא, אתה יכול לראות שאנו מייצרים, אם מצב BT "מחובר", הודעת BT. זה אותו דבר שהקלדנו ב- SerialMonitor לפני. הבלוק האחרון משמאל יספק לנו את האפסים המובילים להצגת השעה (למשל 01:08). בצד ימין אתה יכול למצוא את הבלוק האחרון שלנו, שם אנו משתמשים ברכיב השעון. כאן אנו מעדכנים את המשתנים וממזגים אותם עם הליך הספרות, זה יקרה כל 1000 ms (הגדרת ברירת מחדל, שנה אותו במצב המעצב) והצג את הערכים המעודכנים עם התווית. זה רק תיאור קצר, אבל APPInventor הוא ממש קל כמו זה:-) אולי יש מישהו בקהילה שרוצה לכתוב תוכנה עבור iOS או WindowsPhone. (יהיה נהדר)

אני מקווה שאהבת את ההדרכה שלי! תהנה עם שעון הקיר החדש שלך! אולי אתה רוצה לתת אותו למישהו שאתה אוהב (עונת האקס-מאס שלו):-)

ואם יש שאלות אתה מוזמן לשאול אותי!

בברכת חג המולד שמח.

מוּמלָץ: