צור צג טמפרטורה של Raspberry Pi באמצעות Sense HAT והצג קריאות קבועות על מטריצת ה-LED שלו.

ישנן מספר דרכים שבהן אתה יכול לנטר את טמפרטורת הסביבה באמצעות מחשב Raspberry Pi עם לוח יחיד, אולי כחלק מהגדרת תחנת מזג אוויר. אמנם אתה יכול להשתמש בחיישן חיצוני המחובר לפיני ה-GPIO של Raspberry Pi, אבל כאן נסביר כיצד לנטר את הטמפרטורה עם Raspberry Pi המצויד ב-Sense HAT.

מהו ה-Sense HAT?

קרדיט תמונה: פאי פטל

רישמי Raspberry Pi HAT (Hardware Attached on Top) לוח תוסף שתוכנן ויוצר על ידי חברת Raspberry Pi, Sense HAT נוצר במקור כדי לשמש אסטרונאוטים על סיפון תחנת החלל הבינלאומית. מאז 2015, שני מחשבי Raspberry Pi המצוידים ב-Sense HAT שימשו בניסויים מדעיים שתוכננו על ידי תלמידי בית ספר שנכנסו לתוכנית המתמשכת. אסטרו פי אתגר שתי היחידות הללו הוחלפו מאז בגרסאות משודרגות המבוססות על Raspberry Pi 4 ומצוידות במצלמה באיכות גבוהה.

קרדיט תמונה: פאי פטל

הוא אמנם חסר את המארז הכסוף המיוחד המיועד לשימוש בחלל, אבל ללוח Sense HAT הסטנדרטי יש בדיוק את אותה פונקציונליות. תואם עם כל דגם Raspberry Pi עם כותרת GPIO 40 פינים, הוא כולל מערך חיישנים מובנה המאפשרים לו לנטר את הסביבה הסובבת וגם לזהות את הכיוון והתנועה שלו. בנוסף, יש לו מטריצת LED RGB בגודל 8x8 להצגת טקסט, נתונים ותמונות. יש גם ג'ויסטיק מיני לחמישה כיוונים.

instagram viewer

המערך המלא של פונקציות החישה של Sense HAT הוא כדלקמן:

  • לחות: חיישן STMicro HTS221 עם טווח לחות יחסית של 0 עד 100%, בתוספת חישת טמפרטורה מ-32°F עד 149°F (0°C עד 65°C ± 2°C).
  • לחץ ברומטרי: חיישן STMicro LPS25HB עם טווח של 260 עד 1260 hPa, בתוספת חישת טמפרטורה מ-59°F עד 104°F (15°C עד 40°C ±0.5°C).
  • טֶמפֶּרָטוּרָה: ניתן לקרוא זאת מחיישן הלחות או הלחץ, או למדוד על ידי לקיחת ממוצע של שתי הקריאות.
  • ג'ִירוֹסקוֹפּ: STMicro LSM9DS1 IMU יכול למדוד את הסיבוב של ה-Sense HAT ביחס לפני השטח של כדור הארץ (וכמה מהר הוא מסתובב).
  • מד תאוצה: פונקציה נוספת של IMU, זה יכול למדוד כוח תאוצה במספר כיוונים.
  • מגנומטר: על ידי חישת השדה המגנטי של כדור הארץ, ה-IMU יכול לקבוע את כיוון הצפון המגנטי ובכך לתת קריאת מצפן.

כעת, לאחר שהבנתם מה ה-Raspberry Pi HAT הרב-תכליתי הזה יכול לעשות, הגיע הזמן להתחיל עם הפרויקט.

שלב 1: התקן את ה-Sense HAT

כדי לחבר את ה-Sense HAT, תחילה ודא שה-Raspberry Pi שלך כבוי ומנתק מהחשמל. לאחר מכן דחפו בזהירות את ה-Sense HAT (עם מאריך הכותרת השחור שסופק לו) אל כותרת ה-40 פינים GPIO של ה-Raspberry Pi, כך שלוח ה-Sense HAT ימוקם מעל לוח ה-Raspberry Pi. ודא שכל הפינים מסתדרים נכון ושתי השורות מחוברות. אתה יכול גם להשתמש במנחים מוברגים כדי לעזור לאבטח אותו.

אתה יכול להשתמש בכל דגם Raspberry Pi סטנדרטי שיש לו כותרת GPIO של 40 פינים. אחד מ מגבלות עיקריות של Raspberry Pi 400עם זאת, הוא שכותרת ה-GPIO שלו ממוקמת בחלק האחורי של המקלדת המשולבת. המשמעות היא שה-Sense HAT יפנה לאחור, אז אולי כדאי להשתמש בכבל מאריך GPIO כדי לחבר אותו.

שלב 2: הגדר את Raspberry Pi

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

לחלופין, אתה יכול להשתמש ב-Raspberry Pi שלך עם Sense HAT במצב ללא ראש, ללא צג מחובר ו להתחבר ל-Raspberry Pi מרחוק באמצעות SSH ממחשב או מכשיר אחר. אם תעשה זאת, לא תוכל להשתמש ב-Thonny Python IDE, קנייה עדיין יכולה לערוך תוכניות באמצעות עורך הטקסט הננו ולהפעיל אותן משורת הפקודה.

הקושחה Sense HAT צריכה להיות מותקנת כברירת מחדל. כדי לבדוק פעמיים, פתח חלון מסוף והזן:

sudo apt install sense-hat

לאחר מכן, אם החבילה הותקנה לאחרונה, הפעל מחדש את ה-Raspberry Pi:

sudo reboot

שלב 3: התחל לתכנת ב- Python

בעוד שאתה יכול להשתמש ב-Raspberry Pi Sense HAT עם שפת התכנות מבוססת בלוק Scratch, אנו נשתמש ב-Python כדי לקרוא ולהציג את קריאות החיישנים שלו.

Thonny IDE (סביבת פיתוח משולבת) היא דרך טובה לעשות תכנות Python על Raspberry Pi, מכיוון שיש לו הרבה פונקציונליות כולל תכונות ניפוי באגים מועילות. ב-GUI של שולחן העבודה של Raspberry Pi OS, עבור אל תַפרִיט (סמל פטל משמאל למעלה) > תכנות > Thonny IDE כדי להפעיל אותו.

שלב 4: קח קריאת טמפרטורה

בחלון הראשי של Thonny IDE, הזן את שורות הקוד הבאות:


from sense_hat import SenseHat

sense = SenseHat()
sense.clear()

temp = sense.get_temperature()
print(temp)

השורה הראשונה מייבאת את SenseHat כיתה מה כובע_חוש ספריית Python (שהותקנה מראש ב-Raspberry Pi OS). לאחר מכן זה מוקצה ל- לָחוּשׁ מִשְׁתַנֶה. השורה השלישית מנקה את מטריצת ה-LED של Sense HAT.

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

temp = (sense.get_temperature() * 1.8 + 32)

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

temp = round(temp, 1)

ה sense.get_temperature() הפונקציה קוראת את חיישן הטמפרטורה המובנה בחיישן הלחות. לחלופין, אתה יכול לקחת קריאת טמפרטורה מחיישן הלחץ עם sense.get_temperature_from_pressure() או אפילו לקחת את שתי הקריאות ולחשב ממוצע ממוצע (על ידי חיבורן וחלוקה בשניים).

שלב 5: הצג את הטמפרטורה ב-Sense HAT

הדפסת קריאת טמפרטורה בודדת ל-Python Shell היא מעט משעממת, אז במקום זאת, בואו נקח קריאה חדשה באופן קבוע ונראה אותה על מטריצת RGB LED של Sense HAT. כדי להציג הודעת טקסט גוללת, אנו משתמשים ב- הצג הודעה פוּנקצִיָה. נשתמש גם ב-a בעוד: נכון לולאה כדי להמשיך לבצע קריאה חדשה כל 10 שניות - לשם כך אנו משתמשים ב- לִישׁוֹן פונקציה מה זְמַן סִפְרִיָה.

הנה התוכנית המלאה:

from sense_hat import SenseHat
from time import sleep

sense = SenseHat()
sense.clear()

whileTrue:
 temp = (sense.get_temperature() * 1.8 + 32)
 temp = round(temp, 1)
 message = "Temp: " + str(temp)
 sense.show_message(message)
 sleep (10)

הפעל את הקוד הזה ותראה כל קריאת טמפרטורה חדשה גוללת על פני מטריצת LED. נסה לנשוף את ה-Sense HAT כדי לראות אם הטמפרטורה משתנה.

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

השתמש ב-Raspberry Pi כדי לנטר את הטמפרטורה

בעוד שאתה יכול להשתמש בחיישן טמפרטורה עצמאי במקום זאת עבור הפרויקט הזה, ה-Sense HAT מקל על ניטור הטמפרטורה עם פאי פטל. אתה יכול גם להשתמש בו כדי לבצע שורה של קריאות חיישנים אחרות, כגון לחץ ברומטרי ולחות יחסית, ולהראות אותן על ה-LED שלו. מַטרִיצָה.