صفر تا صد سنسور دما و رطوبت (DHT11)

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

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

 

سنسور DHT11 چیست؟

DHT11 یک سنسور رطوبت و دما است که خروجی دیجیتال کالیبره شده تولید می‌کند. DHT11 را می‌توان با هر پلتفرمی مانند Arduino،‌ raspberry pi و ... ارتباط داد و نتایج فوری به‌دست آورد. DHT11 یک سنسور دما و رطوبت کم‌هزینه است که قابلیت اطمینان بالا و پایداری طولانی مدت را فراهم می‌کند. این قطعه به دو صورت سنسور و ماژول در دسترس است. تفاوت سنسور و ماژول آن تنها در مقاومت کششی و LED است. برای اندازه‌گیری توسط این سنسور، از یک ترمیستور و یک سنسور رطوبت خازنی استفاده شده‌است.

 

اصل کار سنسور DHT11

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

 

ویژگی‌های سنسور DHT11

·         دامنه‌ی دمای سنسور DHT11 از ۰ تا ۵۰ درجه‌ی سانتی‌گراد با دقت ۲ درجه است.

·         دامنه‌ی رطوبت این سنسور از ۲۰ تا ۸۰٪ با دقت ۵٪ است.

·         تعداد نمونه‌ها در هر سیگنال (تعداد دفعات نمونه‌برداری از سیگنال در واحد زمان) برای این سنسور ۱ هرتز است. به این معنا که در هر ثانیه، یک نمونه‌برداری اتفاق می‌افتد.

·         ولتاژ بهره‌برداری سنسور DHT11،‌ ۳ تا ۵ ولت و حداکثر جریان مصرفی آن هنگام اندازه‌گیری، ۵/۲ میلی‌آمپر است.

DHT11

·         این سنسور دما و رطوبت را با دقت یک رقم اعشار اندازه‌گیری می‌کند که در مقایسه با موارد مشابه دقت بالایی است.

·         اندازه‌ی این سنسور  ۵. ۵ × ۱۲ × ۱۵.۵ میلی‌متر است.

·         همچنین این سنسور یکی از کم‌هزینه‌ترین سنسورهاست.

اندازه‌ی کوچک و میزان نمونه‌گیری، این حسگر را در بین علاقه‌مندان محبوب کرده‌است. برخی از سنسورهایی که می‌توانند به‌عنوان جایگزین سنسور DHT11 استفاده شوند، DHT22،‌ AM2302 و SHT71 هستند. کدام یک از مشخصات سنسور DHT11 برای کار و پروژه‌ی شما مفید بود؟!

 

کاربرد سنسور DHT11

·         این سنسور در کاربردهای مختلف مانند اندازه‌گیری مقادیر رطوبت و دما در سیستم‌های گرمایشی، تهویه‌ی هوا و ... مورد استفاده قرار می‌گیرد.

·         ایستگاه‌های هواشناسی نیز از این سنسورها برای پیش‌بینی شرایط آب‌وهوایی استفاده می‌کنند.

·         سنسور رطوبت به عنوان یک اقدام پیش‌گیرانه در خانه‌هایی که افراد تحت تأثیر رطوبت قرار دارند، استفاده می‌شود.

·         دفاتر،‌ اتومبیل‌ها،‌ موزه‌ها،‌ گلخانه‌ها و صنایع از این سنسور برای اندازه‌گیری مقادیر رطوبت و به‌عنوان معیار ایمنی استفاده می‌کنند.

 

بررسی اجمالی سخت‌افزار

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

DHT11 hardware

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

Internal Structure of Humidity Sensor

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

عبارت NCT که در بالا برای ترمیستورها به‌کار برده شد، به‌معنی ضریب دمای منفی است به این معنا که مقاومت آن با افزایش دما کاهش می‌یابد.

NTC Thermistor with Characteristic Curve

 

پایه‌های سنسور DHT11

اتصال سنسور DHT11 نسبتاً آسان است. این سنسور چهار پایه دارد:

·         پین VCC برق سنسور را تأمین می‌کند. اگرچه ولتاژ منبع تغذیه از ۳.۳ ولت تا ۵.۵ ولت است اما منبع تغذیه‌ی ۵ ولت توصیه می‌شود. اگر از منبع ۵ ولت استفاده کنید، طول کابل می‌تواند تا ۲۰ متر باشد. در‌صورت استفاده از منبع ۳.۳ ولت، طول کابل نهایتاً باید ۱ متر باشد. در غیر این صورت، افت ولتاژ خط منجر به خطاهای اندازه‌گیری خواهدشد.

·         Data pin برای ارتباط بین حسگر و میکروکنترلر استفاده می‌شود.

·         پین NC متصل نیست.

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

این سنسور همچنین دارای یک مقاومت کششی ۵ تا ۱۰ کیلو اهمی برای ارتباط بین سنسور و میکروکنترلر است.

DHT11 PINOUT

 

پروژه‌ی راه‌اندازی سنسور DHT11

حال شروع به راه‌اندازی سنسور DHT11 بابرد آردوینو nano  خواهیم کرد. در ابتدا فقط مقدار دما و رطوبت را در سریال مانیتور نشان دهید. در ابتدای راه‌اندازی باید کتابخانه DHT11  را در نرم افزار آردوینو نصب کرد.

برای دانلود فایل zip  کتابخانه DHT11  اینجا کلیک کنید.

 

شماتیک مدار

Schematic of DHT11 startup circuit with Arduino NANO

 

اتصالات

آردوینو

Dht11

۵ ولت

Vcc

GND

GND

پین ۲

Data with pull-up resistor

 

 

کد مدار

#include "DHT.h"

#define DHTPIN 2     // Digital pin connected to the DHT sensor

// Feather HUZZAH ESP8266 note: use pins 3, 4, 5, 12, 13 or 14 --

// Pin 15 can work but DHT must be disconnected during program upload.

// Uncomment whatever type you're using!

#define DHTTYPE DHT11   // DHT 11

//#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321

//#define DHTTYPE DHT21   // DHT 21 (AM2301)

// Connect pin 1 (on the left) of the sensor to +5V

// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1

// to 3.3V instead of 5V!

// Connect pin 2 of the sensor to whatever your DHTPIN is

// Connect pin 4 (on the right) of the sensor to GROUND

// Connect a resistor from pin 2 (data) to pin 1 (power) of the sensor

// Initialize DHT sensor.

// Note that older versions of this library took an optional third parameter to

// tweak the timings for faster processors.  This parameter is no longer needed

// as the current DHT reading algorithm adjusts itself to work on faster procs.

DHT dht(DHTPIN, DHTTYPE);

void setup() {

  Serial.begin(9600);

  Serial.println(F("DHT11 test!"));

  dht.begin();

}

void loop() {

  // Wait 2 few seconds between measurements.

  delay(2000);

  // Reading temperature or humidity takes about 250 milliseconds!

  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)

  int h = dht.readHumidity();

  // Read temperature as Celsius (the default)

  int t = dht.readTemperature();

  Serial.print("Humidity: ");

  Serial.print(h);

  Serial.print("%  Temperature: ");

  Serial.print(t);

  Serial.println(" 'C ");

}

در آخر پست می‌توانید نحوه نمایش دما و رطوبت خوانده شده با سنسور DHT11 را روی lcd I2C 2*16  مشاهده کنید.

 

Lcd i2c

در این بخش می‌خواهیم به آموزش راه‌اندازی lcd i2c 2*16 بپردازیم. برای راه اندازی lcd i2c در ابتدا باید بدانیم که پروتکل i2c چیست و چگونه کار می‌کند!

 

پروتکل I2C (inter-integrated-circuit)

دقت کنید که در این آموزش فقط به مفاهیم اولیه پروتکل I2C می‌پردازیم و در پست دیگری به صورت کامل و اختصاصی به بررسی کامل این پروتکل خواهیم پرداخت. I2C یک پروتکل ارتباط سریال می‌باشد که در آن داده‌ها به صورت بیت به بیت توسط یک خط به نام SDA (Serial data) منتقل می‌شوند. پروتکل I2C امکان ارتباط چندین دستگاه با همدیگر را ایجاد می‌کند. این دستگاه‌ها با نام‌های mster و  slaveشناخته می‌شوند. در واقع اگر دو دستگاه (چه سنسور چه میکرو) از پروتکل i2c پشتیبانی کنند می‌توانند با استفاده از SDA داده‌ها را بین یک‌دیگر مبادله کنند.

Data exchange through SDA

به عنوان مثال در این پروژه آردوینو و lcd از این پروتکل پشتیبانی می‌کنند اما تنها آردوینو توانایی تولید سیگنال کلاک (SCL) را دارد و lcd تنها دریافت کننده آن است پس در این پروژه برد آردوینو به عنوان master و lcd به‌عنوان slave مورد استفاده قرار می‌گیرند.

با دقت به این دو پایه توجه کنید:

SDA(Serial data) = خطی برای ارسال و دریافت داده بین master و slave است.

SCL(Serial clock) = خطی که سیگنال کلاک را حمل می‌کند.

این پروتکل می‌تواند یک ارتباط دو طرفه بین یک master و چند slave برقرار کند.

Two-way communication between one MASTER and several SLAVE

 

 

همچنین می‌تواند یک ارتباط دوطرفه بین چند master و چند slave برقرار کند.

Two-way communication between several masters and several slaves

برای تشخیص اینکه یک داده از کدام slave برای master آمده باید چکار کنیم؟

پروتکل I2C دارای قابلیت آدرس دهی است که می‌توان برای تمام قطعات آدرس خاصی مشخص کرد و از طریق این آدرس به انتقال اطلاعات پرداخت. به عکس زیر دقت کنید که در آن master در جست‌وجوی آدرس ۰۱۰۱۱۰۱ است و این آدرس متعلق به slave شماره ۳ است پس این master درحال تبادل اطلاعات با slave شماره ۳ است.

master exchanging information with slave number 3

با این مطالبی که تا الان متوجه شدیم به این نتیجه می‌رسیم که می‌توانیم با استفاده از فقط 2 پایه SDA و SCL تعداد زیادی سنسور را به برد آردوینو وصل کنیم. حال به بررسی lcd  کاراکتری ۲×۱۶ می‌پردازیم.

lcd 2  16 characters

همان‌طور که در شکل مشاهده می‌کنید ال‌سی‌دی مربوطه در شکل بالا یک ال‌‌سی‌دی کاراکتری با ۲ سطر و ۱۶ ستون است و دارای ۱۶ پین است. برای راه‌اندازی این ال‌سی‌دی با برد آردوینو حداقل باید از ۶ پین آردوینو استفاده کرد. برای راه اندازی این ال‌سی‌دی با آردوینو باید ابتدا کتابخانه liquidCrystal را نصب کنید. برای نصب کتابخانه در نرم‌افزار آردوینو به بخش sketch/include Library/manage Libraries رفته و در قسمت جست‌وجوی آن عبارت liquidCrystal را جست‌وجو کنید. 

liquidCrystal

 

نمایش متن Hello world  روی ال‌‌‌سی‌دی

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

برد آردوینو همراه با کابل

۱ عدد

پتانسیومتر

۱ عدد

Lcd کاراکتری ۲×۱۶

1 عدد

مقاومت ۲۲۰ اهم

۱ عدد

بردبورد

۱ عدد

سیم جامپر

به تعداد کافی

 

شماتیک مدار

Schematic of I2C LCD startup circuit

 

اتصالات

ال سی دی

آردوینو

RS

پین ۱۲

EN

پین ۱۱

D4

پین ۵

D5

پین ۴

D6

پین ۳

D7

پین ۲

A

۵ ولت

K

GND

VSS

GND

VDD

۵ ولت

V0

پایه وسط پتانسیومتر

RW

GND

 

می‌توانید مثال کتابخانه LiquidCrystal با عنوان Hello world را به راحتی در بخش file/examples/Liquid Crystal/Hello World پیدا کنید. کد این کتابخانه به صورت زیر است:

  LiquidCrystal Library - Hello World

Demonstrates the use a 16x2 LCD display.  The LiquidCrystal

library works with all LCD displays that are compatible with the

Hitachi HD44780 driver. There are many of them out there, and you

can usually tell them by the 16-pin interface.

This sketch prints "Hello World!" to the LCD

and shows the time.

 The circuit:

* LCD RS pin to digital pin 12

* LCD Enable pin to digital pin 11

* LCD D4 pin to digital pin 5

* LCD D5 pin to digital pin 4

* LCD D6 pin to digital pin 3

* LCD D7 pin to digital pin 2

* LCD R/W pin to ground

* LCD VSS pin to ground

* LCD VCC pin to 5V

* 10K resistor

* ends to +5V and ground

* wiper to LCD VO pin (pin 3)

Library originally added 18 Apr 2008

by David A. Mellis

library modified 5 Jul 2009

by Limor Fried (http://www.ladyada.net)

example added 9 Jul 2009

by Tom Igoe

modified 22 Nov 2010

by Tom Igoe

modified 7 Nov 2016

by Arturo Guadalupi

This example code is in the public domain.

http://www.arduino.cc/en/Tutorial/LiquidCrystalHelloWorld

*/

// include the library code:

#include <LiquidCrystal.h>

// initialize the library by associating any needed LCD interface pin

// with the arduino pin number it is connected to

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {

 // set up the LCD's number of columns and rows:

 lcd.begin(16, 2);

 // Print a message to the LCD.

 lcd.print("hello, world!");

}

void loop() {

 // set the cursor to column 0, line 1

 // (note: line 1 is the second row, since counting begins with 0):

 lcd.setCursor(0, 1);

 // print the number of seconds since reset:

 lcd.print(millis() / 1000);

}

 با آپلود کد بالا  مشاهده خواهید کرد که در سطر اول عبارت hello,world و در سطر دوم یک ثانیه‌شمار در حال شمارش است.

In the first line the phrase hello, world and in the second line a second counting

حال نوبت به راه‌اندازی lcd i2c شد. در ابتدا باید بدانید که پایه‌های i2c در آردوینوها متفاوت است.

برد

پین‌های i2c

Uno, Ethernet, Nano

A4(SDA) , A5(SCL)

Mega2560

20(SDA) , 21(SCL)

Leonard

2(SDA) , 3(SCL)

Due

20(SDA) , 21(SCL) , SDA1 , SCL1

به شماتیک زیر دقت کنید و تعداد کاهش پایه‌های ورودی/خروجی را نسبت به قبل مشاهده کنید.

Reduce input  output pins

فقط  با استفاده از دو پایه SDA و SCL توانستیم یک ال‌سی‌دی را به راحتی راه‌اندازی کنیم. دقت کنید که پتانسیومتر تعبیه شده بر روی آن  contrast ال‌سی‌دی را تنظیم می‌کند. برای راه اندازی این lcd  نیاز به نصب کتابخانه lcd i2c  و نصب کتابخانه wire داریم. (wire برای ارتباط i2c کاربرد دارد که در هنگام نصب نرم‌افزار آردوینو به صورت خودکار در نرم‌افزار نصب خواهد شد.)

 

جهت نصب دوباره کتابخانه wire نیز می‌توانید از بخش manage library آن را نصب کنید.

جهت دانلود کتابخانه lcd i2c اینجا کلیک کنید.

 

حال کد زیر را بنویسید :

#include <Wire.h>                           // include i2c library start

 #include <LiquidCrystal_I2C.h>    //start library lcd i2c

 LiquidCrystal_I2C lcd(0x27,16,2); //set address and column and row

 void setup() {

 lcd.init();                    //enable lcd i2c

  lcd.backlight();          //turn on lcd backlight

 lcd.print("robotic");     //write robotic in lcd  

delay(2000);               // delay 2 seconds

 lcd.noBacklight();      //turn off lcd backlight

 }

 void loop(){}

نحوه عملکرد کد بالا به این صورت خواهد بود که با روشن شدن برد آردوینو نور پس زمینه ال‌سی‌دی روشن می‌شود و عبارت robotic در سطر اول نوشته می‌شود و بعد از ۲ ثانيه نور پس زمینه خاموش می‌شود. به کد بالا دقت کنید عبارت LiquidCrystal_I2C lcd(0x27,16,2)  آدرس و تعداد سطر و ستون ال سی دی را مشخص می‌کند. اما ما چگونه بتوانیم آدرس یک قطعه i2c را بفهمیم؟ کافی است که کد آن قطعه را به آردوینو وصل کنید و کد زیر را آپلود کنید آنگاه با مشاهده سریال مانیتور آدرس قطعه را دریافت خواهید کرد.

 

کد پیدا کردن آدرس

#include <Wire.h>

void setup() {

  Wire.begin();

  Serial.begin(9600);

  Serial.println("\nI2C Scanner");

}

void loop() {

  byte error, address;

  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;

  for(address = 1; address < 127; address++ ) {

    Wire.beginTransmission(address);

    error = Wire.endTransmission();

    if (error == 0) {

      Serial.print("I2C device found at address 0x");

      if (address<16) {

        Serial.print("0");

      }

      Serial.println(address,HEX);

      nDevices++;

    }

    else if (error==4) {

      Serial.print("Unknow error at address 0x");

      if (address<16) {

        Serial.print("0");

      }

      Serial.println(address,HEX);

    }    

  }

  if (nDevices == 0) {

    Serial.println("No I2C devices found\n");

  }

  else {

    Serial.println("done\n");

  }

  delay(5000);          

}

در این مرحله می‌خواهیم با نوشتن هر عبارت در سریال مانیتور آن را در lcd نمایش دهیم.

 

کد

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {

lcd.init();              // enable lcd

lcd.backlight();

Serial.begin(9600);

}

void loop() {

if (Serial.available()) {    //if Serial monitor run

delay(100);

lcd.clear();            //clear lcd

while (Serial.available() > 0) {    // while we write something in Serial monitor and click send

lcd.write(Serial.read());    //write in lcd Something that you wrote in Serial monitor

}

}

}

 

پروژه‌ی نهایی

در نهایت می‌توانیم با استفاده از آردوینو nano و سنسور DHT11 مقدار دما و رطوبت را روی lcd i2c ۲*۱۶ نمایش دهیم.

 

شماتیک مدار

 

Using Arduino nano and DHT11 sensor and showing the amount of temperature and humidity on the i2c 2  16 lcd

 

اتصالات

آردوینو

سایر قطعات

SDA(A4)

SDA   lcd

SCL(A5)

SCL    lcd

Pin2

Signal   dht11

5V

Vcc   lcd & dht

GND

GND    lcd & dht

 

کد پروژه

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2); // set the LCD address to 0x27 for a 16 chars and 2 line display

#include "DHT.h"

#define DHTPIN 2     // Digital pin connected to the DHT sensor

// Feather HUZZAH ESP8266 note: use pins 3, 4, 5, 12, 13 or 14 --

// Pin 15 can work but DHT must be disconnected during program upload.

// Uncomment whatever type you're using!

#define DHTTYPE DHT11   // DHT 11

//#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321

//#define DHTTYPE DHT21   // DHT 21 (AM2301)

// Connect pin 1 (on the left) of the sensor to +5V

// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1

// to 3.3V instead of 5V!

// Connect pin 2 of the sensor to whatever your DHTPIN is

// Connect pin 4 (on the right) of the sensor to GROUND

// Connect a resistor from pin 2 (data) to pin 1 (power) of the sensor

// Initialize DHT sensor.

// Note that older versions of this library took an optional third parameter to

// tweak the timings for faster processors.  This parameter is no longer needed

// as the current DHT reading algorithm adjusts itself to work on faster procs.

DHT dht(DHTPIN, DHTTYPE);

void setup() {

  Serial.begin(9600);

  Serial.println(F("DHT11 test!"));

  lcd.init();

  lcd.backlight();

  lcd.setCursor(3, 0);

  lcd.print("dht11 start");

  dht.begin();

}

void loop() {

  // Wait a few seconds between measurements.

  delay(1000);

  // Reading temperature or humidity takes about 250 milliseconds!

  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)

  int h = dht.readHumidity();

  // Read temperature as Celsius (the default)

  int t = dht.readTemperature();

  lcd.setCursor(0, 0);

  lcd.print("temp= ");

  lcd.print(t);

  lcd.print(" 'C    ");

  lcd.setCursor(0, 1);

  lcd.print("humidity= ");

  lcd.print(h);

  lcd.print("%    ");

  Serial.print("Humidity: ");

  Serial.print(h);

  Serial.print("%  Temperature: ");

  Serial.print(t);

  Serial.println(" 'C ");

}

منبع ۱

منبع ۲

 

 

 

 

 

کپی شد!

ارتباط با ما

اصفهان ، میدان استقلال ، خیابان آزادگان ، دانشگاه صنعتی اصفهان
info@mehsa.ir