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

JAWS: רק עוד תחנת מזג אוויר: 6 שלבים
JAWS: רק עוד תחנת מזג אוויר: 6 שלבים

וִידֵאוֹ: JAWS: רק עוד תחנת מזג אוויר: 6 שלבים

וִידֵאוֹ: JAWS: רק עוד תחנת מזג אוויר: 6 שלבים
וִידֵאוֹ: Дневник хранящий жуткие тайны. Переход. Джеральд Даррелл. Мистика. Ужасы 2024, נוֹבֶמבֶּר
Anonim
JAWS: הכנת הדברים שלנו
JAWS: הכנת הדברים שלנו
JAWS: הכנת הדברים שלנו
JAWS: הכנת הדברים שלנו
JAWS: הכנת הדברים שלנו
JAWS: הכנת הדברים שלנו

זה די פשוט להכין JAWS כזה.

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

נתחיל בהתקנת התוכנית.

מכיוון שאני דובר הולנדית (דובר שפת אם) כל הנתונים והרבה מהמשתנים בהם אני משתמש הם בהולנדית. אז עכשיו יש לך הזדמנות ללמוד שפה אחרת …

מה אנחנו רוצים מ- JAWS?

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

לצד זה, יהיה נחמד לראות את הטמפרטורה הפנימית והחיצונית, את הלחות היחסית ונקודת הטל ולחץ האוויר.

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

נכון לעכשיו, רק נתונים אלה זמינים …

בעתיד אוסיף מהירות אוויר, כיוון הרוח ומשקעים.

הרעיון הוא שיהיה לי צריף מזג אוויר חיצוני וכל הנתונים יישלחו מעל 2.4GHz ליחידה הפנימית.

שלב 3: JAWS: תוכנה

JAWS: תוכנה
JAWS: תוכנה

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

ב- JAWS אני משתמש באלה הבאים:

  1. SPI.h: הספרייה המקורית מארדואינו לפרוטוקול 4 חוטים. היא משמשת למגן TFT
  2. Adafruit_GFX.h ו- MCUfriend_kbv.h: שניהם משמשים לגרפיקה ולמסך. אלה מקלים מאוד על כתיבת טקסט, ציור קווים ותיבות במסך TFT.
  3. dht.h: עבור ה- DHT שלנו: ניתן להשתמש בספרייה זו ל- DHT11 (הכחול) ו- DHT22.
  4. Wire.h: ספריית Arduino כדי להפוך את התקשורת הטורית לקלה. הוא משמש לשעון ולכרטיס SD.
  5. SD.h: שוב מקור ארדואינו, לכתיבה וקריאה מכרטיס ה- SD.
  6. 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:

מוּמלָץ: