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

גובה, לחץ וטמפרטורה באמצעות פטל פטל עם MPL3115A2: 6 שלבים
גובה, לחץ וטמפרטורה באמצעות פטל פטל עם MPL3115A2: 6 שלבים

וִידֵאוֹ: גובה, לחץ וטמפרטורה באמצעות פטל פטל עם MPL3115A2: 6 שלבים

וִידֵאוֹ: גובה, לחץ וטמפרטורה באמצעות פטל פטל עם MPL3115A2: 6 שלבים
וִידֵאוֹ: המזון בראי העתיד 2024, יולי
Anonim
גובה, לחץ וטמפרטורה באמצעות פטל פטל עם MPL3115A2
גובה, לחץ וטמפרטורה באמצעות פטל פטל עם MPL3115A2
גובה, לחץ וטמפרטורה באמצעות פטל פטל עם MPL3115A2
גובה, לחץ וטמפרטורה באמצעות פטל פטל עם MPL3115A2

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

שלב 1: ציוד חובה שאנחנו צריכים

ציוד חובה שאנחנו צריכים
ציוד חובה שאנחנו צריכים
ציוד חובה שאנחנו צריכים
ציוד חובה שאנחנו צריכים
ציוד חובה שאנחנו צריכים
ציוד חובה שאנחנו צריכים
ציוד חובה שאנחנו צריכים
ציוד חובה שאנחנו צריכים

1. פטל פטל

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

2. מגן I²C עבור פטל פטל

INPI2 (מתאם I2C) מספק את Raspberry Pi 2/3 יציאת I²C לשימוש עם התקני I2C מרובים. הוא זמין בחנות Dcube

3. מד גובה, לחץ וטמפרטורה, MPL3115A2

MPL3115A2 הוא חיישן לחץ MEMS עם ממשק I²C המספק נתוני לחץ/גובה וטמפרטורה. חיישן זה משתמש בפרוטוקול I²C לתקשורת. רכשנו חיישן זה מחנות Dcube

4. חיבור כבל

היה לנו כבל חיבור I2C זמין בחנות Dcube

5. כבל מיקרו USB

כבל מיקרו USB ספק הכוח הוא בחירה אידיאלית להפעלת ה- Raspberry Pi.

6. שיפור גישה לאינטרנט - כבל אתרנט/מתאם WiFi

בעידן זה, כדי לקבל גישה לכל דבר צריך חיבור לאינטרנט (כמעט כמו שיש חיים גם במצב לא מקוון). אז נלך לקבל את עצתו של כבל LAN או מתאם ננו USB אלחוטי (WiFi) כדי לבנות את חיבור האינטרנט כך שנוכל להשתמש ב- Rasp Pi שלנו בקלות וללא כל בעיה.

7. כבל HDMI (אופציונלי, לבחירתך)

זה קצת מסובך. אתה יכול להיות מסוגל לצרף צג אחר במקרה שאתה רוצה או שזה מאוד משתלם לעצמך על ידי יצירת חיבור Pi ללא ראש עם המחשב האישי/המחשב הנייד שלך.

שלב 2: חיבורי חומרה להרכיב את המעגל

חיבורי חומרה להרכיב את המעגל
חיבורי חומרה להרכיב את המעגל
חיבורי חומרה להרכיב את המעגל
חיבורי חומרה להרכיב את המעגל

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

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

חיבור ה- Raspberry Pi ו- I2C Shield

קודם כל קח את ה- Raspberry Pi והנח עליו את מגן I²C. לחץ בעדינות על המגן (ראה התמונה).

חיבור החיישן ו- Raspberry Pi

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

הערה: החוט החום צריך תמיד לעקוב אחר חיבור הארקה (GND) בין הפלט של התקן אחד לקלט של התקן אחר

קישוריות לאינטרנט היא חיונית

יש לך כאן בחירה למעשה. אתה יכול לחבר את Raspberry Pi באמצעות כבל ה- LAN או מתאם ה- Nano USB האלחוטי לקישוריות WiFi. בכל מקרה, המטרה העיקרית היא להתחבר לאינטרנט.

הפעלת המעגל

חבר את כבל ה- Micro USB לשקע החשמל של Raspberry Pi. הדליקו את זה ואנחנו יוצאים לדרך.

חיבור למסך

אנו יכולים לחבר את כבל ה- HDMI למסך חדש או שנוצר את ה- Pi נטול הראש שלנו שהוא יצירתי וחסכוני באמצעות גישה מרחוק כמו SSH/PuTTY. (אני יודע שאנחנו לא ממומנים כמו ארגון סודי)

שלב 3: תכנות פטל פטל ב- Python

תכנות פטל פטל בפייתון
תכנות פטל פטל בפייתון

קוד ה- Python לחיישן Raspberry Pi ו- MPL3115A2. הוא זמין במאגר Github שלנו.

לפני שתמשיך לקוד, הקפד לקרוא את ההוראות המופיעות בקובץ ה- Readme ולהגדיר את ה- Raspberry Pi בהתאם לכך. ייקח רק רגע לעשות זאת.

הגובה מחושב מתוך הלחץ באמצעות המשוואה שלהלן:

h = 44330.77 {1 - (p / p0) ^ 0.1902632} + OFF_H (ערך רישום)

כאשר p0 = לחץ פני הים (101326 Pa) ו- h הוא במטר. MPL3115A2 משתמש בערך זה מאחר שרשם הקיזוז מוגדר כ -2 פסקל לכל LSB.

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

תוכל להעתיק מכאן גם את קוד ה- Python שעובד עבור חיישן זה.

# מופץ ברישיון רצון חופשי.# השתמש בו בכל דרך שתרצה, רווח או בחינם, בתנאי שהוא מתאים לרישיונות של העבודות המשויכות אליו. # MPL3115A2 # קוד זה נועד לעבודה עם מודול מיני MPL3115A2_I2CS I2C הזמין ב- ControlEverything.com. #

יבוא smbus

זמן יבוא

# קבל אוטובוס I2C

אוטובוס = smbus. SMBus (1)

כתובת MPL3115A2, 0x60 (96)

# בחר פקד בקרה, 0x26 (38) # 0xB9 (185) מצב פעיל, OSR = 128, מצב מד גובה bus.write_byte_data (0x60, 0x26, 0xB9) # כתובת MPL3115A2, 0x60 (96) # בחר רישום תצורה של נתונים, 0x13 (19) # 0x07 (07) אירוע מוכן לנתונים מופעל לגובה, לחץ, טמפרטורה bus.write_byte_data (0x60, 0x13, 0x07) # כתובת MPL3115A2, 0x60 (96) # בחר פקד בקרה, 0x26 (38) # 0xB9 (185) מצב פעיל, OSR = 128, מצב מד גובה bus.write_byte_data (0x60, 0x26, 0xB9)

time.sleep (1)

כתובת MPL3115A2, 0x60 (96)

# קרא נתונים בחזרה מ 0x00 (00), 6 בתים # סטטוס, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSb data = bus.read_i2c_block_data (0x60, 0x00, 6)

# המר את הנתונים ל- 20 סיביות

tHeight = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16 altitude = tHeight / 16.0 cTemp = temp / 16.0 fTemp = cTemp * 1.8 + 32

כתובת MPL3115A2, 0x60 (96)

# בחר פקד בקרה, 0x26 (38) # 0x39 (57) מצב פעיל, OSR = 128, מצב ברומטר bus.write_byte_data (0x60, 0x26, 0x39)

time.sleep (1)

כתובת MPL3115A2, 0x60 (96)

# קרא נתונים בחזרה מ 0x00 (00), 4 בתים # סטטוס, pres MSB1, pres MSB, pres LSB data = bus.read_i2c_block_data (0x60, 0x00, 4)

# המר את הנתונים ל- 20 סיביות

pres = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 לחץ = (pres / 4.0) / 1000.0

# פלט נתונים למסך

הדפס "לחץ: %.2f kPa" הדפס לחץ "גובה: %.2f מ" %גובה הדפסה "טמפרטורה בצלזיוס: %.2f C" %cTemp הדפסה "טמפרטורה בפרנהייט: %.2f F" %fTemp

שלב 4: פרקטיות הקוד (בדיקה)

פרקטיות הקוד (בדיקה)
פרקטיות הקוד (בדיקה)

עכשיו, הורד (או git משוך) את הקוד ופתח אותו ב- Raspberry Pi.

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

שלב 5: יישומים ותכונות

השימוש הנפוץ בחיישן מד גובה I²C MPL3115A2 מדויק הוא ביישומים כמו מפה (מפת סיוע, ניווט), מצפן מגנטי, או GPS (חישוב מתים GPS, שיפור GPS לשירותי חירום), מד גובה גבוה, סמארטפונים/טאבלטים, אלמטריה אישית. ולווינים (ציוד תחנת מזג אוויר/תחזיות).

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

שלב 6: מסקנה

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

מוּמלָץ: