תוכן עניינים:
וִידֵאוֹ: JAWS: רק עוד תחנת מזג אוויר: 6 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
זה די פשוט להכין JAWS כזה.
אתה מקבל את החיישנים שלך, אתה זורק אותם יחד ללוחות ומתחיל להשתמש בספריות המצורפות לחיישנים.
נתחיל בהתקנת התוכנית.
מכיוון שאני דובר הולנדית (דובר שפת אם) כל הנתונים והרבה מהמשתנים בהם אני משתמש הם בהולנדית. אז עכשיו יש לך הזדמנות ללמוד שפה אחרת …
מה אנחנו רוצים מ- JAWS?
קל: אנו רוצים לצפות במסך המראה לנו את השעה, התאריך, האפימרידים בפועל (שמש למעלה, שמש, אורכה של היום והצהריים האסטרונומיים).
לצד זה, יהיה נחמד לראות את הטמפרטורה הפנימית והחיצונית, את הלחות היחסית ונקודת הטל ולחץ האוויר.
כדי להקל על הדברים, אני משתמש בסנטיגרדות לטמפרטורה ו- hPa (= mBar) ללחץ. כך שאף אחד לא צריך לחשב בחזרה מפרנהייט או קילוגרמים למרחקים מרובעים …
נכון לעכשיו, רק נתונים אלה זמינים …
בעתיד אוסיף מהירות אוויר, כיוון הרוח ומשקעים.
הרעיון הוא שיהיה לי צריף מזג אוויר חיצוני וכל הנתונים יישלחו מעל 2.4GHz ליחידה הפנימית.
שלב 3: JAWS: תוכנה
כדי להגיע לתוכנה שלנו, ניתן למצוא את רובם עם ספריות קיימות.
ב- JAWS אני משתמש באלה הבאים:
- SPI.h: הספרייה המקורית מארדואינו לפרוטוקול 4 חוטים. היא משמשת למגן TFT
- Adafruit_GFX.h ו- MCUfriend_kbv.h: שניהם משמשים לגרפיקה ולמסך. אלה מקלים מאוד על כתיבת טקסט, ציור קווים ותיבות במסך TFT.
- dht.h: עבור ה- DHT שלנו: ניתן להשתמש בספרייה זו ל- DHT11 (הכחול) ו- DHT22.
- Wire.h: ספריית Arduino כדי להפוך את התקשורת הטורית לקלה. הוא משמש לשעון ולכרטיס SD.
- SD.h: שוב מקור ארדואינו, לכתיבה וקריאה מכרטיס ה- SD.
- TimeLord.h: זה אני משתמש בו לשמירת זמן, חישוב שקיעת השמש או זריחת השמש מכל מיקום גיאוגרפי. הוא גם קבע את השעון ל- DST (קיץ או חורף).
נתחיל עם השעון.
בעת קריאת שעון, אתה צריך את המשתנים שאתה מקבל מהרשמים השונים בתוך מודול השעון. כאשר אנו הופכים אותם ליותר מספרים בלבד, נוכל להשתמש בשורות הבאות:
const int DS1307 = 0x68; const char* days = {"Zo.", "Ma", "Di", "Wo", "Do.", "Vr.", "Za."};
const char* months = {"01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11 "," 12 "};
נ
עם TimeLord, אנו מקבלים את זה כנתונים עבור המקום שלי: (לוקרן, בלגיה)
טיים לורד לוקרן; הגדרת Lokeren. Position (51.096, 3.99); קו אורך וקו רוחב
Lokeren. TimeZone (+1*60); GMT +1 = +1 x 60 דקות
Lokeren. DstRules (3, 4, 10, 4, 60); שעון קיץ החל מהחודש השלישי, השבוע הרביעי עד החודש העשירי, השבוע הרביעי, +60 דקות
int jaar = שנה +2000;
בת SunRise = {0, 0, 12, יום חודש, חודש, שנה}; התחל לחשב כל יום משעה 00 שעות
בת SunSet = {0, 0, 12, יום חודש, חודש, שנה}; כנ ל
בייט מאן = {0, 0, 12, יום חודש, חודש, שנה}; כנ ל
שלב צף;
מכאן, החישובים נעשים.
phase = Lokeren. MoonPhase (maan);
Lokeren. SunRise (sunRise);
Lokeren. SunSet (sunSet);
Lokeren. DST (sunRise);
Lokeren. DST (sunSet);
int ZonOpUur = sunRise [tl_hour];
int ZonOpMin = sunRise [tl_minute];
int ZonOnUur = sunSet [tl_hour];
int ZonOnMin = sunSet [tl_minute];
זוהי הדוגמה לאופן חישוב הדברים ב- TimeLord. עם הספרייה הזו אתה מקבל זמנים מדויקים (די) של שקיעה וזריחה.
בסוף אכניס את כל התוכנית למדריך זה. זה די פשוט קדימה.
שלב 4: תוכנות נוספות …
עוד על התוכנה…
יש לנו שלושה חלקים גדולים בתוכנה.
1) אנו מקבלים כמה נתונים גולמיים מהחיישנים השונים שלנו: מהשעון שלנו, DHTs ו- BMP180. זה הקלט שלנו.
2) עלינו לתרגם את הנתונים ל- (1 ו- 0) למשהו הגיוני. לשם כך אנו משתמשים בספריות ובמשתנים שלנו.
3) אנו רוצים לקרוא ולאחסן את הנתונים שלנו. זה התפוקה שלנו. לשימוש מיידי, יש לנו את ה- LCD-TFT שלנו, לשימוש מאוחר יותר, יש לנו את הנתונים השמורים שלנו על כרטיס ה- SD שלנו.
בלופ שלנו (), אנו מקבלים הרבה "GOTO's": אנחנו קופצים לספריות השונות. אנו מקבלים את הנתונים שלנו מאחד החיישנים, מקבלים את הנתונים ומאחסנים אותם (בעיקר) במשתנה נתונים צף. אנו בוחרים את שמות המשתנים שלנו בחוכמה, לא עם x או y אלא עם שמות כמו "tempOutside" או "לחץ" או דברים כאלה. כדי להפוך אותם לקריאים יותר. אוקיי, זה עושה את זה קצת יותר כבד על השימוש במשתנים וצורך יותר זיכרון.
כאן מגיע הטריק: כאשר הופכים את המשתנים שלנו לראויים על המסך, זה רק להציב אותם במיקום הנכון.
לשתי הספריות המשמשות כאן, Adafruit_GFX.h ו- MCUfriend_kbv.h יש ערכת עבודה נחמדה לשימוש בצבעים, גופנים והיכולת לצייר קווים. במקרה הראשון השתמשתי במסך 12864 עם הספריות האלה, מאוחר יותר שיניתי אותו במסך tft. כל מה שהייתי צריך לעשות זה להציב קופסאות, מלבנים וקווים ולוודא שהנתונים יצאו במקום הנכון. לשם כך, תוכל להשתמש ב- setCursor ו- tft. Write כפקודה. קל עושה את זה. ניתן להגדיר צבעים גם כמשתנים, ישנן דוגמאות רבות בספריות האלה כיצד לבחור אותן.
כדי לכתוב בכרטיס ה- SD, אנו זקוקים גם לכמה טריקים פשוטים.
לדוגמה, אנו קוראים את הנתונים שלנו מהשעון כשעות, דקות ושניות נפרדות. הטמפרטורות הן DHT.temperature ו- DHTT.temperature, להבדיל בין פנים לחוץ.
כאשר אנו רוצים לשים אותם על כרטיס ה- SD, אנו משתמשים במחרוזת: אנו מתחילים כל לולאה כמחרוזת ריקה:
variablestring = ""; לאחר מכן נוכל למלא אותו בכל הנתונים שלנו:
variablestring = variable string + hours + ":" + minutes + ":" + seconds. זה נותן למחרוזת כמו 12:00:00.
מכיוון שאנו כותבים אותו כקובץ TXT (עיין ב- SD.h ב- Arduino.cc), עבור המשתנים הבאים נוסיף כרטיסייה, כך שקל יותר לייבא אותו ב- Excel.
אז אנחנו מגיעים ל: variablestring = variablestring + "\ t" + DHT.temperature + "\ t" + DHTT. Temperature.
וכן הלאה.
שלב 5: כמה צילומי מסך …
כדי להיות בטוחים שאנחנו לא "מעמיסים" על מערכי הנתונים שלנו, כתבתי נתונים רק אחת ל -10 דקות. נותן לנו 144 כניסות ליום. לא נורא, אני חושב.
וכמובן, אתה יכול להמשיך לעבד את הנתונים האלה: אתה יכול לעשות ממוצעים, אתה יכול לחפש מקסימום ומינימה, אתה יכול להשוות עם השנים האחרונות …
משרדים שנפגשו בדרך כלל מבצעים ממוצעים של יום ולילה, עבור טמפרטורות: היום מתחיל בשעה 8 בבוקר, ונמשך עד 20:00.
עבור רוח, לחץ ומשקעים, הממוצעים נלקחים מחצות עד חצות.
שלב 6: סיימת?
לא ממש … כפי שאמרתי אני רוצה סוף סוף לגרום לחיישן מהירות הרוח וכיוון הרוח לעבוד עם שאר ה- JAWS.
הבנייה הקטנה שעשיתי מתנשאת לגובה של כ -4 מ '. מטאורולוג מקבל את מהירות הרוח מגובה 10 מ '. קצת גבוה מדי בשבילי…
אני מקווה שנהנית לקרוא את זה!
Adafruit-GFX מוסבר כאן:
MCUFRIEND_kbv.h נמצא כאן:
עוד על BMP 120 (זהה ל- BMP085):
אודות DHT22:
מוּמלָץ:
תחנת מזג האוויר של NaTaLia: תחנת מזג אוויר מונעת על ידי סולארית Arduino בוצעה בדרך הנכונה: 8 שלבים (עם תמונות)
תחנת מזג האוויר של NaTaLia: תחנת מזג אוויר המופעלת באמצעות Arduino סולארית בוצעה בדרך הנכונה: לאחר שנה של הפעלה מוצלחת בשני מיקומים שונים אני משתף את תוכניות הפרויקט של תחנת מזג האוויר המונעות על ידי סולארי ומסביר כיצד היא התפתחה למערכת שיכולה לשרוד לאורך זמן. תקופות מכוח השמש. אם אתה עוקב
עוד תחנת מזג אוויר חכמה, אבל : 6 שלבים (עם תמונות)
ובכל זאת עוד תחנת מזג אוויר חכמה, אבל …: אוקיי, אני יודע שיש כל כך הרבה תחנות מזג אוויר כאלה זמינות בכל מקום, אבל קח כמה דקות לראות את ההבדל … צריכת חשמל נמוכה 2 מסכי נייר אלקטרוניים … אך 10 שונים מסכים! מד תאוצה וחיישני טמפרטורה / לחות מבוססי ESP32 Wifi עדכון
נר מזג אוויר - מזג אוויר וטמפרטורה במבט חטוף: 8 שלבים
נר מזג אוויר - מזג אוויר וטמפרטורה במבט חטוף: בעזרת נר קסם זה תוכל לספר את הטמפרטורה והתנאים הנוכחיים בחוץ באופן מיידי
תחנת מזג אוויר Acurite 5 in 1 באמצעות פיי פטל ו- Weewx (תחנות מזג אוויר אחרות תואמות): 5 שלבים (עם תמונות)
תחנת מזג אוויר Acurite 5 in 1 באמצעות פי פטל ו- Weewx (תחנות מזג אוויר אחרות תואמות): כשקניתי את תחנת מזג האוויר Acurite 5 in 1 רציתי להיות מסוגל לבדוק את מזג האוויר בבית שלי בזמן שהייתי בחוץ. כשהגעתי הביתה והגדרתי אותו הבנתי שאני חייב לחבר את המסך למחשב או לקנות את הרכזת החכמה שלהם
עוד תחנת מזג אוויר נוספת (Y.A.W.S.): 18 שלבים (עם תמונות)
עוד תחנת מזג אוויר נוספת (Y.A.W.S.): הפרויקט הזה הוא דעתי על תחנת מזג האוויר הפופולרית ביותר. שלי מבוסס על ESP8266, a.96 ” תצוגת OLED ומערך חיישן סביבתי BME280. תחנות מזג האוויר נראה פרוייקט מאוד פופולרי. שלי מבדיל את עצמו מהאוט