آموزش راه اندازی ماژول سنسور دما و رطوبت SI7021 با رابط I2C با آردوینو

فهرست مطالب

ویژگی های ماژول سنسور دما و رطوبت SI7021 با رابط I2C

سنسور دما و رطوبت SI7021 یک آی‌سی CMOS یکپارچه با پروتکل ارتباطی I2C می‌باشد. این سنسور کالیبره می‌باشد و اطلاعات کالیبراسیون آن بر روی یک حافظه غیر فرار بر روی تراشه ذخیره شده‌است. دقت اندازه‌گیری سنسور رطوبت %3 و دقت سنسور دما 4 درجه سانتیگراد  است.
از این سنسور در کاربردهای گوناگون مانند ترموستات و رطوبت‌سنج، تنفس درمانی، ایستگاه‌های هواشناسی، تبلت، موبایل و …. استفاده می‌شود.

  • رنج اندازه گیری رطوبت : 0 تا %100
  • رنج اندازه گیری دما : 40- درجه سانتیگراد  تا 125+ درجه سانتیگراد
  • ولتاژ کاری سنسور: 1.9 ولت تا 3.6 ولت

دیتاشیت سنسور SI7021 را می توانید از اینجا دانلود کنید.

معرفی پایه ها (Pinout) ماژول سنسور دما و رطوبت SI7021 با رابط I2C

ماژول سنسور SHT31 دارای 4 پایه به شرح زیر است:

  • VCC: تغذیه ماژول – 9 تا 3.6 ولت
  • GND: زمین
  • SDA: پایه دیتا پروتکل I2C
  • SCL: پایه کلاک پروتکل I2C

پین اوت (Pinout) این ماژول را می توانید در تصویر زیر مشاهده کنید.

لوازمی که به آن احتیاج دارید

قطعات مورد نیاز

آردوینو UNO R3 × 1
ماژول سنسور دما و رطوبت SI7021 × 1
سیم جامپر نری-مادگی × 1

نرم افزارهای مورد نیاز

آردوینو IDE

راه اندازی ماژول سنسور دما و رطوبت SI7021 با رابط I2C

گام اول: سیم بندی

مطابق مدار زیر، سنسور را به آردوینو وصل کنید.

گام دوم: نصب کتابخانه

مانند شکل زیر، در بخش کتابخانه‌ی آردوینو عبارت SI7021 را سرچ کرده و آن را نصب کنید.

توجه

اگر برای نصب کتابخانه نیاز به راهنمایی بیشتر دارید، به اینجا مراجعه کنید.

گام سوم: کد

کد زیر را روی برد آردوینو آپلود کنید.

/*
  SI7021-Temperature-Humidity-Sensor
  modified on 08 Nov 2020
  by Amir Mohammad Shojaee @ Electropeak
  
Home
Based on Adafruit Si7021-library Example */ #include "Adafruit_Si7021.h" bool enableHeater = false; uint8_t loopCnt = 0; Adafruit_Si7021 sensor = Adafruit_Si7021(); void setup() { Serial.begin(9600); // wait for serial port to open while (!Serial) { delay(10); } Serial.println("Si7021 test!"); if (!sensor.begin()) { Serial.println("Did not find Si7021 sensor!"); while (true) ; } Serial.print("Found model "); switch(sensor.getModel()) { case SI_Engineering_Samples: Serial.print("SI engineering samples"); break; case SI_7013: Serial.print("Si7013"); break; case SI_7020: Serial.print("Si7020"); break; case SI_7021: Serial.print("Si7021"); break; case SI_UNKNOWN: default: Serial.print("Unknown"); } Serial.print(" Rev("); Serial.print(sensor.getRevision()); Serial.print(")"); Serial.print(" Serial #"); Serial.print(sensor.sernum_a, HEX); Serial.println(sensor.sernum_b, HEX); } void loop() { Serial.print("Humidity: "); Serial.print(sensor.readHumidity(), 2); Serial.print("\tTemperature: "); Serial.println(sensor.readTemperature(), 2); delay(1000); // Toggle heater enabled state every 30 seconds // An ~1.8 degC temperature increase can be noted when heater is enabled if (++loopCnt == 30) { enableHeater = !enableHeater; sensor.heater(enableHeater); Serial.print("Heater Enabled State: "); if (sensor.isHeaterEnabled()) Serial.println("ENABLED"); else Serial.println("DISABLED"); loopCnt = 0; } }

این کد دما و رطوبت خوانده شده را در پنجره ی سریال نمایش می‌دهد. پس از فراخوانی کتابخانه مربوطه، بایستی سنسور را نصب و فعال کنیم. در گام بعدی دیتاهای دما و رطوبت ذخیره شده و بر روی Serial Monitor  نمایش داده می‌شود.

خروجی کد به شکل زیر است. دمای محیط 24 درجه سانتی‌گراد و رطوبت 39% است.

آموزش های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد.