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

فهرست مطالب

ویژگی‌های ماژول سنسور دما و رطوبت SHT31

ماژول سنسور دما و رطوبت SHT31 یک ماژول بسیار دقیق و با سرعت پاسخ بسیار بالاست. این ماژول توانایی اندازه گیری دما را در محدوده وسیع 40 تا 90+ درجه سلیسیوس و با دقت 0.3 درجه سلیسوس دارد. همچنین رطوبت هوا را در محدوده 0 تا %100 و با دقت %2 محاسبه می‌کند. پروتکل ارتباطی این ماژول نیز I2C است که می تواند تا فرکانس 1Mhz اطلاعات را انتقال دهد. همچنین این ماژول یک پایه آدرس نیز دارد که با آن می‌توان آدرس پروتکل I2C را تنظیم نمود.

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

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

  • GND: زمین
  • VCC: تغذیه ماژول – 5 ولت
  • SCL: پایه کلاک برای پروتکل I2C
  • SDA: پایه دیتا برای پروتکل I2C
  • RST: پایه ریست
  • ADD: پایه تنظیم آدرس برای پروتکل I2C (در حالت LOW بودن این پایه، آدرس 0x44 و در حالت HIGH، آدرس 0x45 خواهد بود.)

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

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

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

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

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

آردوینو IDE

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

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

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

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

به Library manager رفته و کتابخانه Adafruit SHT31 Library را نصب کنید.

توجه

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

گام سوم: کد

کد زیر را روی برد آردوینو آپلود کنید. پس از آپلود کد، پنجره Serial Monitor را باز کنید.

   /*
modified on Dec 30, 2020
Modified by MehranMaleki from Arduino Examples
Home
*/ #include <Arduino.h> #include <Wire.h> #include "Adafruit_SHT31.h" Adafruit_SHT31 sht31 = Adafruit_SHT31(); void setup() { Serial.begin(9600); while (!Serial) delay(10); // will pause Zero, Leonardo, etc until serial console opens Serial.println("SHT31 test"); //Set to 0x45 for alternate i2c addr if (! sht31.begin(0x44)) { Serial.println("Couldn't find SHT31"); while (1) delay(1); } } void loop() { float t = sht31.readTemperature(); float h = sht31.readHumidity(); // check if 'is not a number' if (! isnan(t)) { Serial.print("Temperature = "); Serial.print(t); Serial.print("*C"); Serial.print("\t\t"); } else { Serial.println("Failed to read temperature"); } // check if 'is not a number' if (! isnan(h)) { Serial.print("Humidity = %"); Serial.println(h); } else { Serial.println("Failed to read humidity"); } delay(1000); }

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

خروجی کد به شکل زیر است.

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

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

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