תוכן עניינים:
וִידֵאוֹ: Arduino Nano - מדריך חיישן מד גובה MPL3115A2 מדריך: 4 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:12
ה- MPL3115A2 משתמש בחיישן לחץ MEMS עם ממשק I2C כדי לספק נתוני לחץ/גובה וטמפרטורה מדויקים. יציאות החיישן ממוגנות באמצעות ADC ברזולוציה גבוהה של 24 סיביות. עיבוד פנימי מסיר משימות פיצוי ממערכת ה- MCU המארחת. הוא מסוגל לזהות שינוי ב- 0.05 kPa בלבד שמשווה לשינוי של 0.3 מ 'גובה. הנה ההדגמה שלו עם Arduino Nano.
שלב 1: מה שאתה צריך..
1. ארדואינו ננו
2. MPL3115A2
3. כבל I²C
4. מגן I²C עבור Arduino Nano
שלב 2: חיבורים:
קח מגן I2C עבור Arduino Nano ודחוף אותו בעדינות מעל סיכות הננו.
לאחר מכן חבר את הקצה האחד של כבל I2C לחיישן MPL3115A2 והקצה השני למגן I2C.
חיבורים מוצגים בתמונה למעלה.
שלב 3: קוד:
ניתן להוריד את קוד הארדואינו ל- MPL3115A2 מחנות ה- github-DCUBE.
להלן הקישור לאותו דבר:
github.com/DcubeTechVentures/MPL3115A2/blob/master/Arduino/MPL3115A2.ino
אנו כוללים את ספריית Wire.h כדי להקל על תקשורת I2c של החיישן עם לוח Arduino.
אתה יכול גם להעתיק את הקוד מכאן, הוא ניתן כדלקמן:
// מופץ ברישיון רצון חופשי.
// השתמש בו בכל דרך שתרצה, ברווח או בחינם, בתנאי שהוא מתאים לרישיונות של העבודות הקשורות בו.
// MPL3115A2
// קוד זה נועד לעבוד עם מודול מיני MPL3115A2_I2CS I2C
#לִכלוֹל
// כתובת MPL3115A2 I2C היא 0x60 (96)
#define Addr 0x60
הגדרת חלל ()
{
// אתחול תקשורת I2C
Wire.begin ();
// אתחל תקשורת סדרתית, הגדר קצב שידור = 9600
Serial.begin (9600);
// התחל את שידור I2C
Wire.beginTransmission (Addr);
// בחר רשום בקרה
Wire.write (0x26);
// מצב פעיל, OSR = 128, מצב מד גובה
Wire.write (0xB9);
// עצור את שידור I2C
Wire.endTransmission ();
// התחל את שידור I2C
Wire.beginTransmission (Addr);
// בחר את רשימת תצורת הנתונים
Wire.write (0x13);
// אירוע מוכן לנתונים מופעל לגובה, לחץ, טמפרטורה
Wire.write (0x07);
// עצור את שידור I2C
Wire.endTransmission ();
עיכוב (300);
}
לולאת חלל ()
{
נתוני int ללא חתום [6];
// התחל את שידור I2C
Wire.beginTransmission (Addr);
// בחר רשום בקרה
Wire.write (0x26);
// מצב פעיל, OSR = 128, מצב מד גובה
Wire.write (0xB9);
// עצור את שידור I2C
Wire.endTransmission ();
עיכוב (1000);
// התחל את שידור I2C
Wire.beginTransmission (Addr);
// בחר רישום נתונים
Wire.write (0x00);
// עצור את שידור I2C
Wire.endTransmission ();
// בקש 6 בתים של נתונים
Wire.requestFrom (Addr, 6);
// קרא 6 בתים של נתונים מהכתובת 0x00 (00)
// סטטוס, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb
אם (Wire.available () == 6)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
data [4] = Wire.read ();
data [5] = Wire.read ();
}
// המר את הנתונים ל- 20 סיביות
int tHeight = (((long) (data [1] * (long) 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16);
int temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16;
גובה צף = tHeight / 16.0;
צף cTemp = (טמפ ' / 16.0);
צף fTemp = cTemp * 1.8 + 32;
// התחל את שידור I2C
Wire.beginTransmission (Addr);
// בחר רשום בקרה
Wire.write (0x26);
// מצב פעיל, OSR = 128, מצב ברומטר
Wire.write (0x39);
// עצור את שידור I2C
Wire.endTransmission ();
עיכוב (1000);
// התחל את שידור I2C
Wire.beginTransmission (Addr);
// בחר רישום נתונים
Wire.write (0x00);
// עצור את שידור I2C
Wire.endTransmission ();
// בקש 4 בתים של נתונים
Wire.requestFrom (אדר, 4);
// קרא 4 בתים של נתונים
// status, pres msb1, pres msb, pres lsb
אם (Wire.available () == 4)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
}
// המר את הנתונים ל- 20 סיביות
long pres = ((((long) data [1] * (long) 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16;
לחץ צף = (pres / 4.0) / 1000.0;
// נתוני פלט לצג הסדרתי
Serial.print ("גובה:");
Serial.print (גובה);
Serial.println ("m");
Serial.print ("לחץ:");
Serial.print (לחץ);
Serial.println ("kPa");
Serial.print ("טמפרטורה בצלזיוס:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("טמפרטורה בפרנהייט:");
Serial.print (fTemp);
Serial.println ("F");
עיכוב (500);
}
שלב 4: יישומים:
יישומים שונים של MPL3115A2 כוללים מדדי דיוק גבוהים, סמארטפונים/טאבלטים, אלטימטריה של אלקטרוניקה אישית וכו '. ניתן לשלב אותה גם בחישוב מתים GPS, שיפור GPS לשירותי חירום, מפת עזרה, ניווט וכן ציוד תחנת מזג אוויר.
מוּמלָץ:
מד גובה (מד גובה) בהתבסס על לחץ אטמוספרי: 7 שלבים (עם תמונות)
מד גובה (מד גובה) בהתבסס על לחץ אטמוספרי: [עריכה]; ראה גירסה 2 בשלב 6 עם קלט גובה בסיסי באופן ידני. זהו תיאור הבניין של מד גובה (מד גובה) המבוסס על Arduino Nano וחיישן לחץ אטמוספרי Bosch BMP180. העיצוב פשוט אך המדידות
גובה, לחץ וטמפרטורה באמצעות פטל פטל עם MPL3115A2: 6 שלבים
גובה, לחץ וטמפרטורה באמצעות פי פטל עם MPL3115A2: נשמע מעניין. זה בהחלט אפשרי בתקופה הזו כשכולנו נכנסים לדור ה- IoT. בתור פריק אלקטרוניקה, שיחקנו עם ה- Raspberry Pi והחלטנו לעשות פרויקטים מעניינים תוך שימוש בידע הזה. בפרויקט זה אנו רוצים
Raspberry Pi - MPL3115A2 חיישן מד גובה מדויק Java הדרכה: 4 שלבים
Raspberry Pi - חיישן מד מד גובה MPL3115A2 מדויק לג'אווה הדרכה: ה- MPL3115A2 משתמש בחיישן לחץ MEMS עם ממשק I2C כדי לספק נתוני לחץ/גובה וטמפרטורה מדויקים. יציאות החיישן ממוגנות באמצעות ADC ברזולוציה גבוהה של 24 סיביות. עיבוד פנימי מסיר משימות פיצוי מה
שימוש ב- Raspberry Pi, מדידת גובה, לחץ וטמפרטורה בעזרת MPL3115A2: 6 שלבים
שימוש ב- Raspberry Pi, מדידת גובה, לחץ וטמפרטורה עם MPL3115A2: דע מה אתה הבעלים, ודע למה אתה הבעלים שלו! זה מסקרן. אנו חיים בעידן של אוטומציה באינטרנט כאשר הוא צונח לשלל יישומים חדשים. כחובבי מחשבים ואלקטרוניקה, למדנו הרבה עם ה- Raspberry Pi
PropVario, מד גובה/מד גובה עם פלט קולי למטוסי RC: 7 שלבים (עם תמונות)
PropVario, משתנה מד/גובה עשה זאת בעצמך עם פלט קולי למטוסי RC: מדריכים אלה יראו לך כיצד לבנות Vario זול, שיכול לדבר בגובה וכמובן לשלוח טונים שונים בעת שינוי גובה מטוס המפרש שלך. כמה תכונות: - קול וטון - השתמש בדוגמאות משלך (גל) בלה שלך