فهرست مطالب:
تصویری: Particle Photon - MPL3115A2 Precision Altimeter سنسور سنسور: 4 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
MPL3115A2 از سنسور فشار MEMS با رابط I2C برای ارائه اطلاعات دقیق فشار/ارتفاع و دما استفاده می کند. خروجی های سنسور با ADC 24 بیتی با وضوح بالا دیجیتالی می شوند. پردازش داخلی وظایف جبران خسارت را از سیستم MCU میزبان حذف می کند. این دستگاه قادر به تشخیص تغییر در 0.05 کیلو پاسکال است که معادل 0.3 متر ارتفاع است. در اینجا نمایش آن با فوتون ذرات نشان داده شده است.
مرحله 1: آنچه شما نیاز دارید..
1. ذره فوتون
2. MPL3115A2
3. کابل I²C
4. I²C Shield برای ذرات فوتون
مرحله 2: اتصالات:
یک سپر I2C برای فوتون ذره ای بگیرید و آن را به آرامی روی پایه های فوتون ذره ای فشار دهید.
سپس یک سر کابل I2C را به سنسور MPL3115A2 و سر دیگر را به سپر I2C وصل کنید.
اتصالات در تصویر بالا نشان داده شده است.
مرحله 3: کد:
کد ذرات MPL3115A2 را می توانید از مخزن Github-DCUBE Store ما بارگیری کنید.
اینجا پیوند است.
ما از دو کتابخانه برای کد ذره استفاده کرده ایم که عبارتند از application.h و spark_wiring_i2c.h. کتابخانه Spark_wiring_i2c برای تسهیل ارتباط I2C با حسگر مورد نیاز است.
همچنین می توانید کد را از اینجا کپی کنید ، به صورت زیر آمده است:
// با مجوز اراده آزاد توزیع می شود.
// از آن به هر نحوی که می خواهید استفاده کنید ، سودمند یا رایگان ، مشروط بر اینکه در مجوز آثار مربوط به آن متناسب باشد.
// MPL3115A2
// این کد برای کار با ماژول کوتاه MPL3115A2_I2CS I2C طراحی شده است
#عبارتند از
#عبارتند از
// آدرس MPL3115A2 I2C 0x60 (96) است
#تعریف Addr 0x60
شناور cTemp = 0.0 ، fTemp = 0.0 ، فشار = 0.0 ، ارتفاع = 0.0 ؛
int temp = 0 ، tHeight = 0 ؛ pres pres = 0 ؛
void setup ()
{
// تنظیم متغیر
Particle.variable ("i2cdevice" ، "MPL3115A2") ؛
Particle.variable ("cTemp" ، cTemp) ؛
Particle.variable ("فشار" ، فشار) ؛
Particle.variable ("ارتفاع" ، ارتفاع) ؛
// راه اندازی ارتباط 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 بایت داده
سیم. درخواست از (Addr، 6)؛
// خواندن 6 بایت داده از آدرس 0x00 (00)
// وضعیت ، tHeight msb1 ، tHeight msb ، tHeight lsb ، temp msb ، temp lsb
if (Wire.available () == 6)
{
داده [0] = Wire.read ()؛
داده [1] = Wire.read ()؛
داده [2] = Wire.read ()؛
داده [3] = Wire.read ()؛
داده [4] = Wire.read ()؛
داده [5] = Wire.read ()؛
}
// تبدیل داده ها به 20 بیت
tHeight = (((((طولانی) داده [1] * (طولانی) 65536) + (داده [2] * 256) + (داده [3] & 0xF0)) / 16) ؛
temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16؛
ارتفاع = tHeight / 16.0 ؛
cTemp = (temp / 16.0) ؛
fTemp = cTemp * 1.8 + 32 ؛
// شروع انتقال I2C
Wire.beginTransmission (Addr)؛
// کنترل ثبت را انتخاب کنید
Wire.write (0x26) ؛
// حالت فعال ، OSR = 128 ، حالت فشارسنج
Wire.write (0x39)؛
// توقف انتقال I2C
Wire.endTransmission ()؛
// شروع انتقال I2C
Wire.beginTransmission (Addr)؛
// ثبت داده را انتخاب کنید
Wire.write (0x00) ؛
// توقف انتقال I2C
Wire.endTransmission ()؛
تاخیر (1000) ؛
// درخواست 4 بایت داده
سیم. درخواست از (Addr، 4)؛
// خواندن 4 بایت داده
// وضعیت ، pres msb1 ، pres msb ، pres lsb
if (Wire.available () == 4)
{
داده [0] = Wire.read ()؛
داده [1] = Wire.read ()؛
داده [2] = Wire.read ()؛
داده [3] = Wire.read ()؛
}
// تبدیل داده ها به 20 بیت
pres = (((طولانی) داده [1] * (طولانی) 65536) + (داده [2] * 256) + (داده [3] & 0xF0)) / 16؛
فشار = (pres / 4.0) / 1000.0 ؛
// خروجی داده ها به داشبورد
Particle.publish ("ارتفاع:" ، رشته (ارتفاع)) ؛
Particle.publish ("فشار:" ، رشته (فشار)) ؛
Particle.publish ("دما برحسب درجه سانتیگراد:" ، String (cTemp)) ؛
Particle.publish ("دما در فارنهایت:" ، رشته (fTemp)) ؛
تاخیر (1000) ؛
}
مرحله 4: برنامه های کاربردی:
برنامه های کاربردی مختلف MPL3115A2 شامل ارتفاع سنجی با دقت بالا ، تلفن های هوشمند/رایانه های لوحی ، ارتفاع سنج الکترونیکی شخصی و غیره است. همچنین می توان آن را در GPS Dead Reckoning ، تقویت GPS برای خدمات اضطراری ، کمک نقشه ، ناوبری و همچنین تجهیزات ایستگاه هواشناسی گنجانید.
توصیه شده:
Plug & Play CO2 سنسور سنسور با NodeMCU/ESP8266 برای مدارس ، مهدکودک ها یا خانه شما: 7 مرحله
Plug & Play CO2 سنسور سنسور با NodeMCU/ESP8266 برای مدارس ، مهدکودک ها یا خانه شما: من قصد دارم به شما نحوه ساخت سریع یک پلاگین و آمپر را نشان دهم. سنسور CO2 را پخش کنید که در آن تمام عناصر پروژه با سیم DuPont متصل می شوند. فقط 5 نقطه وجود دارد که باید لحیم شوند ، زیرا من قبل از این پروژه اصلاً لحیم کاری نکردم. ث
سنسور تنفس DIY با آردوینو (سنسور کشش بافتنی رسانا): 7 مرحله (همراه با تصاویر)
سنسور تنفس DIY با آردوینو (سنسور کششی بافتنی رسانا): این سنسور DIY به شکل یک سنسور کشش بافتنی رسانا شکل می گیرد. در اطراف قفسه سینه/معده شما می پیچد ، و هنگامی که قفسه سینه/معده شما بزرگ و منقبض می شود ، سنسور و در نتیجه داده های ورودی که به آردوینو تغذیه می شود ، گسترش می یابد. بنابراین
Particle Photon IoT Personal Weather Station: 4 مرحله (همراه با تصاویر)
Particle Photon IoT Personal Weather Station:
سنسور دما و رطوبت خورشیدی آردوینو به اندازه 433 مگاهرتز سنسور اورگان: 6 مرحله
سنسور دما و رطوبت خورشیدی آردوینو به عنوان 433 مگاهرتز سنسور اورگان: این ساختار سنسور دما و رطوبت خورشیدی است. سنسور از سنسور اورگان 433 مگاهرتز تقلید می کند و در دروازه Telldus Net قابل مشاهده است. آنچه شما نیاز دارید: 1x & quot؛ 10-LED سنسور حرکت خورشیدی & quot؛ از Ebay مطمئن شوید که روی آن خمیر 3.7 ولت نوشته شده است
Particle Photon - BH1715 آموزش سنسور نور محیط دیجیتال: 4 مرحله
Particle Photon - BH1715 Sensor Light Ambient Sensor Light: BH1715 یک سنسور نور محیطی دیجیتالی با رابط گذرگاه I²C است. BH1715 معمولاً برای به دست آوردن داده های نور محیط برای تنظیم قدرت نور پس زمینه LCD و صفحه کلید برای دستگاه های تلفن همراه استفاده می شود. این دستگاه دارای وضوح 16 بیت و ضمیمه