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

שעון קוביה רב תכליתי מבוסס מיקום: 5 שלבים (עם תמונות)
שעון קוביה רב תכליתי מבוסס מיקום: 5 שלבים (עם תמונות)

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

וִידֵאוֹ: שעון קוביה רב תכליתי מבוסס מיקום: 5 שלבים (עם תמונות)
וִידֵאוֹ: Minecraft Live 2021 2024, דֵצֶמבֶּר
Anonim
Image
Image
שעון קוביה רב תכליתי מבוסס מיקום
שעון קוביה רב תכליתי מבוסס מיקום
שעון קוביה רב תכליתי מבוסס מיקום
שעון קוביה רב תכליתי מבוסס מיקום

פרויקטים של Fusion 360 »

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

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

היו לי כמה מטרות לפרויקט הזה:

  1. הצג את הזמן הזה עם אפשרות לכיבוי
  2. כלול פונקציה של אור לילה
  3. כלול טיימר תנומה של 15 דקות עם אזעקה
  4. תוכל להציג את התאריך

אספקה

  • Arduino Pro Mini 5V
  • מד תאוצה 3 צירים ADXL335
  • שעון בזמן אמת DS3231 AT24C32 IIC
  • מיני רמקול
  • תצוגת OLED SSD1306 IIC 0.96in
  • ספק כוח 5V DC
  • LED x 2
  • נגדים 220 אוהם x 2
  • שקע חבית DC
  • חוּט
  • כלים

    • חותכי חוטים/חשפנים
    • מגהץ/הלחמה
    • מדפסת תלת מימד (אופציונלי)
    • מתכנת FTDI לממשק בין ה- Pro mini ל- Arduino IDE

שלב 1: אב טיפוס ובדוק את המעגל

אב טיפוס ובדוק את המעגל
אב טיפוס ובדוק את המעגל
אב טיפוס ובדוק את המעגל
אב טיפוס ובדוק את המעגל
אב טיפוס ובדוק את המעגל
אב טיפוס ובדוק את המעגל

חבר רכיבים ל- Arduino. פריסת לוח הלוח או הסכימה מוצגים למעלה. ה- RTC ו- OLED משתמשים בפרוטוקול I2C כדי להתממשק עם ה- Arduino ולנצל את סיכות A4 ו- A5. מד התאוצה משתמש ב -3 סיכות אנלוגיות. השתמשתי ב- A0, A1, A2. נוריות ה- LED והפיאזו יכולות להשתמש בכל אחד מהסיכות הדיגיטליות, השתמשתי ב -4 ו -8 בהתאמה.

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

קוד באמצעות מזהה Arduino. סיפרתי כמה סקיצות דוגמה שסיפקה כל ספרייה כדי להבין את התחביר הנכון עבור כל רכיב על סמך מה שרציתי שיעשו. המצאתי סקיצה לכל רכיב כדי לבדוק אותם בנפרד. הם ניתנים להלן. התחלתי ברמקול הפיזו כי זה היה הכי קל. זה בעצם לא היה צריך ספרייה מיוחדת, רק פונקציה ספציפית שקובעת את התדר והצליל. כדי לגרום לנורות לעבודה פשוט נדרש למשוך את אחד הפינים הדיגיטליים גבוה ונמוך. לאחר מכן עברתי ל- OLED וגם זה היה די פשוט להתקנה. המערכון שלהלן הוא הדגמה של Adafruit שעוברת על כל האנימציות/טקסטים שניתן להציג. לאחר מכן, ניסיתי לגרום ל- RTC לעבוד. המערכון שסיפקתי היה חלק מדוגמה בספרייה שמקבלת את הזמן הנוכחי ומדפיסה אותו לצג הסדרתי. לבסוף, השתמשתי בדוגמה המצורפת לבדיקת מד התאוצה. הפלט של כל ציר מודפס על הצג הסדרתי.

עכשיו הזמן להרכיב הכל!

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

תוכנה ראשית
תוכנה ראשית
תוכנה ראשית
תוכנה ראשית

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

הייתי צריך להציג את השעה והתאריך ב- OLED שהיה די פשוט. פשוט הייתי צריך להדפיס את הזמן הנוכחי לתצוגה במקום לצג הטורי. היו כמה דברים בעיצוב שהייתי צריך לקחת בחשבון כדי לגרום לזה להציג פורמט של 12 שעות במקום 24 ולהוסיף/להסיר 0 כאשר הם מתאימים. התאריך היה דומה בתוספת הצגת החודש והיום בתוך מלבנים המצוירים על המסך. השתמשתי בלולאת FOR מקוננת כדי ליצור את הטיימר ולצאת מהפייזו לאחר סיום הלולאה. החלטתי לגרום למסך להבהב כשהזמזם הולך וזו הייתה אנימציה בסיסית שלקחה מההדגמה של Adafruit. הפכתי להחזיר את הקוביה למיקום השעון בדרך היחידה לכבות את הבאזר. לבסוף, רציתי דרך לכבות את המסך שהושג רק על ידי ניקוי התצוגה. עכשיו, הייתי צריך שכל הפונקציות האלה יעבדו על סמך תפוקות מד התאוצה. השתמשתי בתסריט Accel_Test כדי לקבוע את קואורדינטות הציר של כל מיקום שרציתי שכל פונקציה תפעיל. העברתי ידנית את שבב מד התאוצה ותיעדתי את הקריאות על הצג הסדרתי. התרשים לעיל נותן את קואורדינטות הפלט של כל מיקום ב- GRAY. הקואורדינטות ב- RED הן הגבולות בין כל עמדה והשתמשתי במספרים אלה לתוכנית שלי. ב -4 מיקומי התצוגה יש צורך רק בקואורדינטות של ציר X ו- Y. המיקום החמישי לאור הלילה מנצל את ציר ה- Z. השתמשתי בהצהרות IF פשוטות למיקומי מד התאוצה לפני כל בלוק פונקציות. אם אתה משתמש במד תאוצה אחר, קואורדינטות אלה עשויות להשתנות ויהיה צורך להתאים אותן בתוכנית.

שלב 3: הדפסת תלת מימד בקובייה

הדפסת תלת מימד של הקובייה
הדפסת תלת מימד של הקובייה
הדפסת תלת מימד של הקובייה
הדפסת תלת מימד של הקובייה
הדפסת תלת מימד של הקובייה
הדפסת תלת מימד של הקובייה

חשבתי שקובייה תהיה העיצוב הטוב ביותר שיתאים לאופן שבו אני רוצה שהשעון יתפקד. השתמשתי ב- fusion360 כדי לייצר את הדגם. הייתי צריך ניתוק עבור ה- OLED ושקע הקנה. רציתי גם גישה קלה להחלפת סוללת התא ב- RTC לאחר שהכל חוטי. הייתי צריך חריץ כדי לשמור על הארדואינו בכיוון שיהיה קל לתכנת אותו במידת הצורך. בנוסף היה צריך להסיר את המתחם בקלות על מנת שאוכל לגשת ל- Arduino. אתה יכול לראות את דגם ה- CAD למעלה וקבצי ה- STL נמצאים למטה.

הדפסתי את הגוף בשחור PLA עם מילוי 20%, רזולוציה של 0.2 מ מ.

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

שלב 4: הרכבה

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

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

שלב 5: העלה וסיימת

העלה וסיימת!
העלה וסיימת!
העלה וסיימת!
העלה וסיימת!
העלה וסיימת!
העלה וסיימת!
העלה וסיימת!
העלה וסיימת!

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

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

מוּמלָץ: