آموزش راه اندازی سنسور دما و رطوبت DHT11-DHT22 با آردوینو

آموزش راه اندازی سنسور دما و رطوبت DHT11-DHT22 با آردوینو

حضور شما در این مقاله نشان می‌دهد که قصد راه اندازی سنسور دما و رطوبت DHT11-DHT22 با آردوینو را دارید. به همین دلیل ما همه چیز در مورد این دو سنسور از جمله نحوه عملکرد، تفاوت آن‌ها با یک‌دیگر و البته راه اندازی آن‌ها با آردوینو را به شما آموزش خواهیم داد.

سنسور DHT11 و سنسور DHT22 که ساخت شرکت AOSONG هستند، قیمت بسیار مناسبی دارند. این دو سنسور از قبل کالیبره شده‌اند و به همین دلیل نیازی به قطعات دیگری ندارند. اما این تنها ویژگی منحصر به فرد آن‌ها نیست. شاید بهترین ویژگی این دو سنسور امکان اندازه گیری دما و رطوبت تا یک رقم اعشار یعنی دهم باشد. البته باید بدانید که تنها در هر یک یا دو ثانیه می‌توانید از این سنسور داده بگیرید و این یکی از معایب آن است.

اما با وجود این عیب هم نمی‌توانید قیمت مناسب و عملکرد عالی این دو سنسور را نادیده بگیرید!

سنسور DHT11 با سنسور DHT22 چه تفاوتی دارد؟

از آنجایی که هدف ما در این مقاله این است که راه اندازی سنسور دما و رطوبت DHT11-DHT22 با آردوینو را با هم به شما آموزش دهیم، به همین دلیل بهتر است، با تفاوت‌های این دو سنسور آشنا شوید.

سنسورهای DHTxx دارای دو مدل هستند:

  • DHT11
  • DHT22

این دو مدل تا حدودی شبیه هم به نظر می‌رسند و پایه‌های خروجی یکسانی دارند، اما مشخصات آن‌ها با یک‌دیگر متفاوت است. در اینجا به مشخصات این دو مدل می‌پردازیم:

مدل DHT22 گران‌تر است و با توجه به قیمت گران‌تر آن، مسلما قابلیت‌های بهتری دارد. رنج دمایی این سنسور از 40oC-  تا 125oC+ و دقت آن 0.5oC+- است.

در حالی که رنج دمایی مدل DHT11  از 0oC تا 50oC+ و دقت آن 2oC+- است. به علاوه سنسور DHT22، رنج اندازه‌گیری رطوبت بیشتری دارد. رنج این مدل از 0% تا 100% و دقت آن  2% تا 5% است، در صورتی‌که رنج رطوبت قابل اندازه‌گیری برای سنسور DHT11 از 20% تا 80% و دقت آن 5% می‌باشد. بنابراین سنسور DHT22 علاوه بر رنج دمایی، رنج رطوبت گسترده‌تری دارد.

سنسور DHT22
سنسور DHT11
DHT11 DHT22
ولتاژ عملکرد 3V-5V 3V-5V
ماکزیمم جریان عملکرد 2.5mA 2.5mA
رنج رطوبت 5% / 20-80% 2-5% / 0-100%
رنج دما 0-50°C / ± 2°C -40-80°C / ± 0.5°C
نرخ نمونه برداری (خواندن در هر ثانیه) 1Hz (خواندن در دو ثانیه) 0.5Hz
ابعاد بدنه 15.5mm x 12mm x 5.5mm 15.1mm x 25mm x 7.7mm
مزیت قیمت فوق‌العاده کم دقت بالا

با وجود اینکه سنسور DHT22 دقت بیشتری دارد و در رنج دمایی بیشتری فعالیت می‌کند، اما سنسور DHT11 با سه مزیت خود باعث شده است که از رقیب خود یعنی مدل DHT22 پیشی بگیرد. این سه مزیت عبارت اند از: قیمت کمتر، ابعاد کوچکتر و نرخ نمونه برداری بیشتر. نرخ نمونه برداری سنسور DHT11 برابر با 1Hz است یا به عبارتی در هر ثانیه داده‌ها را می‌خواند. در حالی که نرخ نمونه برداری DHT22 برابر 0.5Hz است، یعنی در هر دو ثانیه داده‌ها توسط این سنسور خوانده می‌شود.  

با این حال، ولتاژ عملکرد هر دو سنسور از 3V تا 5V است. در صورتی‌که ماکزیمم جریان هنگام تبادل اطلاعات 2.5mA است.

اما بهترین ویژگی سنسورهای DHT22-DHT11 امکان تعویض آن‌ها با یک‌دیگر است. یعنی اگر پروژه‌ی خود را با یکی از آن‌ها بسازید، می‌توانید آن را جدا کنید و از مدل دیگری استفاده کنید. البته به یاد داشته باشید کد‌‌ها ممکن است کمی تغییر کند، اما حداقل دیگر نیازی به تغییر سیم‌ها نیست!

نگاهی به سخت افزار سنسور دما و رطوبت DHT11-DHT22

اکنون می‌خواهیم به موضوع جالبی بپردازیم. در اینجا قصد داریم جعبه هر دو سنسور DHT22 و DHT11 را باز کنیم و داخل آن‌ها را بررسی کنیم.

جعبه ها دو تکه‌اند و برای باز کردن لازم است با چاقوی تیز جعبه را برش دهیم. درون جعبه در قسمت حسگر، یک قطعه سنسور رطوبت و یک سنسور دما  NTC ( یا ترمیستور) قرار داده شده است.

ساختار داخلی سنسور دما و رطوبت DHT11-DHT22

قطعه سنسور رطوبت که برای اندازه‌گیری رطوبت مورد استفاده قرار می‌گیرد، دارای دو الکترود در دو طرف یک لایه نگهدارنده رطوبت است که معمولا نمک یا پلیمر پلاستیکی هادی می‌باشد. این لایه با جذب بخار آب، یون آزاد می‌کند که موجب افزایش رسانایی بین الکترودها می‌شود. تغییر مقاومت بین الکترود‌ها متناسب با مقدار رطوبت است. رطوبت نسبی بالاتر، مقاومت بین الکترود‌ها را کاهش می‌دهد. در حالی‌که رطوبت نسبی کمتر، مقاومت بین الکترود‌ها را افزایش می‌دهد.

ساختار داخلی سنسور رطوبت که در آن دو الکترود در دو طرف یک لایه نگهدارنده رطوبت قرار گرفته اند.

در اینجا ساختار داخلی سنسور رطوبت نمایش داده شده است. در این سنسور یک لایه نگهداره رطوبت میان دو الکترود وجود دارد.


همان طور که گفتیم، در این دو سنسور، یک سنسور دما NTC یا ترمیستور نیز برای اندازه گیری دما وجود دارد. ترمیستور، یک مقاومت حرارتی است. یعنی مقاومت آن با دما تغییر می‌کند. به طور کلی، همه مقاومت‌ها نوعی ترمیستور هستند که میزان مقاومت آن‌ها با تغییر دما، کمی تغییر می‌کند. اما این تغییر معمولا بسیار ناچیز است و به سختی می‌توان آن را اندازه گرفت.

اما برخلاف سایر مقاومت ها، ترمیستور‌ها به شکلی ساخته شده‌اند تا با هر درجه تغییر دما، مقدار مقاومت آن‌ها 100 اهم یا حتی بیشتر تغییر کند. عبارت”NTC” مخفف ” Negative Temperature Coefficient” است و به این معنا است که مقدار مقاومت با افزایش دما کاهش می‌یابد!

یک ترمیستور و نمودار تغییر مقدار مقاومت آن با تغییر دما

همان‌طور که در تصویر مشاهده می‌کنید، در این نمودار با تغییر دما، مقدار مقاومت ترمیستور نیز تغییر می‌کند.


در سمت دیگر جعبه، یک برد مدار چاپی یا  PCB کوچک با یک آی‌سی  14 پایه 8 بیتی با پکیج SOIC-14 قرار گرفته است. این آی‌سی، سیگنال آنالوگ را با ضرایب کالیبراسیون ذخیره شده، اندازه گیری و پردازش می‌کند، سیگنال آنالوگ را به دیجیتال تبدیل می‌کند و یک سیگنال دیجیتال از دما و رطوبت اندازه‌گیری را به عنوان خروجی ایجاد می‌کند.

پایه‌های خروجی سنسورهای DHT22DHT11

اتصال سنسورهای DHT22-DHT11 بسیار آسان است. زیرا این سنسورها، همان طور که در تصویر زیر مشاهده می‌کنید، تنها 4 پین دارند:

چهار پین سنسور DHT22 و سنسور DHT11

VCC : این پین، ولتاژ تغذیه سنسور را فراهم می‌کند. اگر چه ولتاژ تغذیه در رنج 3.3V تا 5.5V می‌باشد، اما توصیه شده است که از ولتاژ 5V استفاده شود. در صورتی‌که ولتاژ تغذیه شما 5V است، می‌توانید سنسور را در فاصله 20 متری قرار دهید. اما اگر ولتاژ تغذیه شما 3.3V است، طول کابل نباید بیش از 1 متر باشد. در غیر این صورت ولتاژ افت می‌کند و باعث بروز خطا در اندازه‌گیری می‌شود.

Data : این پین برای برقراری ارتباط سنسور و میکروکنترلر است.

NC : این پین متصل نمی‌شود.

GND : این پین به زمین آردوینو متصل می‌شود.

سیم کشی – راه اندازی سنسور دما و رطوبت DHT11-DHT22 با آردوینو

اکنون که نحوه کار سنسورهای DHT را کاملا متوجه شدید، زمان راه اندازی سنسور دما و رطوبت DHT11-DHT22 با آردوینو است. اگر قطعات مورد نیاز برای این پروژه را تهیه کرده‌اید، راه اندازی را شروع کنید اما اگر هنوز این کار را انجام نداده‌اید، می‌توانید این قطعات را توسط لینک‌های زیر تهیه کنید:

همان‌طور که قبلا به آن اشاره کردیم، اتصال سنسورهای DHT22 و DHT11 به آردوینو آسان است. زیرا فاصله بین پین‌های این سنسورها 0.1 اینچ است و شما به‌راحتی می‌توانید آن‌ها را به هر بردی متصل کنید.

در ابتدا، پین تغذیه سنسور را به ولتاژ 5V و پین زمین را به زمین متصل کنید. پس از آن، پین Data را به یک پین دیجیتال شماره 2 متصل کنید.

علاوه بر این، لازم است که یک مقاومت pull-up برابر 10 کیلو اهمی را بین پین VCC و خط داده قرار دهید تا امپدانس خط بین سنسور و میکروکنترلر برای ارسال و دریافت مناسب در سطح یک منطقی (High) قرار گیرد. اگر می‌خواهید از برد برک اوت (breakout) سنسور استفاده کنید، نیازی به اضافه کردن مقاومت pull-up نیست. زیرا این مقاومت بر روی برد برک اوت قرار دارد.

راه اندازی سنسور دما و رطوبت DHT11

سیم‌کشی سنسور DHT11 به برد آردوینو UNO
راه اندازی سنسور دما و رطوبت DHT22

سیم‌کشی سنسور DHT22 به برد آردوینو UNO


شما با انجام این مراحل، قسمت سخت افزار پروژه را انجام داده اید و اکنون زمان بارگذاری کدها و شروع کار با این سنسور است.

کد آردوینو- چاپ مقادیر بر روی سریال مانیتور

سنسورهای DHT22 و  DHT11 از پروتکل تک‌ سیمه برای انتقال داده استفاده می‌کنند. این پروتکل به زمان‌بندی دقیق نیاز دارد. خوشبختانه لازم نیست در این‌باره خیلی نگران باشید، زیرا قصد داریم از کتابخانه DHT که تقریبا همه چیز را رعایت کرده است، استفاده کنیم.

  • در ابتدا، این کتابخانه را از سایت GitHub repo یا از طریق لینک زیر دانلود کنید:
Title of the document دانلود کتابخانه DHT
  • برای نصب آن، نرم افزار آردوینو را باز کنید و مسیر زیر را طی کنید:

Sketch > includeLibrary  > Add Zip library

  • سپس فایل DHTlib Zip را که قبلا دانلود کرده‌اید، انتخاب کنید. زمانی‌که کتابخانه نصب شد، کد زیر را در نرم افزار آردوینو کپی کنید. کد زیر مقادیر دما و رطوبت نسبی را بر روی سریال مانیتور نشان می‌دهد.
#include <dht.h>
#define dataPin 8 // Defines pin number to which the sensor is connected
dht DHT; // Creats a DHT object

void setup() 
{
	Serial.begin(9600);
}
void loop() 
{
	//Uncomment whatever type you're using!
	int readData = DHT.read22(dataPin); // DHT22/AM2302
	//int readData = DHT.read11(dataPin); // DHT11

	float t = DHT.temperature; // Gets the values of the temperature
	float h = DHT.humidity; // Gets the values of the humidity

	// Printing the results on the serial monitor
	Serial.print("Temperature = ");
	Serial.print(t);
	Serial.print(" ");
	Serial.print((char)176);//shows degrees character
	Serial.print("C | ");
	Serial.print((t * 9.0) / 5.0 + 32.0);//print the temperature in Fahrenheit
	Serial.print(" ");
	Serial.print((char)176);//shows degrees character
	Serial.println("F ");
	Serial.print("Humidity = ");
	Serial.print(h);
	Serial.println(" % ");
	Serial.println("");

	delay(2000); // Delays 2 secods
}


  • پس از اینکه کد را بر روی آردوینو بارگذاری کردید، نرم افزار آردوینو را باز کنید تا خروجی کد را بر روی سریال مانیتور مشاهده کنید.
خروجی کد آردوینو پس از بارگذاری بر روی سریال مانیتور

توضیح کد:

دستورات برنامه با اضافه کردن کتابخانه DHT شروع می‌شود. پس از آن، شما باید شماره پین‌های آردوینو را که سنسور به آن متصل است، تعریف کنید و یک شی DHT بسازید. با این کار می‌توانید به توابع خاص مرتبط با کتابخانه دسترسی داشته باشید.

#include <dht.h>
#define dataPin 8 // Defines pin number to which the sensor is connected
dht DHT; // Creats a DHT object


در تابع setup، ارتباط سریالی را مقداردهی اولیه کنید. زیرا در نهایت از سریال مانیتور برای چاپ کردن نتایج استفاده می‌کنید.

void setup() {
  Serial.begin(9600);
}


در تابع loop، از تابع ()read22 برای خواندن داده از سنسور مدل DHT22 استفاده کنید. این تابع شماره پین داده سنسور را به عنوان یک پارامتر در نظر می‌گیرد. اما اگر با DHT11 کار می‌کنید، لازم است از تابع ()read11 استفاده کنید. شما می‌توانید این کار را با خارج کردن دستورات از حالت کامنت انجام دهید.

//Uncomment whatever type you're using!
int readData = DHT.read22(dataPin); // DHT22/AM2302
//int readData = DHT.read11(dataPin); // DHT11


زمانی‌که مقادیر دما و رطوبت محاسبه شد، می‌توانید به‌وسیله دستورات زیر آن‌ها را بخوانید:

float t = DHT.temperature; // Gets the values of the temperature
float h = DHT.humidity; // Gets the values of the humidity


شی DHT، مقدار دما را بر حسب سلسیوس بر‌می‌گرداند. این مقدار را می‌توانید با استفاده از فرمول ساده زیر به فارنهایت تبدیل کنید:

T(°F) = T(°C) × 9/5 + 32

//print the temperature in Fahrenheit
Serial.print((t * 9.0) / 5.0 + 32.0);


کد آردوینو- اتصال سنسورهای DHT22DHT11 به LCD

ممکن است شما بخواهید سطح رطوبت و دما در یک محفظه مانند گرمکن یا انکوباتور را اندازه‌گیری کنید. به همین دلیل به جای سریال مانیتور، به یک LCD کاراکتــــری 2 × 16 نیاز خواهید داشت تا بتوانید شرایط موجود در این محفظه را نشان دهید. به‌همین خاطر، در این مثال LCD و آردوینو را به سنسور DHT22 یا DHT11 وصل می‌کنیم. برای این کار به قطعات دیگری هم نیاز خواهید داشت، این قطعات عبارتند از:

اگر با LCD کاراکتری 2 × 16 و نحوه عملکرد آن آشنایی ندارید، بهتر است ابتدا مقاله زیر را مطالعه کنید.

معرفی LCD کاراکتری و آموزش راه اندازی آن با آردوینو

معرفی LCD کاراکتری و آموزش راه اندازی آن با آردوینو

در مرحله بعدی باید اتصالات لازم برای ارتباط با LCD را همان‌طور که در تصویر زیر مشاهده می‌کنید، انجام دهید.

اتصال سنسور DHT11  و LCD کاراکتری 2 × 16 به آردوینو

سیم کشی سنسور DHT11 و LCD کاراکتری 2×16 به آردوینو
اتصال سنسور DHT22 و LCD کاراکتری 2 × 16 به آردوینو

سیم کشی سنسور DHT22 و LCD کاراکتری 2×16 به آردوینو


دستورات زیر مقادیر دما و رطوبت نسبی را بر روی LCD کاراکتری 2 × 16نشان می‌دهد. این کد مشابه مثال قبلی است، اما با این تفاوت که در این مثال، خروجی سنسورها را بر روی LCD نمایش داده می‌شود.

#include <LiquidCrystal.h> // includes the LiquidCrystal Library
#include <dht.h>
#define dataPin 8

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7)
dht DHT;
bool showcelciusorfarenheit = false;

void setup() 
{
	lcd.begin(16,2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display
}

void loop() 
{
	int readData = DHT.read22(dataPin);
	float t = DHT.temperature;
	float h = DHT.humidity;
	lcd.setCursor(0,0); // Sets the location at which subsequent text written to the LCD will be displayed
	lcd.print("Temp.: "); // Prints string "Temp." on the LCD

	//Print temperature value in Celcius and Fahrenheit every alternate cycle
	if(showcelciusorfarenheit)
	{
		lcd.print(t); // Prints the temperature value from the sensor
		lcd.print(" ");
		lcd.print((char)223);//shows degrees character
		lcd.print("C");
		showcelciusorfarenheit = false;
	}
	else
	{
		lcd.print((t * 9.0) / 5.0 + 32.0); // print the temperature in Fahrenheit
		lcd.print(" ");
		lcd.print((char)223);//shows degrees character
		lcd.print("F");
		showcelciusorfarenheit = true;
	}
	
	lcd.setCursor(0,1);
	lcd.print("Humi.: ");
	lcd.print(h);
	lcd.print(" %");
	delay(5000);
}


مقادیر دما و رطوبت بر روی LCD

همان طور که مشاهده می‌کنید، با اجرای دستورات بالا، خروجی دما و رطوبت را بر روی LCD دریافت خواهید کرد.

کلام آخر

در این مقاله یاد گرفتید که:

  • سنسور دما و رطوبت دارای دو مدل DHT22 و DHT11 است که هر کدام مزایای منحصر به فردی دارد.
  • با کمی تغییر در کد‌ها می‌توانید سنسور DHT22 و DHT11 را به جای هم در پروژه خود استفاده کنید.
  • راه اندازی سنسور دما و رطوبت DHT11-DHT22 با آردوینو با توجه به مراحلی که با هم در این مقاله طی کردیم، آسان است.  

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

مقالات مشابه

۳۲ دیدگاه. Leave new

  • فاطمه جعفری
    تیر ۱۴, ۱۴۰۰ ۰۷:۲۳

    ممنون از مقاله خوبتون
    اگه بخوایم این سنسور تو دمای بالاتر از ۵۰ درجه هشدار بده چه کدی باید اضافه شه؟

    پاسخ
    • سلام فاطمه عزیز،
      خوشحالیم که مقاله مورد پسندت بوده.
      در مورد سوالی که پرسیدی باید اول یک بازر ۵ ولت به پایه مثلا ۱۱ متصل کنی و بعد موارد زیر رو به کدت اضافه کنی:
      قبل از تابع ()void setup باید پایه ۱۱ را خروجی کنی. برای این کار، قبل از تابع، کد ;(pinMode(11,OUTPUT را اضافه می‌کنی و
      بعد از اون، در دستور IF کد های زیر را اضافه می‌کنی:
      ;if(t>۵۰) digitalWrite(11,HIGH)
      ;else digitalWrite(11,LOW)
      بعد از انجام این کارا، هر وقت دما به بالای ۵۰ درجه برسه، پایه ۱۱، یک میشه و بازر هشدار میده.

      پاسخ
  • سلام یه سوال دارم از خدمتتون
    چرا با اینکه یه پایه از dht11 یا dht22 اصلا استفاده نمیشه و کاربردی نداره ولی بازم میذارن باشه؟؟

    پاسخ
    • سلام فرنوش عزیز، مرسی از سوالی که پرسیدی
      معمولا به دلیل استحکام بیشتر پایه رو نگه می دارن

      پاسخ
  • سلام وقت بخیر
    مرسی از آموزش عالیتون
    میخواستم بدونم اگر بخوایم خروجی بجای اینکه روی lcd چاپ بشه
    ارسال بشه به گوشی یا به یک اپلیکیشن
    چه کدی باید بنویسیم؟
    ممنون

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

      پاسخ
  • سلام،ببخشید کد ها به چه زبانی نوشته شده؟

    پاسخ
  • سلام.تشکر از آموزش خوبتان.من اين پروژه را انجام دادم ولي خطاي زير را داد به نظر شما مشکل از کجا است؟

    error compiling for arduino/genuino uno.

    پاسخ
    • سلام به شما، خوشحالیم که دوس داشتی،
      این ارور می‌تونه دلایل بسیاری داشته باشه، یکی از شایع‌ترین دلایل، مشکل در نصب کتابخانه‌هاست.
      این مورد را بررسی کن. در صورتی که همچنان مشکل وجود داشت، متن ارور را به صورت کامل برامون بفرست.

      پاسخ
  • سلام می شه با این سنسور دستگاه جوجه کشی ساخت؟

    پاسخ
    • سلام و درود به شما،
      بله، از این سنسور توی ساخت دستگاه جوجه‌کشی هم استفاده میشه.

      پاسخ
  • سلام ممنونم از پروژه خوبتان ، تست کردم و جواب گرفتم فقط اگه بخواهیم خروجی دما رو در یک درجه تعریف شده به موبایل ارسال کنیم باید چیکار کنیم؟

    پاسخ
  • محمد روحی
    مهر ۵, ۱۴۰۱ ۰۵:۱۳

    با سلام. حداکثر طول سیم رابط بین آردوینو و سنسور dht22 چقدر است؟

    پاسخ
    • سلام محمد عزیز،
      داخل مقاله توضیح داده شده. البته جنس و کیفیت سیم، نحوه سیم کشی و محیط استفاده هم خیلی تاثیرگذاره.

      پاسخ
  • سلام خیلی خیلی ممنون از پروژه ی خوبتون اگر می شود یک پروژه هم در مورد ارتباط آردوینو با سنسور اثر انگشت قرار دهید ممنون

    پاسخ
    • سلام علی عزیز،
      خواهش می‌کنم، ایشالا در آینده به این موضوع هم می‌پردازیم.

      پاسخ
  • عالی بود من رشتم مدیریته و هیچ سر رشته ای از کد و … ندارم پروژه ی خانومم این ماژول بود و برای سرگرمی خودم امتحانش کردم تونستم وصل کنم کد بزنم و راش بندازم روی ماژول DHT11 و تونستن بندازم روی LCD

    پاسخ
  • سلام ببخشید من اگه بخوام مثلا در دمای ۳۰درجه یک رله را فعال کنه باید چه کدی اضافه کنم ؟

    پاسخ
  • سلام وقتتون بخیر
    اگر بخواهیم ب غیر از دما و رطوبت اختلاف فشار هم همزمان اندازه گیری و روی ال سی دی نمایش داده بشه باید چکار کرد؟

    پاسخ
    • سلام و درود بر شما دوست عزیز
      پیشنهاد ما برای شما مطالعه‌ی آموزش راه‌ اندازی سنسور BME280 با آردوینو است.
      سپاس از همراهی شما 🙂

      پاسخ
      • سلام وقت بخیر من اگر بخام بیشترین میزان و کمترین میزان دما رو بدست بیارم باید چیکار کنم

        پاسخ
        • سلام و درود برشما فهیمه عزیز
          شما اول دو تا متغیر تعریف می‌کنید به نام‌های max_temp و min_temp. در هربار خواندن دما، اگر دمای خوانده شده بیشتر از max_temp بود، مقدار این متغیر رو با دمای جدید جایگزین می‌کنید و اگر دما کمتر از min_temp بود، همین متغیر رو آپدیت می‌کنید. (طبیعتاً آشنایی اولیه با زبان برنامه نویسی C لازمه انجام این تغییرات هست)
          سپاس از همراهی بی‌نظیر شما 🙂

          پاسخ
  • مهدی کیانی
    آذر ۲۷, ۱۴۰۲ ۱۹:۱۹

    سلام من موقع اجرا ارور زیر رو دریافت میکنم. ممنون میشم راهنمایی فرمایید
    Sketch uses 4416 bytes (13%) of program storage space. Maximum is 32256 bytes.
    Global variables use 155 bytes (7%) of dynamic memory, leaving 1893 bytes for local variables. Maximum is 2048 bytes.

    پاسخ
    • سلام وقت بخیر
      متنی که نوشته‌اید ارور نیست و بیانگر کامپایل شدن صحیح برنامه است. پس از اتصال آردوینو به کامپیوتر و انتخاب برد و پورت در برنامه، روی دکمه آپلود (دکمه‌ای که لوگوی فلش دارد) بزنید تا برد شما پروگرم شود.

      پاسخ
  • سلام ببخشید من همه مراحل رو به درسی میرم اما مقدار رطوبت و دما رو در هر دو کد(هم روی سریال مانیتور و هم روی ال سی دی) صفر نشون میده آیا سنسورم سوخته است ؟

    پاسخ
    • درود بر شما
      کدهای نمونه دیگری را هم امتحان کنید مثل exampleهای خود کتابخانه. همچنین در مواردی با استفاده از کتابخانه Adafruit_DHT_Particle.h به جای Adafruit_DHT.h ارتباط با برخی سنسورها به درستی انجام می‌شود.

      پاسخ
  • سلام خیلی ممنونم از مقاله کامل و دقیقتون . اما اگر بخوام یه سیستم بسازم که در صورتی که دما در بازه ای مشخصی پایینتر رفت هیتر روشن کنه و اگر بالا تر رفت فن روشن کنه و اگر رطوبت کمتر از یک حدی شد دوشک روشن کنه چکار باید بکنم

    پاسخ
    • درود بر شما دوست عزیز
      لطفاً مشخص کنید سوالتون در زمینه کد نویسی است یا طراحی سیستم و انتخاب قطعات و با جزئیات مطرح بفرمایید که دقیقاً چه قسمتی از پروژه رو ابهام دارید تا راهنماییتون کنیم. 🙂

      پاسخ

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Fill out this field
Fill out this field
لطفاً یک نشانی ایمیل معتبر بنویسید.
You need to agree with the terms to proceed

پر بازدید ترین مقالات