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

שעון גאות ומזג אוויר: 9 שלבים (עם תמונות)
שעון גאות ומזג אוויר: 9 שלבים (עם תמונות)

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

וִידֵאוֹ: שעון גאות ומזג אוויר: 9 שלבים (עם תמונות)
וִידֵאוֹ: עשר הנשים הכי גבוהות בעולם┃טופטן 2024, נוֹבֶמבֶּר
Anonim
שעון גאות ומזג אוויר
שעון גאות ומזג אוויר

למרות שאתה יכול לקנות שעוני גאות אנלוגיים שיש להם יד אחת המציין אם הגאות גבוהה או נמוכה או איפשהו בין לבין, מה שרציתי היה משהו שיגיד לי באיזו שעה יהיה גאות. רציתי משהו שאוכל להציץ בו במהירות מבלי להפעיל אותו, או ללחוץ על כפתורים, או לחכות. ורציתי משהו עם חיי סוללה ארוכים. אז השתמשתי בלוח TTGO T5, שהוא לוח מבוסס ESP32 עם תצוגת נייר אלקטרוני בגודל 2.13 אינץ ', המחובר לשבב TTL5110. ה- TPL5110 מדליק את ה- T5 כל 2.5 שעות, ופעם ביום ה- T5 מוריד נתוני גאות מ- נתוני NOAA ומזג אוויר מ- OpenWeatherMap, מציגים את הנתונים על הנייר האלקטרוני ואז אומרים ל- TPL5110 לכבות את ה- T5.

עדכון (25 בפברואר 2020) שעון הגאות פועל כבר שנה, והסוללה עומדת על 4.00 וולט, כך שהשעון עשוי לפעול שנים רבות.

שלב 1: רשימת חומרה

לוח TTGO T5 17 $

לוח Adafruit TPL5110 $ 5

לוח Adafruit Perma-Proto בגודל רבעוני (אופציונלי) $ 0.71 (מינימום הזמנה $ 8.50)

סוללת לי-פולי 1200 mAh 10 $ (או מקור כוח מתאים אחר)

כבל 2 פינים JST PH-כותרת זכר 0.75 $

קבל 220 uF

שלב 2: כלים

מלחם

חשפניות חוטים

מטען סוללות Li-Po, כגון זה.

שלב 3: הרכבת חומרה

להרכיב חומרה
להרכיב חומרה
להרכיב חומרה
להרכיב חומרה
להרכיב חומרה
להרכיב חומרה

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

קבל 220 uF חשוב מאוד. בלי זה, ה- TPL5110 לעולם לא יפעיל את ה- T5. קצת לא ברור מדוע, אך לאנשים אחרים המשתמשים ב- TPL5110 הייתה אותה בעיה. אולי ה- ESP32 שואב יותר זרם בעת ההפעלה ממה ש- TTL5110 יכול לספק?

אל תחבר את הסוללה. השתמש בכבל JST-PH כדי שתוכל לנתק את הסוללה כדי לטעון אותה. ייתכן שיש דרך לטעון את הסוללה מה- T5 לאחור דרך ה- TPL5110 אם ה- TPL5110 "מופעל", אך אינני יכול להתחייב לטכניקה זו.

הכנתי קופסת עץ כמארז, אבל כל דבר עם מידות פנימיות מינימליות של 1.5 "x 2.75" x 1 "יעבוד.

שלב 4: כוונן את התזמון

ללוח TPL5110 יש פוטנציומטר גזירה הקובע את מרווח הזמן שבו TPL5110 מתעורר. השתמש במברג זעיר כדי לסובב את זה כל הדרך נגד כיוון השעון. בלוח שלי, זה קבע את המרווח ל -145 דקות, שהם למעשה יותר מהמקסימום המוגדר של 120 דקות, אבל זה עובד והיה עקבי ויחסוך עוד יותר כוח מאשר להתעורר כל 120 דקות, אז השתמשתי בו. אינך צריך לדעת את המרווח במדויק, מכיוון שהמטרה היא רק להוריד נתונים בערך פעם ביום בערך בסביבות השעה ארבע לפנות בוקר. אתה יכול לציין את המרווח (למשל, 145 דקות) ואת זמן ההשכמה (למשל, 4:00) ב- env_config.h.

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

שלב 5: התוכנה

תזדקק ל- Arduino IDE עם חבילת ESP32. ב- IDE, הגדר את הלוח שלך ל- "ESP32 Dev Module".

המערכון זמין בכתובת https://github.com/jasonful/Tides ודורש 3 ספריות:

  1. "תחנת מזג אוויר ESP8266", להשיג במנהל הספרייה של ארדואינו (או כאן). תצטרך רק את 6 הקבצים האלה: ESPHTTPClient.h, ESPWiFi.h, OpenWeatherMapCurrent.cpp, OpenWeatherMapCurrent.h, OpenWeatherMapForecast.cpp, OpenWeatherMapForecast.h ויכול למחוק את השאר.
  2. "Json Streaming Parser" זמין ממנהל הספרייה של Arduino (או כאן)
  3. https://github.com/LilyGO/TTGO-Epape-T5-V1.8/tree/master/epa2in13-demo למרות שהקוד אינו ארוז כספרייה אמיתית, תוכל פשוט להעתיק אותו מתחת לספריית הספריות שלך ולכלול אותו זה.

שלב 6: הגדר את התוכנה

ישנם מספר פרמטרים שתצטרך להגדיר (וכמה שתרצה להגדיר) בקובץ env_config.h, כולל:

  • SSID וסיסמא WiFi
  • מזהה תחנת NOAA (במילים אחרות, איפה אתה)
  • OpenWeatherMap AppID, שתצטרך להירשם אליו (זה קל וללא תשלום)
  • OpenWeatherMap LocationID (שוב, איפה אתה)
  • CONFIG_USE_TPL5110, המאפשר לך להשתמש ב- T5 ללא TPL5110. במקום זאת, התוכנה תיכנס למצב שינה עמוק. לוח T5 שואב כ -8 ma בשינה עמוקה, כך שהייתי מצפה שהסוללה תחזיק כמה ימים.

שלב 7: כיצד פועלת התוכנה

(אתה יכול לדלג על החלק הזה אם לא אכפת לך.)

המטרה היא להתעורר פעם ביום, אך מכיוון שהמרווח המרבי של TPL5110 הוא רק שעתיים בערך, ה- T5 צריך להתעורר לעתים קרובות יותר. אז אחרי שהוא מוריד נתוני גאות ומזג אוויר, הוא מחשב כמה מרווחים אלה של שעתיים יש בין עכשיו ל -4: 00 בבוקר מחר בבוקר. זה מעט מורכב מהעובדה שה- TPL5110 מנתק לחלוטין את הכוח ל- T5, וזה טוב לסוללה, אבל זה אומר שאנחנו מאבדים זיכרון RAM ושעון בזמן אמת. זה כמו להתעורר כל בוקר עם אמנזיה. אז כדי להבין מה השעה עכשיו, הוא מחלץ אותו מכותרת HTTP של NOAA. וכדי לזכור כמה מרווחים של שעתיים נותרו, הוא כותב שמנוגד לאחסון לא נדיף (פלאש). בכל פעם שהוא מתעורר, הוא בודק את המונה, מוריד אותו, מאחסן אותו, ואם הוא גדול מאפס, הוא שולח מיד אות ל- TPL51110 ("בוצע") שאומר לו להרדים אותו. כאשר המונה פוגע באפס, הקוד מוריד נתונים חדשים, ומחשב מחדש ומאפס את המונה.

שלב 8: הפעל אותו

תריץ את זה
תריץ את זה

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

אם עליך לבצע איתור באגים בתוכנה, שנה את "#define DEBUG 0" בחלק העליון של Tides.ino ל- "#define DEBUG 1". פעולה זו תפעיל את פלט באגים סדרתי, ותציג בתחתית הנייר האלקטרוני את מספר ההפעלה מחדש שנותרה לפני הורדת נתונים חדשים, והזמן שבו הורדת הנתונים האחרונה.

שלב 9: כיוונים עתידיים

  1. השימוש ב- TPL5110 בשילוב עם צג נייר אלקטרוני הוא דרך מצוינת להציג כל נתונים שלא משתנים לעתים קרובות, עם חיי סוללה מצוינים.
  2. כשעיצבתי את זה, שקלתי להשתמש ב- TrigBoard, שהוא לוח ESP8266 עם לוח TPL5111. זה היה דורש קבלת תצוגה נפרדת של נייר אלקטרוני ולוח מנהלי התקן של נייר אלקטרוני כזה או אחר. או משולבת של נהג+לוח כזה או זה. כדי להעביר את הקוד ל- ESP8266, אני חושב שקוד SSL יצטרך להשתמש בטביעות אצבע במקום באישורים, וקוד האחסון הלא נדיף יצטרך להשתמש בזיכרון EEPROM או RTC.
  3. שמעתי לאחרונה שלוח Lolin32 די הגון במצב שינה עמוקה: בערך 100uA. לא טוב כמו הלוח TPL51110 (20uA לפי Adafruit) אבל מספיק טוב.
  4. OpenWeatherMap מחזיר הרבה יותר נתוני מזג אוויר ממה שאני מציג. כולל מזהי אייקונים, שידרשו למצוא איקונים מונוכרום איפשהו.

מוּמלָץ: