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

שעון מעורר Oled: 8 שלבים (עם תמונות)
שעון מעורר Oled: 8 שלבים (עם תמונות)

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

וִידֵאוֹ: שעון מעורר Oled: 8 שלבים (עם תמונות)
וִידֵאוֹ: דבר נדיר מאוד נקרע!! שוק הפשפשים. עַתִיקוֹת. OLD MARKET ODESSA. 2024, נוֹבֶמבֶּר
Anonim
שעון מעורר אולד
שעון מעורר אולד

יש הרבה שעוני ארדואינו/ESP32 שמסתובבים, אבל האם הם משתמשים באותם OLED נחמדים וחדשים?

ניסיתי עם arduinos ו- ESP32 מזה זמן מה, אך מעולם לא הגעתי למוצר מוגמר. הכנתי שעון מעורר עם 4 OLED מונוכרום בגודל 1.3 אינץ '. השעון כולל גם מנורת מיטה שניתן לעמעם ויציאת טעינה USB (לאף אחד אין שקעים פנויים ליד המיטה שלו). מכשירי ה- OLED ניתנים לעמעם גם כן, זה נוסף ברגע האחרון לאחר שהפרויקט שלי איים על ידי חברה שלי. אם האפלה לא תהיה -בחברות קוליות- עמומה מספיק, אני יכול גם לספק גרסה של הקוד שבה מופעלים 3 מסכים בין שעות מסוימות. המטרה הייתה לייצר שעון נוח וקל, עם מבט מעבר ל"אב טיפוס ". בעת הכנת השעון נתקלתי בכמה קשיים שהייתי צריך לפתור, ולכן לדעתי כדאי לשתף אותו. ניתן להכין את השעון בכלים קטנים, אני לא אוהב את "ולצעד הבא השתמשתי בשיעורי 10.000 €/$ CNC".

כמה דברים שיוסברו במדריך זה (בתפיסה-מובנית):

- כיצד להשתמש/לחבר צג OLED I2C עם arduino/ESP32

- כיצד להשתמש באובייקטים מרובים של I2C עם arduino/ESP32 אחד

- כיצד להכין תפריט מסוג "גלילה" באמצעות מקודד סיבוב (+ כיצד להשתמש במקודד עם ESP32/arduino)

- כיצד לעצב ולהזמין PCB מותאם אישית באמצעות פריץ.

- השעון משתמש גם ב- RTC (שעון בזמן אמת), נהג לד, מודול מתח למטה … אני לא ממש אכנס לאלה כי יש באמת הרבה מידע זמין עבור מודולים אלה.

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

אספקה

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

- לוח ESP32, השתמשתי ב- Huzzah32 מ- adafruit, אבל יש הרבה אפשרויות אחרות (זולות יותר). בחרתי ב- Huzzah32 מכיוון שהוא מתועד היטב.

- 4 מסכי I2C OLED בגודל 1.3 אינץ '(128x64, עם מנהל ההתקן SH1106), אלה בגודל 0.96 אינץ' נפוצים יותר אך לפרויקט זה אני מעדיף את 1.3"

- נהג Femtobuck Sparkfun להנעת ה- LED

- שעון RTC, השתמשתי באחד עם תא ליתיום

- ננו ארדואינו

-יציאת USB 2.0 נקבה (השתמשתי: SS-52200-002 מ- Stewart Connector)

- שקע DC נקבה (השתמשתי: L722A מ- Switchcraft)

- מתאם DC 12V 3A (GST36E12-P1J מ- Mean Well)

- PCB מותאם אישית, אופציונלי אבל זה הופך את הפרויקט להרבה יותר קומפקטי וניתן לשירות בקלות אם חלק מת + יותר אמינות מכיוון שפחות חוטים (jlcpcb.com)

- ברגים וברגים M3

- מוסיף פליז M3

- מודול הורדה של 12V עד 5V מ- Pololu (DF24V22F5)

- 3 וואט מופעל עם גוף קירור

- חוטי מגשר

- זמזם

- מכפיל I2C (TCA9548A מ adafruit)

- 2 מקודדים רוטרי (ניסיתי כמה, לא כולם עובדים עם הקוד שלי. זה מ- "DFrobot" עובד וכך גם הקובץ עם הלוח העגול מ- "DIYmore". נראה שהקוד שלי לא עובד עבור הלחצן מהסוג KY-040. השעון המעורר שלי משתמש באחד מ- DIYmore מכיוון שהם מאוד קלים להתקנה על הלוח (אין צורך בברגים/חורים נוספים).

- מבחר כותרות נשיות (אופציונלי)

- עץ למסגרת: 18mmx18mmx2400mm

- ניר שקוף

השתמשתי גם בכמה כלים (מלחם, יד שלישית, מסור …), אבל שום דבר לא אקזוטי באמת.

שלב 1: שימוש ב- Oled

שימוש באולד
שימוש באולד
שימוש באולד
שימוש באולד
שימוש באולד
שימוש באולד

כדי להשתמש ב- OLED עליך להתקין ספריה. אני משתמש ב- U8G2lib מאולי קראוס, הוא מובן מאוד ויש בו מדריך הפניה עם דוגמאות ברורות.

כדי לחבר את הלוח שלך (ESP או ארדואינו) עליך למצוא סיכות SDA ו- SCL. סיכות אלה הן סיכות התקשורת I2C. Google עבור "pinout" של הלוח הספציפי שלך אם אתה לא יכול למצוא אותם.

הוספתי קוד לדוגמא. הקוד פועל הן עבור arduino והן ל- ESP32, אך הסיכוי של ESP32 ייגמר לזיכרון. כל ה oleds שניסיתי עד כה עובדים גם עם 3.3v (ESP32) וגם עם 5V.

שלב 2: OLED מרובים

מספר OLEDs
מספר OLEDs

כאן הפרויקט שלי מתחיל להיות שונה משלל שעוני מעורר אחרים. לרוב arduinos/ESPs יש רק סיכה אחת או שתיים I2C. סוג זה מגביל את השימוש בחלקי I2C. מה אם יש לי 4 חיישני I2C ורוצה להציג את הקריאות שלהם על צג I2C? הזן את המרבב. מולפולקסר מאפשר לך לטפל ב -7 חלקים שונים של I2C. זה מאפשר ל- ESP32 שלי להשתמש בשעון בזמן אמת של I2C ולהציג את הזמן באמצעות I2C שוב על פני 4 הצגים (או יותר, אל תתנו לי לעצור אתכם).

הוספתי קוד דוגמה ל- ESP32, מכאן והלאה אני לא בטוח שהארדואינו יכול לעמוד בקצב. הדוגמה משתמשת רק בתצוגות, זה יכול להיות דברים אחרים כמו חיישני I2C וכו '. העיקרון תמיד זהה, אתה קורא לערוץ הנכון עם "tcaselect (#);" פונקציה, ואז אתה מבצע את כל הקוד הדרוש לך עבור אובייקט I2C.

שלב 3: יצירת תפריט הניתן לגלילה עם מקודד סיבובי

יצירת תפריט הניתן לגלילה עם מקודד סיבובי
יצירת תפריט הניתן לגלילה עם מקודד סיבובי
יצירת תפריט הניתן לגלילה עם מקודד סיבובי
יצירת תפריט הניתן לגלילה עם מקודד סיבובי
יצירת תפריט הניתן לגלילה עם מקודד סיבובי
יצירת תפריט הניתן לגלילה עם מקודד סיבובי

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

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

קובץ ה- PDF שהוספתי מקווה שעוזר במבנה התפריט בו השתמשתי לשעון שלי.

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

שלב 4: הצבת הקוד הקודם Togetther

הצבת הקוד הקודם Togetther
הצבת הקוד הקודם Togetther

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

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

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

שלב 5: PCB מותאם אישית עם פריצה + סכמטי

PCB מותאם אישית עם פריצה + סכמטי
PCB מותאם אישית עם פריצה + סכמטי
PCB מותאם אישית עם פריצה + סכמטי
PCB מותאם אישית עם פריצה + סכמטי
PCB מותאם אישית עם פריצה + סכמטי
PCB מותאם אישית עם פריצה + סכמטי

נקודת תשומת לב: Adafruit מציין כי בעוד שאתה יכול להפעיל את huzzah32 באמצעות סיכת ה- USB, עליך להיזהר שלא להשתמש במקביל בכניסת החשמל של מיקרו USB. ה- PCB שלי מופעל באמצעות ההורדה למטה, אשר מפעיל את החוזה באמצעות סיכת ה- USB. אז תמיד נתק את החשמל החיצוני/הסר את החוזה מהלוח בעת ההעלאה.

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

הוספתי את קובץ Frizting, אני יכול להקליד כאן רומן, אבל אני חושב שהדוגמה מדברת הכי טוב. התחלתי עם הסכימה של כל ההתקנה. אמנם לפריטינג יש הרבה חלקים בפחים, אבל לא הכל קיים. לפעמים אתה יכול למצוא את החלק Fritzing באינטרנט, לפעמים אתה לא יכול. את החלקים שלא הצלחתי למצוא, פשוט החלפתי בחלק כותרת נקבה. אם תלחץ עליו באמצעות לחצן העכבר הימני, תוכל לערוך את הכותרת לכמות הסיכות שאתה רוצה ולהקצות לה pinout. עשיתי זאת עם כל חלק שלא הצלחתי למצוא. מכיוון שכמעט כל המודולים משתמשים באותו המגרש של 0.14 אינץ '(2.54 מ מ) זה ייתן לך את המרווח הנכון לחלק.

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

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

הזמנתי את ה- PCB שלי מ- JLCPCB, אני אוהב שהם מיד מצטטים לך מחיר. יש כמובן אפשרויות רבות אחרות.

אודות סכמטי: ישנם 2 מתחים המשמשים. הנורית והפמטובוק מופעלים ישירות על ידי אספקת 12V. השאר מופעל באמצעות הכסף הנמוך עם 5 וולט.

שלב 6: עיצוב + חיתוך לייזר

עיצוב + חיתוך לייזר
עיצוב + חיתוך לייזר
עיצוב + חיתוך לייזר
עיצוב + חיתוך לייזר

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

מצאתי שירות lasercut מקוון, snijlab.nl, הזמין לחובבים הממוקם ברוטרדם (הם שולחים לבלגיה, הולנד וגרמניה). באתר שלהם תוכל להעלות את הציורים שלך והם מיד מצטטים את המחיר שלך. השתמשתי ב- Autocad, שיש לי בעבודה, אבל התוכנה לא ממש משנה. זה פשוט חייב להיות ציור וקטורי (Vectr, Illustrator, Inkscape …). רוב החנויות משתמשות בצבעים כדי לקבוע אם אתה רוצה לחתוך או לחרוט.

כמה דברים שכדאי לזכור:

- מקסימום. מידות חיתוך הלייזר (ציירתי מסגרת סביב חלקי)

- דקות. מרחק בין חתכים

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

- בעת תכנון PDF, הקפד לשרטט 1: 1. אתה לא רוצה להקטין או להתאים לנייר.

שלב 7: הרכבה

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

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

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

שלב 8: אל תעצור כאן

אל תעצור כאן
אל תעצור כאן
אל תעצור כאן
אל תעצור כאן
אל תעצור כאן
אל תעצור כאן

הפרויקט מתרכז סביב ESP32, בקושי השתמשתי בו. כרגע ניתן לשלוט במנורות חדר השינה שלי באמצעות blynk. השליטה בהם באמצעות השעון היא רק צעד קטן קדימה. אולי אתה רוצה כמה תצוגות נוספות שמראות לך את הטמפרטורה בבית שלך? או כמה חיישנים מקומיים (עדיין יש חיבורי I2C פנויים במכפיל זה!). אולי להגדיר את השעה/אזעקה באמצעות אפליקציה ובלוטות '?

ספר לי מה שינית, מה היית משנה, מה עלי לשנות …

מוּמלָץ: