فهرست مطالب:
- مرحله 1: تجهیزات ضروری ما نیاز داریم
- مرحله 2: اتصالات سخت افزاری برای کنار هم قرار دادن مدار
- مرحله 3: برنامه نویسی Raspberry Pi در جاوا
- مرحله 4: کاربردی بودن کد (در حال کار)
- مرحله 5: برنامه ها و ویژگی ها
- مرحله 6: نتیجه گیری
تصویری: با استفاده از تمشک پای ، ارتفاع ، فشار و دما را با MPL3115A2 اندازه گیری کنید: 6 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
بدانید چه چیزی متعلق به شماست ، و دلیل مالکیت آن را بدانید
جذاب است. ما در عصر اتوماسیون اینترنت زندگی می کنیم زیرا در انبوهی از برنامه های جدید قرار می گیرد. ما به عنوان علاقه مندان به کامپیوتر و الکترونیک ، چیزهای زیادی با Raspberry Pi آموختیم و تصمیم گرفتیم علایق خود را با هم ترکیب کنیم. اگر با اتصالات I²C و راه اندازی نرم افزار آشنا هستید ، این پروژه حدود یک ساعت به طول می انجامد و این راهی عالی برای گسترش قابلیت های MPL3115A2 با Raspberry Pi در جاوا است.
مرحله 1: تجهیزات ضروری ما نیاز داریم
1. تمشک پای
اولین قدم تهیه برد Raspberry Pi بود. این نابغه کوچک توسط علاقمندان ، معلمان و در ایجاد محیط های بدیع استفاده می شود.
2. I2C Shield برای رزبری پای
INPI2 (آداپتور I2C) Raspberry Pi 2/3 یک پورت I²C را برای استفاده در چندین دستگاه I2C فراهم می کند. در فروشگاه Dcube موجود است.
3. ارتفاع سنج ، سنسور فشار و دما ، MPL3115A2
MPL3115A2 یک سنسور فشار MEMS با رابط I²C برای ارائه داده های فشار ، ارتفاع و دما است. این سنسور از پروتکل I²2 برای برقراری ارتباط استفاده می کند. ما این سنسور را از فروشگاه Dcube خریداری کردیم.
4. اتصال کابل
ما از کابل اتصال I²C موجود در فروشگاه Dcube استفاده کردیم.
5. کابل میکرو USB
رزبری پای از منبع تغذیه میکرو USB پشتیبانی می کند.
6. افزایش دسترسی به اینترنت - کابل اترنت/ماژول WiFi
یکی از اولین کارهایی که می خواهید انجام دهید این است که رزبری پای خود را به اینترنت متصل کنید. می توانید با استفاده از کابل اترنت یا با آداپتور Wireless USB Nano WiFi متصل شوید.
7. کابل HDMI (اختیاری ، انتخاب شما)
می توانید رزبری پای را با استفاده از کابل HDMI به مانیتور وصل کنید. همچنین می توانید با استفاده از SSH/PuTTY به Raspberry Pi خود از راه دور دسترسی پیدا کنید.
مرحله 2: اتصالات سخت افزاری برای کنار هم قرار دادن مدار
مدار را مطابق شماتیک نشان داده شده انجام دهید. به طور کلی ، اتصالات بسیار ساده هستند. دستورالعمل ها و تصاویر بالا را دنبال کنید ، و مشکلی نخواهید داشت. در حین برنامه ریزی ، سخت افزار و برنامه نویسی و همچنین مبانی الکترونیک را بررسی کردیم. ما می خواستیم یک شماتیک الکترونیکی ساده برای این پروژه طراحی کنیم. در نمودار ، می توانید قسمت های مختلف ، اجزای قدرت و سنسور I²C را دنبال کنید که پروتکل های ارتباطی I²C را دنبال می کنند. امیدوارم ، این نشان دهد که لوازم الکترونیکی این پروژه چقدر ساده است.
اتصال Raspberry Pi و I2C Shield
برای این ، رزبری پای و I²C Shield را روی آن قرار دهید. Shield را به آرامی فشار دهید (عکس را ببینید).
اتصال سنسور و رزبری پای
سنسور را بردارید و کابل I²C را با آن وصل کنید. مطمئن شوید خروجی I²C همیشه به ورودی I²C متصل شود. همانطور که رزبری پای با سپر I²C روی آن نصب شده است. ما I²C Shield و کابل های اتصال I²C را در کنار خود به عنوان یک مزیت بسیار بزرگ داریم زیرا تنها گزینه plug and play برای ما باقی مانده است. دیگر نیازی به پین و سیم کشی نیست و بنابراین ، سردرگمی از بین رفته است. چه تسکین دهنده ای است که فقط خود را در شبکه سیمها و ورود به آن تصور کنید. به همین سادگی!
توجه: سیم قهوه ای همیشه باید اتصال GND (GND) بین خروجی یک دستگاه و ورودی دستگاه دیگر را دنبال کند
اتصال به اینترنت بسیار مهم است
برای موفقیت پروژه ما ، ما برای رزبری پای خود به اینترنت نیاز داریم. در این حالت ، گزینه هایی مانند اتصال کابل اترنت (LAN) دارید. همچنین ، به عنوان راهی جایگزین اما چشمگیر برای استفاده از آداپتور WiFi.
تغذیه مدار
کابل Micro USB را به پریز برق رزبری پای وصل کنید. روشن کنید و voila ، ما خوب هستیم!
اتصال به صفحه نمایش
ما می توانیم کابل HDMI را به مانیتور متصل کنیم یا کمی نوآور باشیم تا Pi بدون سر خود را (با استفاده از -SSH/PuTTY) ایجاد کنیم که به کاهش هزینه های اضافی کمک می کند زیرا ما به نوعی سرگرمی هستیم.
وقتی عادتی شروع به هزینه می کند ، به آن سرگرمی می گویند
مرحله 3: برنامه نویسی Raspberry Pi در جاوا
کد جاوا برای رزبری پای و سنسور MPL3115A2. در مخزن Github ما موجود است.
قبل از رفتن به کد ، مطمئن شوید که دستورالعمل های داده شده در فایل Readme را مطالعه کرده اید و رزبری پای خود را مطابق آن تنظیم کرده اید. انجام این کار فقط یک لحظه طول می کشد. ارتفاع از فشار با استفاده از معادله زیر محاسبه می شود:
h = 44330.77 {1 - (p / p0) ^ 0.1902632} + OFF_H (مقدار ثبت نام)
جایی که p0 = فشار سطح دریا (101326 Pa) و h بر حسب متر است. MPL3115A2 از این مقدار استفاده می کند زیرا ثبت آفست به عنوان 2 پاسکال در هر LSB تعریف شده است. کد به وضوح در مقابل شما قرار دارد و در ساده ترین شکل است که می توانید تصور کنید و نباید مشکلی داشته باشید.
همچنین می توانید کد جاوا برای این سنسور را از اینجا کپی کنید.
// با مجوز اراده آزاد توزیع می شود. // از آن به هر نحوی که می خواهید ، سود یا رایگان استفاده کنید ، مشروط بر اینکه در مجوزهای آثار مرتبط با آن متناسب باشد. // MPL3115A2 // این کد برای کار با ماژول کوتاه MPL3115A2_I2CS I2C موجود از ControlEverything.com طراحی شده است. //
واردات com.pi4j.io.i2c. I2CBus ؛
واردات com.pi4j.io.i2c. I2CDevice؛ واردات com.pi4j.io.i2c. I2CFactory؛ واردات java.io. IOException؛
کلاس عمومی MPL3115A2
{public static void main (String args ) استثنا را پرتاب می کند {// ایجاد گذرگاه I2C I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1) ؛ // دریافت دستگاه I2C ، آدرس MPL3115A2 I2C 0x60 (96) I2CDevice device = Bus.getDevice (0x60) است ؛ // را انتخاب کنید کنترل ثبت نام // حالت فعال ، OSR = 128 ، ارتفاع سنج device.write (0x26 ، (بایت) 0xB9) ؛ // ثبت اطلاعات پیکربندی داده ها را انتخاب کنید // رویداد آماده داده برای ارتفاع ، فشار ، دما دستگاه فعال شده است. نوشتن (0x13 ، (بایت) 0x07) ؛ // را انتخاب کنید کنترل ثبت نام // حالت فعال ، OSR = 128 ، ارتفاع سنج device.write (0x26 ، (بایت) 0xB9) ؛ Thread.sleep (1000) ؛
// خواندن 6 بایت داده از آدرس 0x00 (00)
// وضعیت ، tHeight msb1 ، tHeight msb ، tHeight lsb ، temp msb ، temp lsb بایت داده = بایت جدید [6] ؛ device.read (0x00 ، داده ، 0 ، 6) ؛
// تبدیل داده ها به 20 بیت
int tHeight = ((((داده [1] & 0xFF) * 65536) + ((داده [2] & 0xFF) * 256) + (داده [3] & 0xF0)) / 16) ؛ int temp = ((داده [4] * 256) + (داده [5] & 0xF0)) / 16؛ ارتفاع دو برابر = tHeight / 16.0 ؛ دو cTemp = (temp / 16.0) ؛ دو fTemp = cTemp * 1.8 + 32 ؛
// کنترل ثبت را انتخاب کنید
// حالت فعال ، OSR = 128 ، دستگاه فشارسنج دستگاه. نوشتن (0x26 ، (بایت) 0x39) ؛ Thread.sleep (1000) ؛ // خواندن 4 بایت داده از آدرس 0x00 (00) // وضعیت ، pres msb1 ، pres msb ، pres lsb device.read (0x00 ، داده ، 0 ، 4) ؛
// تبدیل داده ها به 20 بیت
int pres = (((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16؛ فشار مضاعف = (pres / 4.0) / 1000.0 ؛ // خروجی داده ها به صفحه System.out.printf ("فشار:٪.2f kPa٪ n" ، فشار) ؛ System.out.printf ("ارتفاع:٪.2f m٪ n" ، ارتفاع) ؛ System.out.printf ("دما برحسب درجه سانتیگراد:٪.2f C٪ n" ، cTemp) ؛ System.out.printf ("دما در فارنهایت:٪.2f F٪ n" ، fTemp) ؛ }}
مرحله 4: کاربردی بودن کد (در حال کار)
اکنون ، کد را بارگیری (یا git pull) کرده و در Raspberry Pi باز کنید. دستورات کامپایل و بارگذاری کد را در ترمینال اجرا کنید و خروجی را در مانیتور ببینید. پس از چند ثانیه ، تمام پارامترها نمایش داده می شود. پس از اطمینان از اینکه همه چیز بدون مشکل کار می کند ، می توانید این پروژه را به پروژه بزرگتری تبدیل کنید.
مرحله 5: برنامه ها و ویژگی ها
استفاده متداول از سنسور MPL3115A2 Precision Altimeter در کاربردهایی مانند نقشه (نقشه کمک ، ناوبری) ، قطب نما مغناطیسی ، یا GPS (حساب GPS Dead ، افزایش GPS برای خدمات اضطراری) ، ارتفاع سنجی با دقت بالا ، گوشی های هوشمند/تبلت ها ، ارتفاع سنجی الکترونیک شخصی و ماهواره ها (تجهیزات ایستگاه هواشناسی/پیش بینی).
برای مثال با استفاده از این سنسور و Rasp Pi ، می توانید یک ارتفاع سنج دیجیتالی بصری ، مهمترین تجهیزات چتربازی ، که می تواند ارتفاع ، فشار هوا و دما را اندازه گیری کند ، بسازید. می توانید گاز باد و سایر حسگرها را اضافه کنید ، بنابراین حس جالب تری ایجاد کنید.
مرحله 6: نتیجه گیری
از آنجا که این برنامه به طرز شگفت انگیزی قابل تنظیم است ، روشهای جالب بسیاری وجود دارد که می توانید این پروژه را گسترش دهید و آن را حتی بهتر کنید. به عنوان مثال ، یک ارتفاع سنج/تداخل سنج شامل چندین ارتفاع سنج نصب شده روی دکل ها است که همزمان اندازه گیری می کنند ، بنابراین پوشش مداوم ، یک یا چند ارتفاع را در سطح وسیع فراهم می کند. ما یک فیلم آموزشی جالب در YouTube داریم که می تواند به شما در درک بهتر این پروژه کمک کند.
توصیه شده:
ارتفاع سنج (متر ارتفاع) بر اساس فشار اتمسفر: 7 مرحله (همراه با تصاویر)
ارتفاع سنج (متر ارتفاع) بر اساس فشار اتمسفر: [ویرایش] ؛ نسخه 2 را در مرحله 6 با ورودی ارتفاع به صورت دستی مشاهده کنید. این توصیف ساختمان یک ارتفاع سنج (ارتفاع متر) بر اساس آردوینو نانو و سنسور فشار اتمسفر Bosch BMP180 است. طراحی ساده است ، اما اندازه گیری
ارتفاع ، فشار و دما با استفاده از تمشک پای با MPL3115A2: 6 مرحله
ارتفاع ، فشار و دما با استفاده از تمشک پای با MPL3115A2: جالب به نظر می رسد. این کاملاً ممکن است در این زمان که همه ما وارد نسل اینترنت اشیا می شویم. به عنوان یک عجیب و غریب الکترونیکی ، ما با Raspberry Pi بازی می کنیم و تصمیم گرفتیم با استفاده از این دانش پروژه های جالبی بسازیم. در این پروژه ما می خواهیم
با استفاده از تمشک پای ، رطوبت و دما را با SI7006: 6 مرحله ارزیابی کنید
با استفاده از Raspberry Pi ، ارزیابی رطوبت و دما با SI7006: از علاقه مندان به Raspberry Pi ، به آزمایشات دیدنی تری با آن فکر کردیم. در این کمپین ، دما و رطوبت مورد نیاز برای کنترل را با استفاده از Raspberry Pi و SI7006 ، حسگر رطوبت و دما
تمشک پای / DHT11 - اندازه گیری رطوبت و دما: 4 مرحله
Raspberry Pi / DHT11 - اندازه گیری رطوبت و دما: من می خواستم دما و رطوبت را با استفاده از Raspberry Pi اندازه گیری کنم. من سنسور DHT11 را انتخاب کردم زیرا قوی و ارزان است. پیکربندی آن نیز به خوبی مستند شده است ، اما تعدادی از مشکلات وجود دارد که می خواهم روی آنها تمرکز کنم. DHT11
برای اندازه گیری دما از خازن ها استفاده کنید: 9 مرحله
از خازن ها برای اندازه گیری دما استفاده کنید: این پروژه به این دلیل به وجود آمد که من یک کیت خازن با خازن های عمدتا X7R (با کیفیت خوب) خریدم ، اما برخی از مقادیر بالاتر 100nF و بالاتر دی الکتریک Y5V ارزان تر و پایدارتر بود ، که تغییرات زیادی را در دما نشان می دهد. و عملیات