برد آردوینو نانو ۳۳ Sense قابلیت های بسیار زیادی دارد. سنسورهای پرکاربرد این برد آن را به انتخاب اول پروژههای زیادی تبدیل کرده است. پنجمین بخش از سری آموزش های برد آردوینو نانو Arduino Nano 33 Sense بررسی یکی از کاربردی ترین سنسورهای امبدد برد است. سنسور فشار سنج LPS22HB سنسور بارومتر با خروجی دیجیتال است. در این آموزش به معرفی این سنسور و راه اندازی این سنسور خواهیم پرداخت. در ادامه راه اندازی سنسور LPS22HB با مرجع تخصصی آردوینو نانو به زبان فارسی، دیجی اسپارک همراه باشید.
سنسور LPS22HB فشارسنج
سنسور فشار سنج با تراشه LPS22HB سنسور بارومتر با خروجی دیجیتال با رنج اندازه گیری فشار بین ۲۶۰-۱۲۶۰ hPa است. از این سنسور برای تشخیص ارتفاع و فشار برای استفاده در ساخت دیوایس ها استفاده میشود. در ساخت اپلیکیشن هایی که با GPS کار میکنند از این سنسور استفاده میشود. برای ساخت تجهیزات ایستگاه هواشناسی و ساخت ساعت های هوشمند از این سنسور به کار برده شده است. این سنسور از از یک آیسی تشکیل شده که با پروتکل ارتباطی I2C, SPI کار میکند.
- رنح اندازه گیری فشار ۲۶۰ – ۱۲۶۰ hPa
- مصرف جریان بسیار کم تا حدود ۳ μA
- قابلیت فشار بیش از حد: ۲۰ برابر در مقیاس کامل
- خروجی دیتای فشار ۲۴ بیتی
- خروجی دیتای دما ۱۶ بیتی
- ODR از یک هرتز تا ۷۵ هرتز
- دارای رابط ارتباطی I2C, SPI
نصب کتابخانه LPS22HB
برای استفاده از این سنسور بایستی کتابخانه Arduino_LPS22HB را نصب کنید. برای نصب کتابخانه از مسیر زیر اقدام کنید.
#include <Arduino_LPS22HB.h> //فراخوانی کتابخانه
با نمایش پیغام INSTALLED کتابخانه نصب شده و آماده ی به کار است.
راه اندازی فشارسنج و دماسنج LPS22HB
سنسور LPS22HB قابلیت تشخیص فشار و دما را دارد. برای راه اندازی این قابلیت از کدنویسی و استفاده از توابع مورد نیاز برای فراخوانی آن استفاده میکنیم. برای کدنویسی از نرم افزار آردوینو استفاده میکنیم. آن را انتخاب و کد را کپی و به نرم افزار انتقال دهید.
//LPS22HB - Read Pressure #include <Arduino_LPS22HB.h> //فراخوانی کتابخانه void setup() { Serial.begin(9600); while (!Serial); if (!BARO.begin()) { // در صورت عدم شناسایی سنسور پیغام زیر ارسال شود Serial.println("Failed to initialize pressure sensor!"); while (1); } } void loop() { // خواندن دیتای سنسور float pressure = BARO.readPressure(); // چاپ دیتا Serial.print("Pressure = "); Serial.print(pressure); Serial.println(" kPa"); float temperature = BARO.readTemperature(); //خواندن دما از سنسور // چاپ دیتای دما Serial.print("Temperature = "); Serial.print(temperature); Serial.println(" C"); Serial.println(); //تاخیر یک ثانیه ای delay(1000); }
کد را کپی و به نرم افزار آردوینو انتقال دهید.
تحلیل کد آردوینو فشارسنج و دماسنج LPS22HB
در قدم اول برای فراخوانی سنسور نیاز به استفاده از کتابخانه آن داریم. کتابخانه به روش زیر در کدها فراخوانی شده است.
#include <Arduino_LPS22HB.h> //فراخوانی کتابخانه
در مرحله ی بعد مشخص میکنیم که در صورت قطع ارتباط با سنسور چه پیغامی برای ما ارسال شود.
void setup() { Serial.begin(9600); while (!Serial); if (!BARO.begin()) { // در صورت عدم شناسایی سنسور پیغام زیر ارسال شود Serial.println("Failed to initialize pressure sensor!"); while (1); } }
توسط تابع زیر دیتای فشار از سنسور LPS22HB خوانده شده و در یک متغیر با نوع دیتای FLOAT اعشاری ذخیره میشود.
// خواندن دیتای سنسور float pressure = BARO.readPressure();
برای مشاهده عددی دیتای سنسور از تابع PRINT برای چاپ دیتا استفاده میکنیم.
// چاپ دیتا Serial.print("Pressure = "); Serial.print(pressure); Serial.println(" kPa");
توسط تابع زیر دیتای دما از سنسور LPS22HB خوانده شده و در یک متغیر با نوع دیتای FLOAT اعشاری ذخیره میشود.
float temperature = BARO.readTemperature(); //خواندن دما از سنسور
برای مشاهده عددی دیتای سنسور از تابع PRINT برای چاپ دیتا استفاده میکنیم.
// چاپ دیتای دما Serial.print("Temperature = "); Serial.print(temperature); Serial.println(" C");
در نهایت هر دو دیتا با تاخیر یک ثانیه ای بر روی سریال مانیتور در نرم افزار آردوینو چاپ میشود.
همچنین از سریال پلاتر هم میتوانید استفاده کنید.
جمع بندی لیدی پای
سنسور LPS22HB از سنسورهای امبدد برد آردوینو مدل NANO 33 SENSE است. به تنهایی میتواند چندین ماهیت مختلف را تشخیص دهد. از قابلیت های این سنسور تشخیص دما و تشخیص فشار هوا است که در این آموزش هر کدام جداگانه آموزش داده شده است. کد آردوینو هر بخش به صورت جداگانه در آموزش قرار گرفته شده است. از سنسورهایی که کاربرد ویژه ای در اجرای پروژه های اینترنت اشیا دارد.
وسایل مورد نیاز
چنانچه در مراحل راه اندازی برد ARDUINO NANO 33 SENSE BLE و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
سلام و خسته نباشید
چقدر خوبه کدها رو تحلیل میکنید
دم شما گرم
با سلام
سپاس از همراهی شما کاربر گرامی
امیدوارم مفید واقع شده باشد.
سلام
در صورت استفاده از این برد آیا شرایط استفاده از تمامی سنسورها در لحظه است/.
با سلام
بله میتوانید با فراخوانی کتابخانه ها از این قابلیت استفاده کنید.
سلام میشه داده ها روی پلتفرم هم ارسال کرد ؟
با سلام
بله میتوانید از هر پلتفرمی مانند Arduino IOT Cloud برای ارسال داده استفاده کیند. در این خصوص آموزش های پلتفرم Arduino iot cloud را مشاهده کنید.