آردوینو آردوینو نانو Nano

آموزش راه اندازی برد آردوینو Nano 33 بخش دوم: سنسور دما رطوبت HTS221

getting-started-with-arduino-nano33-sense-ble-part-two-hts221-digispark
نوشته شده توسط پریسا پوربلورچیان

برد آردوینو نانو ARDUINO NANO 33 SENSE BLE از مجموع چندین سنسور امبدد داخلی تشکیل شده است که هر کدام یکی از بهترین و دقیق ترین سنسورهای اندازه گیری پارامترهای محیطی هستند. در بخش دوم از سری آموزش های آردوینو نانو به معرفی سنسور امبدد HTS221 دما رطوبت و راه اندازی آن خواهیم پرداخت. در ادامه بامرجع تخصصی آردوینو نانو به زبان فارسی، دیجی اسپارک همراه باشید.

سنسور دما رطوبت HTS221 در برد آردوینو نانو nano33 - دیجی اسپارک

 


سنسور دما رطوبت HTS221


سنسور دما رطوبت HTS221 با ابعاد ۲X2X0.9 میلی متری یکی از سنسورهای بسیار دقیق برای اندازه گیری وضعیت هوا  AIR CONDITIONING، گرمایش HEATING، تهویه ventilation استفاده می‌شود. از این سنسور در ساخت طراحی یخچال فریز، دستگاه های پوشیدنی، اتوماسیون خانه هوشمند، اتوماسیون صنعتی، تجهیزات تنفسی استفاده می‌شود. سنسور HTS221 یک سنسور فوق فشرده برای اندازه گیری دما و رطوبت است. سنسور دارای یک المنت حسگر و سیگنال ASIC برای ارائه ی دیتای دیجیتال دریافتی است.  عنصر حسگر به کار رفته در سنسور  از یک پلیمر تشکیل شده است که ساختار خازن مسطح دی الکتریک قادر به تشخیص تغییرات رطوبت نسبی خواهد بود. رنج اندازه گیری رطوبت نسبی صفر تا صد درصد است. ولتاژ کاری سنسور از  ۱٫۷ ولت تا ۳٫۶ ولت است. حساسیت رطوبت بسیار دقیق و در حدود ۰٫۰۰۴% rH/LSB  است. دقت اندازه گیری رطوبت ± ۳٫۵% rH, 20 to +80% rH است. دقت اندازه گیری دما ± ۰٫۵ °C,15 to +40 °C است. در ساختار سنسور از یک ADC امبدد ۱۶ بیتی تشکیل شده است. خروجی سنسور به صورت I2C , SPI است. کالیبره شده است.

سنسور دما رطوبت HTS221 - دیجی اسپارک

 

سنسور داخلی رطوبت مشخص می‌کند که محیطی که در آن هستیم، خشک یا مرطوب است و به همین دلیل اهمیت دقت اندازه گیری برای ما مشخص می‌شود. برد آردوینو با به کارگیری سنسور HTS221 اندازه گیری پارامترهای محیطی را برای ما آسان کرده است. این سنسور همچنین قابلیت اندازه گیری دما بین  – ۴۰ تا  + ۱۲۰ با رزولوشن ۰٫۰۱۶°C و دقت ±۰٫۵ °C دارد. این سنسور ۲ میلی متری با استفاده از رابط I2C با میکروکنترلرها ارتباط برقرار می‌کند.

 

محل قرارگیری سنسور دما رطوبت HTS221 در nano33 - دیجی اسپارک

 


راه اندازی HTS221 با آردوینو NANO 33


به تصویر زیر نگاه کنید. سنسور HTS221 بر روی برد آردوینو NANO 33 SENSE BLE مشخص شده است.

راه اندازی سنسور دما رطوبت HTS221 نانو33 - دیجی اسپارک

 

برای راه اندازی سنسور HTS221 در نرم افزار آردوینو ARDUINO IDE در ابتدا بایستی کتابخانه سنسور را نصب کنید. برای نصب کتابخانه عبارت Arduino_HTS221 را در مسیر نصب کتابخانه ها تایپ و فیلتر کنید.

نصب کتابخانه دما رطوبت HTS221 در آردوینو - دیجی اسپارک

 

در قدم بعدی نوع برد را ARDUINO NANO 33 SENSE BLE انتخاب می‌کنیم.

انتخاب برد arduino nano33 - دیجی اسپارک

 

سپس برد را به سیستم وصل کرده و پورت را مشخص کنید.

انتخاب پورت در نرم افزار آردوینو IDE - دیجی اسپارک

 


کد آردوینو سنسور دما رطوبت NANO 33 SENSE BLE


در این بخش میخواهیم سنسور HTS221 را تست کنیم. در بخش قبل کتابخانه سنسور را نصب کردیم. کد برنامه به صورت زیر است. آن را کپی و به نرم افزار آردوینو انتقال دهید. این برنامه دیتای دما و رطوبت را از سنسور داخلی HTS221 برد خوانده و سپس بر روی سریال مانیتور نمایش میدهد.

#include <Arduino_HTS221.h> //فراخوانی کتابخانه

void setup() {
  Serial.begin(9600); //فراخوانی سریال مانیتور 
 // با شرط WHILE بررسی میکنی اگر ارتباط سنسور برقرار نباشد و دیتا ارسال نشود با پیغام FAILD مشخص کند.
  
  while (!Serial);

  if (!HTS.begin()) {
    Serial.println("Failed");
    while (1);
  }
}

void loop() {

  float temperature = HTS.readTemperature(); //خواندن دیتای دما از سنسور
  float humidity    = HTS.readHumidity(); // خواندن دیتای رطوبت از سنسور
 // نمایش دیتا در سریال مانیتور
  Serial.print("Temperature = "); 
  Serial.print(temperature);
  Serial.println(" °C");

  Serial.print("Humidity    = ");
  Serial.print(humidity);
  Serial.println(" %");
  Serial.println();
  delay(1000);
}

 

 

نتیجه در سریال مانیتور همانند تصویر است که هر یک ثانیه یک بار دیتای جدید دریافتی از محیط نمایش داده می‌شود. با دو رنگ مختلف دیتا نمایش داده شده است.

 


تحلیل کد آردوینو Nano33


  •  در قدم اول کتابخانه را فراخوانی می‌کنیم.
#include <Arduino_HTS221.h> //فراخوانی کتابخانه

 

  • در مرحله دوم تابع SET UP اولیه را مینویسیم. در این تابع سریال مانیتور فراخوانی و توسط WHILE شرط عدم برقراری ارتباط سنسور را مینویسم که اگر نبود با پیغام FAILED به ما هشدار دهد.
void setup() {
  Serial.begin(9600); //فراخوانی سریال مانیتور 
 // با شرط WHILE بررسی میکنی اگر ارتباط سنسور برقرار نباشد و دیتا ارسال نشود با پیغام FAILD مشخص کند.
  
  while (!Serial);

  if (!HTS.begin()) {
    Serial.println("Failed");
    while (1);
  }
}

 

  • در مرحله سوم حلقه تکرار برنامه را مینویسیم. دو تابع مهم نیاز داریم. یکی از کلاس ها برای خواندن دیتای دما از سنسور HTS221 و کلاس دیگر برای خواندن دیتای رطوبت است. اگر بخواهیم دیتا را به صورت اعشاری دریافت کنید، از دیتا تایپ FLOAT استفاده کنید. در غیر اینصورت از INT استفاده کنید. دو اسم دلخواه برای ذخیره دیتای دریافتی از سنسور یکی برای رطوبت و یکی برای دما انتخاب کنید.
float temperature = HTS.readTemperature(); //خواندن دیتای دما از سنسور
  float humidity    = HTS.readHumidity(); // خواندن دیتای رطوبت از سنسور

 

  • در مرحله ی نهایی از توابع سریال مانیتور برای نمایش دیتا استفاده می‌کنیم.
Serial.print("Temperature = "); 
  Serial.print(temperature);
  Serial.println(" °C");

  Serial.print("Humidity    = ");
  Serial.print(humidity);
  Serial.println(" %");
  Serial.println();

 

به همین ترتیب در خروجی سریال مانیتور دما رطویت از محیط اطراف هر یک ثانیه یکبار خوانده شده و نمایش داده می‌شود. بازه زمانی را توسط تابع DELAY در برنامه میتوانید تغییر دهید.

خروجی سریال مانتیور در سنسور دما رطوبت HTS221 نانو 33 - دیجی اسپارک

 


وسایل مورد نیاز


برد آردوینو ARDUINO NANO 33 SENSE BLE

 


جمع بندی لیدی پای


در بخش دوم از سری آموزش های راه انداز برد آردوینو مدل ARDUINO NANO 33 SENSE BLE سنسور دما رطوبت داخلی امبدد را با هم تست کردیم. در این آموزش دیتا از سنسور خوانده شده و سپس تفکیک شده بر روی سریال مانیتور نمایش میدهیم. به راحتی میتوانید از تمامی کتابخانه های نمایشگرهای مختلف برای این برد هم استفاده کنید و دیتا را بر روی نمایشگر LCD  و یا نمایشگر OLED نمایش دهید. سنسور HTS221 یکی از سنسورهای بسیار دقیق محیطی با قابلیت اندازه گیری دما و رطوبت به صورت همزمان است که در ساخت برد نانو ۳۳ نقش داشته است. از این سنسور برای پروژه های متعددی مانند مدیریت دما و رطوبت منزل، دفاتر اداری ، کارگاه ها و اتاق ها میتوان استفاده کرد و بی نیاز از کابل و اتصالات اضافی میتوان دیتای بسیار دقیقی را دریافت و مانیتورینگ کرد.

 

چنانچه در مراحل راه اندازی برد رزبری پای پیکو Picro و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

درباره نویسنده

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۷ دیدگاه