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

שעון חזרה לעתיד: 8 שלבים (עם תמונות)
שעון חזרה לעתיד: 8 שלבים (עם תמונות)

וִידֵאוֹ: שעון חזרה לעתיד: 8 שלבים (עם תמונות)

וִידֵאוֹ: שעון חזרה לעתיד: 8 שלבים (עם תמונות)
וִידֵאוֹ: תפסתי אותה על חםםםם!!!!!! 2024, נוֹבֶמבֶּר
Anonim
שעון בחזרה לעתיד
שעון בחזרה לעתיד

פרויקט זה התחיל את החיים כשעון מעורר לבני. גרמתי לזה להיראות כמו מעגל הזמן מחזרה לעתיד. התצוגה יכולה להציג את השעה בפורמטים שונים, כולל זה מהסרטים כמובן. ניתן להגדיר אותו באמצעות הכפתורים שעל גבי המארז אך גם באמצעות דף אינטרנט המוגש על ידי Raspberry Pi Zero בפנים. באחד ממצבי התצוגה הוא יציג את מזג האוויר המקומי (מתחנת מזג האוויר המופעלת על ידי ארדואינו), כמו גם את התחזית וכל התזכורות היומיות, המוגדרות באמצעות ממשק האינטרנט. יש לו גם אודיו הודות ל- DAC ויזרם מוזיקה באמצעות פרוטוקול AirPlay. צליל האזעקה יכול להיות כל קובץ שמע שתבחר. הוא יעמעם ויבהיר את התצוגה באופן אוטומטי בשעות מסוימות ביום (למשל שחר ושקיעה).

שלב 1: רקע

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

הגרסה הראשונה עבדה די טוב (היא לא הייתה מוכנה ליום ההולדת שלו: סיימתי את זה עד חג המולד) אבל קיבלתי די שאפתנות במה שרציתי שהיא תעשה וגיליתי שהשרטוט שלי כל הזמן נתקל במגבלת הזיכרון של הארדואינו. היו לי גם כמה מודולי חומרה חיצוניים קטנים (WiFi, נגן MP3, מגבר אודיו, RTC וכו '), כך שהכל נהיה קצת לא מסובך. בסופו של דבר, החלטתי לעבור לפלטפורמת Raspberry Pi אשר פישטה את החומרה ואפשרה לי לארוז הרבה יותר פונקציונליות ותכונות.

שלב 2: רכיבי חומרה עיקריים

בתוך הקופסה

להלן הרכיבים האלקטרוניים בהם השתמשתי. רובם היו מקורות מ- Core Electronics באוסטרליה, אך כמובן שהם זמינים גם במקומות אחרים:

  • 4 x תצוגה אלפאנומרית מרובעת -צהוב -ירוק
  • Raspberry Pi Zero W
  • פימורוני pHAT DAC ל- Raspberry Pi Zero
  • מגבר אודיו (PAM8403 IC)
  • ספק כוח Raspberry Pi 3+
  • 4 x חוט מגשר - 0.1 ", 5 פינים, 12"
  • כבל סרט 40 פינים (2 x 20)
  • Raspberry Pi GPIO כותרת זכר
  • Raspberry Pi דגם B - כותרת לעטוף GPIO (2X20)
  • כותרת ערימה GPIO ל- Pi A+/B+/PI 2/PI 3 - 2X20 ארוך במיוחד
  • כותרת זכר 4 x 5 פינים
  • 2 רמקולים קטנים של 3W
  • 2 x כבלים קואקסיאליים לחיבור שמע אנלוגי DAC למגבר
  • Veraboard או PCB מותאם אישית לטיפול ב- Rpi למגבר, לד, כפתורים
  • 5 x מתגי לחיצה רגעיים
  • 4 x בלוקים מסוף בורג הניתנים לחיבור PCB

התיבה

  • חתיכות וחתיכות MDF, ברגים וברגים ליצירת 'השלדה'
  • פרספקס בגוון ירוק, ספק מקומי
  • סטירן, דבק דוגמנות, צבע ריסוס (צבע אלומיניום) מחנות תחביב מקומית
  • מדבקות (קובץ זמין על פי בקשה - מודפס על ידי Redbubble)

שלב 3: חיבור הכל ביחד

לשים את הכל ביחד
לשים את הכל ביחד

צג ה- LED לשעון מורכב מתצוגות אלפאנומריות בגודל 16x14 פלחים, למרבה המזל אותו מספר תווים כמו מעגל הזמן Back to the Future. אמנם רק שלושת הדמויות הראשונות צריכות להיות אלפאנומריות והשאר יכולות להיות תצוגות מספריות בת 7 קטעים כדי לחקות את אביזר הסרט, אבל החלטתי להפוך את כולן לאלפאנומריות כדי לאפשר גמישות מסוימת במה שניתן להציג ולשמור על כולן להסתכל אותו. תיקי הגב המרובעים של Adafruit הם פתרון מצוין כאן וניתן להריץ באוטובוס I2C של ה- Raspberry Pi. מידע נוסף על יחידות אלה וכיצד ניתן לחבר אותן ניתן למצוא כאן באתר Adafruit. הדבר היחיד שהייתי קצת לא סטנדרטי הייתי צריך לשנות את הכתובות של שלוש מהן כך שכל תיק גב היה ייחודי.

כדי להשמיע אודיו (בסטריאו), כללתי את ה- PIMoroni pHAT DAC ומגבר שמע סטריאו 2 x 3W המבוסס על שבב PAM8403. ה- PHAT DAC ממש קל להתחבר ל- Pi. שמתי כותרת זכר 2 x 20 פינים על ה- Pi וכותרת ערימה של GPIO ב- DAC כדי שניתן יהיה לחבר אותם זה לזה. סיכות הכותרת הזכרית עוברות בחלקו העליון של ה- DAC, ומאפשרות לי להריץ כבל סרט עם מחברים נקביים, בתחילה לפריצה של פטל פטל לבדיקת לוח לחם, אך בסופו של דבר לכותרת עטופה על לוח PCB בהתאמה אישית.

למגבר השמע, יש המון אפשרויות (כולל רק קבלת השבב והרכבת משלך). יש אפשרות זו להשתיק את הפלט על ידי שינוי המצב של אחד הפינים (גבוה דולק, נמוך כבוי) וחיברתי אותו כך שניתן לשלוט בו מהפי. בניסיונות הראשוניים שלי לחבר זאת, גיליתי לא מעט רעשי רקע כשהאודיו היה מופעל. לאחר הרבה משחקים עם הארקה, בסופו של דבר ניסיתי להעביר את מתח אספקת הכניסה מה- 5V של ה- Pi ל -3.3V וזה תיקן אותו. אני מניח שיש לא מעט רעש שנוצר על ידי האותות הדיגיטליים השונים שעפים מסביב, אך נראה כי אספקת 3.3V מבודדת איכשהו.

חיבורים אחרים כוללים את האודיו האנלוגי מה- DAC למגבר (השתמשתי כאן בכבל קואקסיאלי כדי לסייע בניהול איסוף רעשים) והוצאת שמע לזוג רמקולים קטנים של 3W המתאימים למארז. ישנם גם חיבורי GPIO עבור ארבעת המתגים הרגעיים על גבי הקופסה, וחיברתי כפתור רגע לסיכות האיפוס הקשה "RUN" (עיין בסעיף חיבורים נוספים בדף זה). כפתור האיפוס מותקן מחוץ לטווח הראייה בחלק האחורי של המארז. להלן תרשים המציג את החיבורים:

שלב 4: PCB מותאם אישית

PCB מותאם אישית
PCB מותאם אישית

למרות שאין דבר מסובך מדי במעגל, יש לא מעט חיווט ולוח לחם יכול להיראות כמו ספגטי די מהר. אז תכננתי PCB כדי לשמור על הכל תחת שליטה. זהו לוח חד צדדי המתבשל בבית ויש לי חבר שיעזור להכין אותו. לאחר שיצרתי והתחברתי, הבנתי ששכחתי לכלול חיבורים עבור אבני הטרמינל לשמע ומאוחר יותר ביצעתי שינוי כדי להעביר את אספקת מגבר השמע מ- 5V ל -3.3V, כך שזה לא אידיאלי ונאלצתי להתמודד. כמה Veroboard כדי לאפשר את חיבורי השמע. כמו כן, נקבות הלוח של מגבר השמע נמצאות בהפרדה לא סטנדרטית (הן אפילו משתנות בין הסיכות) כך שהחיבור לזה למחשב הלוח הראשי הוא קצת נורא עם 11 חוטי חיבור קצרים של 1 ס מ.

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

שלב 5: המארז

המארז
המארז
המארז
המארז
המארז
המארז

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

התמונות למעלה מראות:

  1. החלק הקדמי של שלדת ה- MDF. 4 תיקי הגב LED מותקנים בחזית עם פרספקס בגוון ירוק
  2. בתוך הקופסה. תרמילים כולם מורכבים ומיישרים קו, Raspberry Pi ו- PCB מותאם אישית, רמקולים משני הצדדים.
  3. חיווט מותקן ומעטפת חיצונית מוכנה להמשך. זה היה קצת לחיצה!

שלב 6: הגדרת ה- Raspberry Pi

היו לי כמה בעיות תאימות עם Raspbian Stretch (שאולי היו פתירות אם הייתי ממשיכה) אבל ג'סי עובדת עם זה בסדר גמור, אז החלטתי ללכת עם זה.

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

קוד השעון שלי משתמש ב- Python 2.7.9 ומסתמך על לא מעט ספריות, המפורטות להלן. בנוסף לזה, אני מפעיל שרת אינטרנט Flask ו- MQTT לשלט רחוק ו- Shairplay להזרמת מוזיקה. בדיוק עקבתי אחר הערות ההתקנה המקוונות לכל אלה ולא היו לי בעיות כלל. להלן ספריות פייתון וחבילות אחרות וכו 'שהייתי צריך להתקין עם קישורים להערות התקנה או רק לפקודה שאתה צריך להריץ כדי להשיג אותה:

ספריות פייתון

  • תרמיל Adafruit_LED_
  • Rpi. GPIO (apt-get להתקין python-rpi.gpio)
  • alsaaudio
  • paho.mqtt.client (התקן פיפ paho-mqtt)
  • בקבוק (apt-get install-python-flask)

חבילות אחרות וכו '

  • יתוש (apt-get להתקין יתוש)
  • נמל שער
  • לאתר פימורוני יש תיעוד טוב על הגדרת ה- DAC, אז פשוט רצתי עם זה.

שלב 7: תוכנה

Image
Image
תוֹכנָה
תוֹכנָה

קוד השעון נכתב ב- Python ומשתמש בשרשור כדי להפעיל את האזעקה ומדי פעם מצלצל ברקע מבלי לחסום את עדכוני התצוגה. השתמשתי בספריית ConfigParser וקובץ התצורה שהיא שומרת נקרא ונכתב על ידי קוד השעון כמו גם באפליקציית האינטרנט Flask כך שבכל פעם שההגדרות משתנות באמצעות ממשק האינטרנט או השעון, היא מסונכרנת. תוכנת השעון כוללת גם מתווך MQTT המאפשר שליטה מרחוק על מצב התצוגה וההשתקה. המניע הנבחר שלי הוא בסופו של דבר לכתוב אפליקציית iOS לשלט הרחוק אבל ממשק האינטרנט עובד מספיק טוב לעת עתה.

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

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

אפליקציית האינטרנט

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

שלב 8: מה הלאה?

מה הלאה?
מה הלאה?

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

מוּמלָץ: