مطالب از سراسر وب

اندازه‌گیری دما و رطوبت با آردوینو

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

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

  • برد آردوینو Arduino Uno R3 یا هر نوع دیگر
  • ال سی دی کاراکتری LCD 2×۱۶
  • سنسور دما و رطوبت DHT11
  • ولوم ۱۰۰ کیلو اهم
  • برد بورد
  • تعدادی سیم جامپر
  • نرم افزار Arduino IDE

معرفی سنسور دما و رطوبت

DHT11 نام یک سنسور دما و رطوبت دیجیتال فوق العاده مقرون به صرفه است . این ماژول دما و رطوبت در حقیقت در درون خود از یک سنسور رطوبت خازنی و یک ترمیستور برای اندازه گیری دما استقاده می کند و دارای مداری برای تبدیل مقادیر به صورت دیجیتال است و برای خواندن مقادیر شما نیازی به پین های آنالوگ میکرو نخواهید داشت. تنها نکته ای که در کار با این سنسور باید رعایت شود ، زمان بندی دقیق در هنگام خواندن مقادیر از سنسور است و نکته ای که برای این سنسور یک عیب محسوب می‌شود ، این است که اطلاعات هر ۲ ثانیه یکبار قابل خواندن است. اما محاسن دیگر این سنسور باعث شده تا این سنسور به صورت گسترده استقاده شود. فاصله انتقال سیگنال در ماژول DHT11 تا ۲۰ متر می‌باشد. سنسور DHT11 به ترتیب دارای ۳ پایه GND, VCC, Signal می‌باشد.

پایه‌های سنسور DHT11 در مدل‌های مختلف
پایه‌های سنسور DHT11 در مدل‌های مختلف

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

  • قیمت ارزان
  • ولتاژ کاری ۳ الی ۵ ولت
  • ماکزیمم جریان ۲٫۵ میلی آمپر
  • مناسب برای خواندن رطوبت ۲۰ الی ۸۰% RH با دقت ۵%
  • مناسب برای محدوده‌ی دمای ۰-۵۰ درجه با دقت ۲ درجه سانتی گراد
  • ماکزیمم سرعت نمونه برداری : ۱Hz ( هر ثانیه یکبار )

LCD کاراکتری ۲x16

شکل پایه های LCD
شکل پایه های LCD

LCD کاراکتری ۲x16 یکی از پایه‌ای ترین نمایشگرهای الکترونیکی می‌باشد. در بسیاری از مدارها کاربرد دارد. یکی از دلایل پر مصرف بودن این نوع از LCD ها در مقابل نمایشگرهایی همچون سون سگمنت، عدم محدودیت در نمایش کاراکترها و حتی ساختن کارکترهای دلخواه می‌باشد. LCD 2×۱۶ در رنگ‌های مختلف ارایه می‌شود. LCD کاراکتری دارای ۱۶ پایه می‌باشد که در ادامه نحوه‌ی اتصال LCD به برد آردوینو را آموزش خواهم داد.

کتابخانه سنسور DHT11 و LiquidCrystal

https://github.com/arduino-libraries/LiquidCrystal/archive/master.zip

https://github.com/winlinvip/SimpleDHT/archive/master.zip

نحوه اتصال

نحوه اتصال

کدهای پروژه

//We'll start by adding our libraries
#include <LiquidCrystal.h>
#include <SimpleDHT.h>

//Declaring digital pin no 6 as the dht11 data pin
int pinDHT11 = 6;
SimpleDHT11 dht11;

//Declaring the lcd pins
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
  
// Don't forget to choose 9600 at the port screen
  Serial.begin(9600);
 
//Telling our lcd to start up
  lcd.begin(16, 2);
}

void loop() {

  //These serial codes are for getting readings on the port screen aswell as the LCD display, since they'll offer us a more detailed interface
  Serial.println("=================================");
  Serial.println("DHT11 readings...");
  
  byte temperature = 0;
  byte humidity = 0;
  int err = SimpleDHTErrSuccess;

  //This bit will tell our Arduino what to do if there is some sort of an error at getting readings from our sensor
  if ((err = dht11.read(pinDHT11, &temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
    Serial.print("No reading , err="); Serial.println(err);delay(1000);
    return;
  }
  
  Serial.print("Readings: ");
  Serial.print((int)temperature); Serial.print(" Celcius, ");
  Serial.print((int)humidity); Serial.println(" %");
 
  //Telling our lcd to refresh itself every 0.75 seconds
  lcd.clear();
 
  //Choosing the first line and row
  lcd.setCursor(0,0);
  
  //Typing Temp: to the first line starting from the first row
  lcd.print("Temp: ");
  
  //Typing the temperature readings after "Temp: " 
  lcd.print((int)temperature);
  
  //Choosing the second line and first row
  lcd.setCursor(0,1);
  
  //Typing Humidity(%): to the second line starting from the first row
  lcd.print("Humidity(%): ");
  
  //Typing the humidity readings after "Humidity(%): "
  lcd.print((int)humidity);
 
  delay(750);
}

حال کدها را در نرم افزار آردوینو کپی و سپس کامپایل کنید. پروژه شما آماده است.

درباره ادمين

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

یک نظر

  1. سلام من موقع اجرا ارور زیر رو دریافت میکنم. ممنون میشم راهنمایی فرمایید
    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.

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

  • آدرس ایمیل شما منتشر نخواهد شد. بخش‌های مورد نیاز با علامت‌ * مشخص شده‌اند.
  • مخاطبان گرامی، برای انتشار نظرات لطفا نکات زیر را رعایت فرمایید:
  • 1- نظرات خود را با حروف فارسی تایپ کنید.
  • 2- نظرات حاوی مطالب کذب، توهین یا بی‌احترامی به اشخاص، قومیت‌ها، عقاید دیگران، موارد مغایر با قوانین کشور و آموزه‌های اسلامی منتشر نمی‌شود.
  • 3- نظرات پس از ویرایش تایید می‌شود.