آردوینو آردوینو Arduino Uno آموزش آردوینو نمایشگر LCD پروژه های آردوینو پکیج سنسور آردوینو

آموزش ماژول دما و رطوبت DHT11 از پکیج ۳۷ سنسور آردوینو با LCD

Arduino-Sensor-Kit-DHT11-Module-digispark
نوشته شده توسط پریسا پوربلورچیان

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

 

 


ماژول دما و رطوبت DHT11


سنسور DHT11 یک سنسور دیجیتالی است که برای اندازه‌گیری دما و رطوبت محیط استفاده می‌شود. این سنسور توسط شرکت Aosong (قبلاً با نام Adafruit Industries) تولید شده است. DHT11 یکی از سنسورهای پرکاربرد و اقتصادی برای اندازه‌گیری دما و رطوبت در پروژه‌های الکترونیکی می‌باشد. سنسور DHT11 یک سنسور دیجیتال است که توانایی اندازه‌گیری دما و رطوبت را دارد. این سنسور با استفاده از یک ترمیستور و یک سنسور رطوبتی، اطلاعات محیط را اندازه‌گیری می‌کند و آن‌ها را به شکل سیگنال دیجیتال خروجی می‌دهد.دقت دما این سنسور ±۲ درجه سانتی‌گراد است، یعنی مقدار اندازه‌گیری شده با دقت ±۲ درجه سانتی‌گرادی از مقدار واقعی دما ممکن است متفاوت باشد. همچنین، دقت رطوبت آن نیز ±۵ درصد است. این یعنی مقدار اندازه‌گیری شده برای رطوبت ممکن است با مقدار واقعی رطوبت تا ±۵ درصد متفاوت باشد.سنسور DHT11 با ولتاژ کاری ۳ تا ۵ ولت عمل می‌کند. در ارتباط با میکروکنترلرها و بردهای مبتنی بر آردوینو، می‌توان از ولتاژ ۵ ولت عملیاتی آردوینو استفاده کرد.این سنسور از رابط خروجی دیجیتال استفاده می‌کند، به این معنی که خروجی آن به صورت یک سیگنال دیجیتال (۰ و ۱) است. این سیگنال برای ارسال داده‌های دما و رطوبت به میکروکنترلر یا برد مبتنی بر آردوینو استفاده می‌شود.برای استفاده از سنسور DHT11، نیاز به برنامه‌نویسی میکروکنترلر یا برد آردوینو است. بسیاری از کتابخانه‌ها و راهنماهای برنامه‌نویسی موجود برای آردوینو از جمله کتابخانه DHT11، که به طور خاص برای ارتباط با سنسور DHT11 توسعه داده شده است،

 


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


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

 

  • ولتاژ کاری: ۳ تا ۵ ولت (DC)
  • جریان مصرفی: کمتر از ۲٫۵ میلی‌آمپر در حالت فعال و صفر در حالت استراحت
  • دقت اندازه‌گیری دما: ±۲ درجه سانتی‌گراد
  • بازه‌ی اندازه‌گیری دما: ۰ تا ۵۰ درجه سانتی‌گراد
  • دقت اندازه‌گیری رطوبت: ±۵ درصد
  • بازه‌ی اندازه‌گیری رطوبت: ۲۰ تا ۹۰ درصد
  • زمان پاسخگویی: حدود ۲ ثانیه برای دما و رطوبت
  • رابط خروجی: دیجیتال (از طریق پروتکل یک سیمه)
  • ابعاد: ۱۵٫۵ میلیمتر در ۱۲ میلیمتر
  • قابلیت خواندن مقادیر دما و رطوبت با استفاده از کتابخانه‌ها و برنامه‌نویسی آردوینو

 

 


بررسی پایه های سنسور dht11


 

سنسور DHT11 دارای ۴ پایه (پین) است که هر کدام وظیفه‌های خاصی را بر عهده دارند. در زیر توضیح مختصری از هر پایه آورده شده است:

  • VCC: این پایه به منبع تغذیه متصل می‌شود و ولتاژ کاری سنسور (۳ تا ۵ ولت) از طریق این پایه تأمین می‌شود.
  • Data: این پایه برای ارتباط با میکروکنترلر یا برد مبتنی بر آردوینو استفاده می‌شود. از طریق این پایه، داده‌های اندازه‌گیری شده از سنسور به میکروکنترلر ارسال می‌شود. این پایه با استفاده از پروتکل یک سیمه (One-Wire Protocol) کار می‌کند.
  • NC (No Connection): این پایه معمولاً به گراند (زمین) متصل نمی‌شود و استفاده نمی‌شود. به طور کلی، این پایه ترکیبی از سایر پایه‌ها است و نیازی به آن نیست.
  • GND: این پایه به گراند (زمین) متصل می‌شود و برای تأمین مشترک برق منفی استفاده می‌شود.

در استفاده از سنسور DHT11، اتصال پایه‌ها به درستی بسیار مهم است. برای ارتباط با میکروکنترلر یا برد آردوینو، پایه VCC به ولتاژ مثبت (۵ ولت)، پایه Data به پین دیجیتال مورد استفاده و پایه GND به گراند متصل می‌شود. همچنین، از توجه به ترتیب صحیح اتصال پایه‌ها و استفاده از کابل‌ها و نردبان‌های مناسب برای اتصال پیشنهاد می‌شود.

 


ال سی دی کاراکتری ۱۶*۲


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

  • ابعاد: ال‌سی‌دی ۲×۱۶ دارای ابعاد استاندارد ۸۴×۴۴ میلی‌متر می‌باشد.
  • ترتیب ردیف‌ها: در این نوع ال‌سی‌دی، ردیف اول در بالا و ردیف دوم در پایین قرار دارد. هر ردیف شامل ۱۶ کاراکتر است.نوع نمایش: ال‌سی‌دی ۲×۱۶ از نوع نمایش کاراکتری با فونتی استاندارد استفاده می‌کند. هر کاراکتر می‌تواند شامل اعداد، حروف الفبا، علائم و سایر کاراکترها باشد.
  • رابط کنترل: برای کنترل و نمایش محتویات روی ال‌سی‌دی، از رابط‌های مختلفی استفاده می‌شود. معمولاً از رابط‌های مبتنی بر میکروکنترلر مانند رابط I2C، SPI یا پیچی استفاده می‌شود.
  • ولتاژ کاری: ولتاژ کاری ال‌سی‌دی ۲×۱۶ در محدوده ۵ ولت است، اما ممکن است برخی مدل‌ها نیاز به ولتاژ ۳٫۳ ولت داشته باشند. لطفاً بر اساس مدل مورد استفاده خود، ولتاژ کاری را بررسی کنید.
  • قابلیت نمایش کاراکترهای خاص: ال‌سی‌دی ۲×۱۶ قادر به نمایش کاراکترهای خاص مانند علامت‌ها، عدد واژگان و عناصر دیگر است. این کاراکترها به صورت خاص تعریف شده‌اند و می‌توانند در نمایش اطلاعات و پیام‌های متنی مفید باشند.
  • کنتراست قابل تنظیم: برخی از ال‌سی‌دی‌های ۲×۱۶ دارای قابلیت تنظیم کنتراست هستند. این به شما اجازه می‌دهد تا شدت نمایش را به تناسب با شرایط نور محیط تنظیم کنید و نمایش را بهتر کنید.
  • مصرف انرژی: ال‌سی‌دی‌های کاراکتری به طور کلی مصرف انرژی کمی دارند و برای پروژه‌هایی که نیاز به نمایش کاراکتری ساده دارند، مناسب هستند.

 

 

 


 فراخوانی کتابخانه ماژول DHT11


کتابخانه DHT برای آردوینو، یک کتابخانه محبوب برای استفاده از سنسورهای دما و رطوبت مبتنی بر پروتکل ۱-Wire مانند سنسور DHT11 است. با استفاده از این کتابخانه، می‌توانید به راحتی داده‌های دما و رطوبت از سنسور DHT11 را خوانده و در پروژه‌های آردوینو خود استفاده کنید. ابتدا باید کتابخانه DHT را در نرم‌افزار آردوینو نصب کنید. برای این کار، به قسمت “مدیریت کتابخانه‌ها” در منوی ابزارها بروید و در جستجوی “DHT”، کتابخانه DHT را پیدا کنید و نصب کنید.

فراخوانی: برای استفاده از کتابخانه DHT در کد آردوینو خود، باید آن را به کد اضافه کنید. برای این کار، در بالای کد خود، خط زیر را قرار دهید:

#include <DHT.h>

تعریف سنسور: در بخش setup کد خود، باید سنسور DHT11 را تعریف کنید. برای مثال، اگر سنسور را به پین دیجیتال ۲ متصل کرده‌اید، این خط را اضافه کنید:

#define DHTPIN 2

تعریف نوع سنسور: بر اساس نوع سنسوری که استفاده می‌کنید (DHT11، DHT22 و غیره)، نوع سنسور را در کد تعریف کنید. برای مثال، اگر از سنسور DHT11 استفاده می‌کنید، این خط را اضافه کنید:

#define DHTTYPE DHT11

ساخت شیء سنسور: در بخش setup کد خود، بعد از تعریف سنسور و نوع سنسور، باید یک شیء از کلاس DHT بسازید. برای این کار، از خطوط زیر استفاده کنید:

DHT dht(DHTPIN, DHTTYPE);

شروع کردن سنسور: در بخش setup کد خود، در تابع setup()، باید سنسور را شروع کنید. برای این کار، از خط زیر استفاده کنید:

dht.begin();

خواندن داده‌ها: در بخش loop کد خود، برای خواندن داده‌های دما و رطوبت از سنسور، از تابع readTemperature() و readHumidity() استفاده کنید. مقادیر دما و رطوبت را در متغیرهای مناسب ذخیره کنید. برای مثال:

float temperature = dht.readTemperature();
float humidity = dht.readHumidity();

استفاده از داده‌ها: حالا می‌توانید از داده‌های خوانده شده (دما و رطوبت) در پروژه‌های خود استفاده کنید. می‌توانید آن‌ها را به صورت پیام سریال چاپ کنید یا برای کنترل دستگاه‌های دیگر استفاده کنید.در هر بار خواندن داده‌ها از سنسور، بهتر است به ازای هر بار خواندن، کمی تاخیر دهید تا سنسور زمان کافی برای اندازه‌گیری دما و رطوبت داشته باشد. این تاخیر حدود ۲ ثانیه است. برای این کار، می‌توانید از تابع delay() استفاده کنید.با استفاده از کتابخانه DHT در آردوینو و دنبال کردن مراحل فوق، می‌توانید به راحتی داده‌های دما و رطوبت از سنسور DHT11 را خوانده و در پروژه‌های خود استفاده کنید.

 

 


اتصال سنسور DHT11 به آردوینو


  • پایه سیگنال (S) ماژول دما و رطوبت temperature & humidity را به پایه ۸ آردوینو اتصال دهید.
  • پایه GND ماژول دما و رطوبت temperature & humidity را به پایه GND آردوینو اتصال دهید.
  • پایه VCC ماژول دما و رطوبت temperature & humidity را به پایه VCC آردوینو اتصال دهید.

 


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


برای اتصال سنسور DHT11 به آردوینو، شما به دو پین آردوینو نیاز دارید: یک پین دیجیتال برای اتصال داده‌ها و یک پین تغذیه برای ولتاژ تغذیه. اتصال پین دیجیتال: از آنجایی که سنسور DHT11 از طریق پروتکل ۱-Wire ارتباط برقرار می‌کند، شما باید پین دیجیتالی را برای اتصال داده‌ها استفاده کنید. می‌توانید هر پین دیجیتال آردوینو را برای این منظور انتخاب کنید. به عنوان مثال، اگر از پین دیجیتال ۲ استفاده کنید، باید سیم داده را به پین ۲ آردوینو متصل کنید.سنسور DHT11 به ولتاژ تغذیه ۵ ولت نیاز دارد. شما باید یک پین تغذیه ۵ ولت آردوینو را به پین تغذیه سنسور DHT11 متصل کنید. معمولاً پین VCC یا پین ۵V آردوینو برای این منظور استفاده می‌شود. به همین ترتیب، اتصال گراند آردوینو به پین گراند سنسور نیز لازم است.برخی از مدل‌های سنسور DHT11 نیاز به اتصال یک مقاومت پول-آپ به پین دیجیتال دارند. این مقاومت به طور معمول بین سیم داده و ولتاژ تغذیه (۵ ولت) قرار می‌گیرد. اما در برخی مدل‌ها، این مقاومت به طور داخلی و درون سنسور تعبیه شده است و نیازی به اتصال خارجی ندارد. در صورتی که به اتصال مقاومت پول-آپ نیاز است، برای اتصال مقاومت پول-آپ، باید یک مقاومت ۱۰ کیلو اهم بین پین دیجیتال و ولتاژ تغذیه (۵ ولت) قرار داد. مقاومت پول-آپ کاربرد خاصی دارد و به منظور اتصال سیم داده به ولتاژ تغذیه به کار می‌رود و کمک می‌کند تا ارتباط بین آردوینو و سنسور بهتر برقرار شود. پس از انجام اتصالات، می‌توانید با استفاده از کتابخانه DHT و دستورات مربوطه، دما و رطوبت را از سنسور DHT11 خوانده و در پروژه‌های آردوینو خود استفاده کنید.

  • پایه VSS ال سی دی LCD 2*16 را به پایه GND آردوینو اتصال دهید.
  • پایه VCC ال سی دی LCD 2*16 را به پایه ۵ ولت آردوینو اتصال دهید.
  • پایه VO ال سی دی LCD 2*16 را به پایه GND آردوینو اتصال دهید.
  • پایه RS ال سی دی LCD 2*16 را به پایه ۱۲ آردوینو اتصال دهید.
  • پایه RW ال سی دی LCD 2*16 را به پایه GND آردوینو اتصال دهید.
  • پایه E ال سی دی LCD 2*16 را به پایه ۱۱ آردوینو اتصال دهید.
  • پایه D4 ال سی دی LCD 2*16 را به پایه ۵ آردوینو اتصال دهید.
  • پایه D5 ال سی دی LCD 2*16 را به پایه ۴ آردوینو اتصال دهید.
  • پایه D6 ال سی دی LCD 2*16 را به پایه ۳ آردوینو اتصال دهید.
  • پایه D7 ال سی دی LCD 2*16 را به پایه ۲ آردوینو اتصال دهید.
  • پایه A ال سی دی LCD 2*16 را به پایه ۵ ولت آردوینو اتصال دهید.
  • پایه K ال سی دی LCD 2*16 را به پایه GND آردوینو اتصال دهید.

 

 


وسایل مورد نیاز ماژول DHT11


ماژول دما و رطوبت DHT11 از پکیج ۳۷ سنسور آردوینو

 



 

#include <LiquidCrystal.h> // کتابخانه ال سی دی را طبق مراحل گفته شده در آموزش فراخوانی کنید
#include <DHT.h>  // کتابخانه DHT را طبق مراحل گفته شده در آموزش فراخوانی کنید
int DHT11Sensor = 8; // پایه ۸ آردوینو را به عنوان پایه سیگنال ماژول DHT تعریف کنید.
int DHT11value; 
#define DHTTYPE DHT11
 DHT dht(DHT11Sensor, DHTTYPE);
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
byte degree[8] ={ B00001100,B00010010, B00010010, B00001100,B00000000, B00000000, B00000000, B00000000,};               
 void setup()
{
Serial.begin(9600); // سریال مانیتور را روی بادریت ۹۶۰۰ تنظیم کنید
lcd.begin(16,2); 
lcd.clear(); 
lcd.createChar(0, degree);
} 
void loop()
{
float h = dht.readHumidity(); // خواندن دیتای رطوبت
float t = dht.readTemperature(); // خواندن دیتای دما
lcd.setCursor(0,0);
lcd.print("Temp : "); // نمایش عبارت Temp در ال سی  دی
lcd.print(" ");
lcd.setCursor(7,0);
lcd.print(t,1);
lcd.setCursor(12,0);
lcd.write((byte)0);
lcd.setCursor(0,1);
lcd.print("Humid: "); // نمایش عبارت humid در ال سی دی
lcd.print(" ");
lcd.setCursor(7,1);
lcd.print(h,1);
lcd.setCursor(12,1);
lcd.print("%");
delay(2000);
}

 

 

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

 

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

 

پروژه

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

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۲۱۶ دیدگاه

  • سلام
    خیلی توضیحاتتون خوبه و اینکه همیشه برای اتصال ال سی دی مشکل دارم ولی شما خیلی خوب و واضح توضیح دادید.

      • سلام
        خیلی مفید بود
        فقط یه سوال چطور میشه کنار این سنسور یک سنسور TSL2561 هم استفاده کرد و شدت نور رو روی LCD نمایش داد

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

    • سلام
      ارور زیر برای چی هست
      Arduino: 1.8.12 (Windows 10), Board: “Arduino Uno”

      Multiple libraries were found for “DHT.h”
      In file included from C:\Users\PAIA\Documents\Arduino\libraries\DHT-sensor-library-master\DHT_U.cpp:22:0:

      Used: C:\Users\PAIA\Documents\Arduino\libraries\DHT-sensor-library-master
      C:\Users\PAIA\Documents\Arduino\libraries\DHT-sensor-library-master\DHT_U.h:25:10: fatal error: Adafruit_Sensor.h: No such file or directory

      Not used: C:\Users\PAIA\Documents\Arduino\libraries\DHT_sensor_library
      #include

      ^~~~~~~~~~~~~~~~~~~

      compilation terminated.

      exit status 1
      Error compiling for board Arduino Uno.

      This report would have more information with
      “Show verbose output during compilation”
      option enabled in File -> Preferences.

      • با سلام
        این ارور مربوط به کتابخانه DHT است که شناسایی نشده و همزمان چندین کتابخانه نصب شده است

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

    • سلام
      بسیار عالی حتما تهیه کنید و در صورت برخورد به مشکل از همین طریق اقدام نمایید تا راهنمایی کنم.
      در خصوص سوال دوم هم نمایشگر های متعددی برای آردوینو ارائه شده است که بزرگترین ابعاد آن با توجه به در دسترس بودن ال سی دی ۵ اینچ و یا ۴٫۸ اینچ می باشد. از لینک زیر میتوانید lcd های مختلف را بررسی کنید.

      لینک LCD

  • خانم بلورچیان حتما یک آموزش برای راه اندازی ال سی دی کاراکتری آموزش بدید. یک بار جواب میده یک بار جواب نمیده و بلاتکلیفیم.

    • سلام
      برای ال سی دی ساده ۲*۱۶ کاراکتری از همین پست میتوانید استفاده کنید. ولی با توجه به درخواست دیگر کاربران حتما آموزش راه اندازی را منتشر خواهم کرد.

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

  • Arduino: 1.8.1 (Windows 10), Board: “Arduino/Genuino Uno”

    sketch_feb05a:11: error: missing terminating ‘ character

    void’ setup() {

    ^

    sketch_feb05a:11: error: expected ‘}’ before ‘void’

    sketch_feb05a:11: error: expected ‘,’ or ‘;’ before ‘void’

    sketch_feb05a:14: error: ‘lcd’ does not name a type

    lcd.begin(16,2);

    ^

    sketch_feb05a:15: error: ‘lcd’ does not name a type

    lcd.clear();

    ^

    sketch_feb05a:16: error: ‘lcd’ does not name a type

    lcd.createChar(0, degree);

    ^

    sketch_feb05a:17: error: expected declaration before ‘}’ token

    }

    ^

    Multiple libraries were found for “LiquidCrystal.h”
    Used: C:\Users\MOHAMAD REZA\Documents\Arduino\libraries\LiquidCrystal
    Not used: C:\Program Files (x86)\Arduino\libraries\LiquidCrystal
    exit status 1
    missing terminating ‘ character

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    • این ارور مربوط به فراخوانی کتابخانه ال سی دی LiquidCrystal است. همانطور که در قسمت فراخوانی کتابخانه گفته شده است، کتابخانه را از مسیر گفته شده دانلود کنید. و فایل را از حالت زیپ خارج کنید و در مسیر arduino/Library کپی کنید. روش دیگر هم برای فراخوانی کتابخانه LiquidCrystal از منو sketch/include library / manage libraries کتابخانه LiquidCrystal را سرچ و نصب کنید. مجددا کامپایل کنید. مشکل برطرف خواهد شد. همچنین حتما کد را از طریق کلید میانبر کپی کنید.
      نتیجه را اعلام کنید.

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

    • سلام
      نوع ال سی دی مورد استفاده شما چیست؟
      برای ال سی دی دقت کنید پایه ها را به درستی اتصال دهید. نوع ال سی دی را بیان کنید تا راهنمایی کنم.

        • اگر فقط متن نمایش داده نمی‌شود، در ابتدا اتصالات را مجددا چک کنید و مطمئن شوید که به درستی پایه های GND و VCC را وصل کرده‌اید. همچنین پیشنهاد میشود بین پایه vo و اتصال این پایه به زمین از یک پتانسومتر جهت تنظیم شدت نور ال سی دی استفاده کنید. ولی با توجه به تست من نیازی به استفاده از پتانسیومتر نیست. مجددا موارد را چک کنید و نتیجه را اعلام کنید.

  • سلام ممنون از آموزش به یه مشکلی خوردم اونم اینه که پروژه شما رو کامل کپی کردم و حتی کتابخونه هارو هم دارم اما تو موقع کامپایل ارور میده به نظرتون مشکل از کجای کار هست.
    متن ارور :exit status 1
    Error compiling for board Arduino Nano.

    • سلام
      تنظیمات برد شما بر روی نانو است. از منو آردوینو گزینه Tools/Board/ Arduino Genuino Uno را انتخاب کنید؛ تا مشکل رفع شود. سپس موارد را از همین طریق اطلاع رسانی کنید.

  • سلام خانم پوربلورچیان خواستم از توضیحات واضح و کاملتون تشکر کنم منتظر آموزش های دیگرتون هستیم…

  • باسلام و عرض ادب و تشکر از مطالب عالی شما و همکاران ، بنده چند سوال مهم دارم که نیاز به جواب این سوالات دارم:
    این سنسور چطور میزان دما و رطوبت ورودی رو تشخیص میده و افزایش و کاهش داره؟
    خروجی سیگنالینگ سنسور DHT11 به چه صورت است؟
    سیگنال خروجی ما در میکرو پرسسور چه تغییراتی دارد؟

    • سلام
      از توجه و دقت نظر شما ممنونم.
      خروجی سنسور دما رطوبت دیجیتال است و پایه سیگنال سنسور به پابه دبجیتال میکروکنترلر وصل شده و دیتا را ارسال خواهد کرد. در واقع سیگنال خروجی به صورت تغییر دامنه ولتاژی بر اساس ویژگی های سنسور تغییر میکند. در صفحه محصول DHT11 دیتاشیت سنسور قرار دارد، حتما مطالعه کنید.

  • سلام ببخشید 🙁
    حدود نیم ساعت پیش شروع به آموزش نگاه کردن اینترنت اشیا کردم یه سوال خیلی ساده :
    برا این کیت آیا منبع انرژی مثل باتری یا چیز دیگری نیاز نیست ؟
    چون داخل فیلم یه کابل آبی وصل میشه که جزو کیت نیست
    ممنون 🙂

    • سلام
      برد آردوینو از طریق کابل شیلد مخصوص USB به لپتاپ وصل شده است. همچنین با استفاده از آداپتور ۷ تا ۱۲ ولت هم میتوانید برد آردوینو را روشن کنید.
      از طریق لینک زیر اطلاعات کامل برد آردوینو را در قسمت اطلاعات بیشتر مطالعه نمایید.
      برد آردوینو UNO

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

        • سلام مجدد
          بله دقیقا در سایت یک گزینه همراه با کابل مخصوص و بدون کابل مخصوص است. همچنین اگر ناموجود باشد، مجددا موجود خواهد شد و حتما سایت را دنبال کنید.
          همچنین کابل شیلد TypeB به صورت مجزا در سایت موجود است حتما بررسی کنید.

          • سلام مجدد
            شیلد پروتوتایپ در کجا استفاده میشه ؟
            اتصالاتش چیه ؟
            ذکر نشده در آموزش 🙂
            مرسی

            • سلام
              شیلد پروتوتایپ بر روی برد آردوینو قرار می‌گیرد و پین های آردوینو قابل استفاده هستند. یکی از مزیت های خوب این شیلد، دارا بودن برد بورد کوچک بر روی آن است که می‌توانید سنسور و ماژول ها را روی برد بورد شیلد قرار دهید. همچنین ۵ پایه GND و VCC بر روی شیلد وجود دارد که پایه های تغذیه بیشتری در اختیار شما قرار می‌دهد.

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

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

    • سلام
      این ارور مربوط به اتصال برد آردوینو است. در ابتدا مطمئن شوید که برد را به درستی انتخاب کرده اید.

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

  • C:\Users\pc ashkan\Documents\Arduino\libraries\DHT-sensor-library-master\examples\DHT_Unified_Sensor\DHT_Unified_Sensor.ino:10:29: fatal error: Adafruit_Sensor.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Error compiling for board Arduino/Genuino Uno.
    درود و سپاس از شما بعله طبق فرمایش شما هم اقدام کردم ولی هنوز این ارور را میده

    • سلام مجدد
      کتابخانه Adarfuit sensor پس از دانلود، در مسیر نصب Arduino در فایل Libraries کپی کنید. دقت کنید که فایل از حالت زیپ خارج شود و کپی کنید. این مراحل را انجام دهید و نتیجه را اعلام کنید.

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

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

  • با سلام و خسته نباشید
    من خروجی سنسور رو با بقیه محصولات آماده مقایسه می کنم میبینم که خروجی سنسور تقریبا ۱۵% با دیگر دستگاه ها فرق داره.
    چطور میشه مشکل رو برطرف کرد؟
    باتشکر

    • سلام
      منظورتان از دستگاه های دیگر متوجه نمی‌شوم. با چه دستگاه های دیگری مقایسه انجام داید؟

        • سلام
          هر دستگاهی دقت اندازه گیری متفاوتی دارد. همانطور که در دیتاشیت سنسور DHT11 گفته شده است دقت سنسور در دمای بین ۰ تا ۵۰ درجه سانتی گراد ±۲°C است. دقت اندازه گیری رطوبت ۲۰ – ۸۰% هم ۵% است.

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

    • سلام
      برای انتقال کدهادر متن آموزش قسمت کد ماژول دما رطوبت DHT11، دو کلید میانبر در بالای کد سمت راست قرار گرفته شده است. با قرار دادن موس خود بر روی هر یک از آن ها توضیح داده شده است. آیکون سوم از سمت راست را انتخاب کنید و سپس CTRL + C را بزنید. برنامه آردوینو را باز کنید و با CTRL + V کد را در نرم افزار کپی کنید. مراحل را انجام دهید و سپس نتیجه را اعلام کنید تا مجددا راهنمایی کنم.

    • از منو Tools، قسمت Board نوع برد را Arduino Genuino UNO انتخاب کنید و مجددا کامپایل کنید.

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

    • آیا کتابخانه را هم نصب کردید ؟ لطفا ارور را کامل کپی کنید تا بررسی کنم.
      اروری که برای من ارسال کردید مربوط به نوع برد است که به عنوان مثال اگر برد آردوینو شما از نوع UNO است، در مسیر گفته شده Arduino Genuio UNO را باید انتخاب کنید.
      توجه به چند نکته ضروری است: پس از انتقال کدها، کتابخانه را فراخوانی کنید و نوع برد آردوینو را انتخاب کنید. در نهایت پورت Port را از همان مسیر Tools مشخص کنید.

  • C:\Users\mehdi123\Desktop\sketch_mar04b\sketch_mar04j\sketch_mar04j.ino:11:123: fatal error: DHT.h: No such file or directory

    #include // ع©طھط§ط¨ط®ط§ظ†ظ‡ DHT ط±ط§ ط·ط¨ظ‚ ظ…ط±ط§ط­ظ„ ع¯ظپطھظ‡ ط´ط¯ظ‡ ط¯ط± ط¢ظ…ظˆط²ط´ ظپط±ط§ط®ظˆط§ظ†غŒ ع©ظ†غŒط¯

    ^

    compilation terminated.

    exit status 1
    Error compiling for board Arduino/Genuino Uno.
    نوع پورتم تیک سبز خورده کتاب خانه نصب کردم
    اینم اروکه می ده
    ممنون
    C:\Users\mehdi123\Desktop\sketch_mar04b\sketch_mar04j\sketch_mar04j.ino:11:123: fatal error: DHT.h: No such file or directory

    #include // ع©طھط§ط¨ط®ط§ظ†ظ‡ DHT ط±ط§ ط·ط¨ظ‚ ظ…ط±ط§ط­ظ„ ع¯ظپطھظ‡ ط´ط¯ظ‡ ط¯ط± ط¢ظ…ظˆط²ط´ ظپط±ط§ط®ظˆط§ظ†غŒ ع©ظ†غŒط¯

    ^

    compilation terminated.

    exit status 1
    Error compiling for board Arduino/Genuino Uno.

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

    • در کامنت قبل راهنمایی کردم. مراحل گفته شده را پیش بروید و نتیجه را اعلام کنید.

  • ببینید این کد هارو من کپی می کنم
    void loop() {
    // put your main code here, to run repeatedly:

    }
    #include // کتابخانه ال سی دی را طبق مراحل گفته شده در آموزش فراخوانی کنید
    #include // کتابخانه DHT را طبق مراحل گفته شده در آموزش فراخوانی کنید
    int DHT11Sensor = 8; // پایه ۸ آردوینو را به عنوان پایه سیگنال ماژول DHT تعریف کنید.
    int DHT11value;
    #define DHTTYPE DHT11
    DHT dht(DHT11Sensor, DHTTYPE);
    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
    byte degree[8] ={ B00001100,B00010010, B00010010, B00001100,B00000000, B00000000, B00000000, B00000000,};
    void setup()
    {
    Serial.begin(9600); // سریال مانیتور را روی بادریت ۹۶۰۰ تنظیم کنید
    lcd.begin(16,2);
    lcd.clear();
    lcd.createChar(0, degree);
    }
    void loop()
    {
    float h = dht.readHumidity(); // خواندن دیتای رطوبت
    float t = dht.readTemperature(); // خواندن دیتای دما
    lcd.setCursor(0,0);
    lcd.print(“Temp : “); // نمایش عبارت Temp در ال سی دی
    lcd.print(” “);
    lcd.setCursor(7,0);
    lcd.print(t,1);
    lcd.setCursor(12,0);
    lcd.write((byte)0);
    lcd.setCursor(0,1);
    lcd.print(“Humid: “); // نمایش عبارت humid در ال سی دی
    lcd.print(” “);
    lcd.setCursor(7,1);
    lcd.print(h,1);
    lcd.setCursor(12,1);
    lcd.print(“%”);
    delay(2000);
    }
    بعد این خطا رو می ده
    Arduino: 1.8.5 (Windows 7), Board: “Arduino/Genuino Uno”

    C:\Users\mehdi123\Desktop\sketch_mar04b\sketch_mar04b\sketch_mar04b\sketch_mar04b.ino: In function ‘void setup()’:

    sketch_mar04b:18: error: redefinition of ‘void setup()’

    void setup()

    ^

    C:\Users\mehdi123\Desktop\sketch_mar04b\sketch_mar04b\sketch_mar04b\sketch_mar04b.ino:1:6: note: ‘void setup()’ previously defined here

    void setup() {

    ^

    C:\Users\mehdi123\Desktop\sketch_mar04b\sketch_mar04b\sketch_mar04b\sketch_mar04b.ino: In function ‘void loop()’:

    sketch_mar04b:25: error: redefinition of ‘void loop()’

    void loop()

    ^

    C:\Users\mehdi123\Desktop\sketch_mar04b\sketch_mar04b\sketch_mar04b\sketch_mar04b.ino:6:6: note: ‘void loop()’ previously defined here

    void loop() {

    ^

    exit status 1
    redefinition of ‘void setup()’

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    • پس از اجرای برنامه آردوینو باید ابتدا کد پیش فرض نوشته شده را پاک کنید. سپس کد آموزش را کپی کنید. کدها با یکدیگر ادغام شده است.
      صفحه را پاک کنید و کد را انتقال دهید. نتیجه را اعلام کنید.

  • سلام پروژه واقعا خوبی بود .
    میشه این کارو با wemosD1 انجام داد.خروجی رو هم داخل ipدریافت کرد.

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

    • سلام
      بله امکان پذیر است ولی کاملا به این آموزش بی ربط است. از آموزش های مربوط به Nodemcu در سایت ایده بگیرید.

  • سلام
    از ماژول DHT11 برای اندازه گیری درصد رطوبت و دمای هوا استفاده می شه یا رطوبت خاک رو هم می شه اندازه گیری کرد؟
    من برای اندازه گیری رطوبت خاک از ماژول yl-69 استفاده می کنم و احتیاج دارم رطوبت و دمای محیط رو هم اندازه گیری کنم البته با رزبری پای کار می کنم لطفا من را در انتخاب مازول راهنمایی کنید

    • سلام
      ماژول دما و رطوبت تنها برای اندازه گیری دما و رطوبت محیط است. سنسور های متفاوتی برای دما در فروشگاه موجود است. کامل تر توضیح دهید تا بتوانم راهنمایی کنم و پیشنهاد دهم.

    • سلام
      لطفا ارور را ارسال نمایید تا بررسی کنم و اینکه لینک دانلود کتابخانه در متن آموزش لینک شده است. دانلود کنید و سپس در مسیر arduino/libraries کپی کنید.

  • سلام
    من دارم این آموزشو میبندم ، کتابخانه را دانلود کردم از دانشجو کیت، حالا چطور باید اضافه کنم؟

    • سلام
      باید کتابخانه را از حالت زیپ خارج کرده و در مسیر نصب آردوینو در پوشه Library کپی کنید. سپس برنامه را کامپایل کنید.

  • سلام می خواستم ببینم که ترموسات دما و رطوبت سنجی که ساختید می شود در دستگاه جوجه کشی استفاده کرد و بتوان ان را به المت متصل نمود تا المنت در صورت کاهش دما شروع به کار کند و ایا می شود به موتور چرخنده متصل کرد یا نه خیلی ممنون می شوم اگر راهنمایی کنید.

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

      • با سلام وتشکر از توضیحات خوبتون.
        در صورتی میتونید در جوجه کشی ازش استفاده کنید که دقت سنسورتون بالاتر باشه. برای مثال برای جوجه کشی تخم مرغ در صورتی که در دستگاه از دمش هوا استفاده نشه (still air) دمای ایده آل ۳۹ درجه است. اگه دما به ۴۱٫۷ درجه برسه تقریبا جنین آب پز میشه و … . حالا در نظر بگیرید که دقت سنسور dht11 در محدوده ۲ درجه سانتی گراده، یعنی برای مثال وقتی که دما رو ۳۹ درجه نشون میده ممکنه دما چیزی بین ۳۷ تا ۴۱ باشه! تازه این وضعیت رو تا حدی میشه تحمل کرد، بخش غیر قابل تحملش اینه که برای اینکه ترموستات کار کنه باید یه محدوده دمایی برای فعالیتش تعریف کنید (مثلا ۳۸ تا ۴۰ درجه) و حالا خودتون تصور کنید که چه خواهد شد اگه دما با این سنسور کم دقت به حد بالا یا پایین ترموستات نزدیک بشه. من قصد دارم از سنسور sht21 یا sht31 تو دستگاه خودم استفاده کنم. اگه به نتیجه دلخواه برسم حتما اطلاع میدم.
        ببخشید که طولانی شد.

        • سلام مجدد
          خواهش می‌کنم، از توضیحات کامل شما و اشتراک گذاری تجربه کاربری‌تان تشکر می‌کنم. سنسورهای SHT برای کاربرد صنعتی انتخاب مناسبی هستند. البته در مورد سنسورهای DHT مدل DHT22 البته اون هم دو مدل دارد، که دقت بالاتری از بقیه دارند.
          منتظر ارسال نظرات شما در آینده هستیم.

  • سنسور دمای زیر صفر را اندازه گیری و نمایش می دهد یا فقط دمای بیشتر از صفر را نمایش می دهد ؟

  • سلام
    من کتابخانه dht11 که سنسور دما هست و اضافه کردم ولی آردینو اونو نمیشناسه و به اسمش گیر میده و میگه پوشه adafruit_Sensor.h نیست

    • سلام
      باید کتابخانه Adafruit_sensor را نصب کنید.
      لینک دانلود کتابخانه در صفحه محصول سنسور DHT11 دقسمت دانلود قرار گرفته شده است، آن را فراخوانی کنید.

  • سلام خانم
    ممنون از توضیحات خوبتون
    فقط من میخوام توسط یک فرستنده(ترجیحاً ماژول فرستنده ASK DX-RF 315)، دیتای دما و رطوبت رو برام بفرسته و بجای این LCD از نوکیا۵۱۱۰ استفاده کنم. برنامه های بدون فرستنده رو دارم و به صورت سیمدار الان داره کار میکنه فقط میخوام بدونم اگه از سیمدار بودن سنسور بخوام خارجش کنم چجوری میتونم خروجی بگیرم که به روندش لطمه نخوره؟
    ممنونم

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

      • سلام مجدد
        اگه براتون سورس و نحوه عملکرد و عکسشو بفرستم میتونین کمکم کنین؟
        ممنون از وقتی که میزارین خانم.

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

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

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

      • من مدار بدون شیلد بستم با پتاسیومتر و سویچ دقیقا همونطوری که روی سایت آردوئینو بود و برنامه رو هم از اونجا کامپایل کردم مشکل چشمک زدن حل شد فقط الان چراغ ال سیدی روشن میشه ولی هیچ اطلاعاتی نمیاره

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

  • سلام
    برنامه من درست اجرا میشه اما رطوبت رو ۹۵ درصد ثابته

    سنسورم عوض کردم اما تغییری نکرد

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

    • با سلام
      کاربر گرامی عدد نود درصد را از کجا محاسبه کرده‌اید؟ یعنی ۱۱۹۰ پروژه که دقیقا تا به امروز میشود ۹۰ درصد از پروژه های دیجی اسپارک را به صورت عملی بسته اید؟ یا اینکه تمایل دارید ظاهر سازی کنید که اینطور است! دقت داشته باشید که تمامی پروژه‌ها به صورت عملی انجام می‌شوند و توسط تیم فنی بررسی و سپس فیلم برداری می‌شوند. با این حال اگر هم کاربری توانایی فنی کافی درخصوص راه اندازی نداشته باشد، میتواند با ثبت نظر در همان پروژه نسبت به رفع عیب اقدام کند. چنانچه شما هم در اجرای هر پروژه ای با مشکل مواجه شدید می‌توانید، از قسمت نظرات استفاده کنید.

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

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

  • درود بر شما خنم مهندس
    تشکر از سایت واقعا خوبتون.
    میتونم خواهش کنم همین پروژه را با شیلدlcd بزارید!؟
    سپاس پیشاپیش

  • سلام من نمیدونم چجوری مقدار سنسور دما lm35و سنسور رطوبت yl69 رو همزمان روی lcd نشون بدم میشه لطفا کمک کنید؟

  • حین اجرا این ارور رو میگیرم
    In file included from C:\Users\hosein\Documents\Arduino\libraries\DHT_sensor_library\DHT_U.cpp:22:0:

    C:\Users\hosein\Documents\Arduino\libraries\DHT_sensor_library\DHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory

    compilation terminated.

    exit status 1
    Error compiling for board Arduino/Genuino Uno.

  • لطفا راهنمایی کنید که اگر مقدار ها رو بخوام روی مانیتور ببینم ( بدون اتصال lcd به آردینو) -منظورم دما و رطوبت هست -چه کدی را باید بزنم؟
    با تشکر

  • سلام
    ببخشید من میخام این ماژول که راه اندازی کردم توی دمای ۳۳ درجه و رطوبت ۴۰ درجه باشه محیط اگه پائین اومد دما و رطوبت ماژول اتصال ایجاد کنه بین ورودی برق و دستگاه رطوبت ساز آیا ممکن است

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

      • ۲٫۴ inch TFT Touch Shield for Arduino_10-1000×75
        منظور من دقیقا همین ال سی دی هستش حالا یا ۲٫۲ یا ۲٫۴ که فرقی هم نمیکنه.
        راستش هیچ سورس یا منبعی وجود نداره و من تازه کارم اصلا سر در نمیارم…

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

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

    • با سلام
      در صورت دریافت پیام NAN سنسور دیتا ارسال نمی‌کند و به عبارتی غیرفعال است. اتصالات را بررسی نمایید. همچنین کتابخانه مورد استفاده را اعلام کنید تا بررسی شود.

  • سلام ؛ خانم مهندس
    میخواستم ببینم دقت اندازه گیری دمای این سنسور چجوریاست ؟؟؟
    دقتش با سنسور هایی مثل lm35DZ برابری میکنه یا خیر

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

    • با سلام
      ممکن است سنسور به درستی متصل نشده باشد. چگونگی اتصال را بفرمایید تا بررسی شود.

  • سلام .
    من این پروژه رو روی پروتئوس بستم.
    وقتی دما یا رطوبت رو عددی فرد میکنی جفتش nan نشون میده.
    اگر میشه راهنمایی کنید
    ممنون

  • سلام بنده یه ایمیل بزنید یه برنامه می خواستم جهت راه اندازی کار با ph و راه اندازی سنسور رطوبت وکنترل نور ورطوبت سنج خاک وارسال ان از طریق وای فای برای اردینو

  • سلام خسته نباشید ..
    حالا اگ بخوام دوتا سنسور اضافه کنم چجوری باید برنامشو تغییر بدم؟؟ مثلا دوتا dht 11

  • سلام و ادب
    ممنون از توضیحتون
    ببخشید یک سوالی داشتم
    ;(۰(Lcd.write((byte
    ب چ معنا هستش ؟

    • با سلام
      در کد برنامه byte برای ال سی دی در خط ۸ تعریف شده و سپس در برنامه رایت شده است.

  • سلام تشکر از راهنماییتان .من یک سوالی داشتم چرا در lcd بعد از عبارت ‘ temp: nan
    % humid: nan
    را نمایش میده nan چیه
    اگر جواب بدین خوشحال میشم

  • سلام تشکر از اطلاعاتی که بیان کردید فقط یه سوالی داشتم چرا درروی lcd این عبارت را می نویسه
    °temp:nan
    %humid:nan
    اگر به سوالم جواب بدید بی نهایت تشکر از نویسنده و سایت خوبتون (-:

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

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

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

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

    • با سلام
      موارد اعلام شده کمکی به رفع عیب ماژول نمی‌کند. لطفا توضیحات دقیقتری اعلام کنید. اتصالات کابل های مورد استفاده را مجدد بررسی کنید.

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

  • سلام وقت بخیر
    شاید سوال من تکراری باشه، پس پیشاپیش بابت زحمت پاسخی که میدهید ممنونم.
    من حدود دوهفته است که با سایت شما آشنا شدم. هدف من ایجاد گلخانه هیدروپونیک و یا معمولی ولی بصورت کنترل هوشمند هست.
    میخواستم راهنمایی بفرمایید از لحاظ برنامه نویسی
    ۱-کدام زبانهای برنامه نویسی برای انجام پروژه من مناسبتر هست؟
    ۲-تا چه سطحی باید یاد بگیرم؟
    ۳-منبع آموزشی معتبر و ترجیحا مکتوب معرفی بفرمایید.
    تشکر از توجه شما.

    • با سلام
      این مورد بی ارتباط با ال سی دی است. دقت اندازه گیری سنسور را بررسی کنید.

  • سلام
    ببخشید ارور زیر برای چی هست
    Arduino: 1.8.12 (Windows 10), Board: “Arduino Uno”

    Multiple libraries were found for “DHT.h”
    In file included from C:\Users\PAIA\Documents\Arduino\libraries\DHT-sensor-library-master\DHT_U.cpp:22:0:

    Used: C:\Users\PAIA\Documents\Arduino\libraries\DHT-sensor-library-master
    C:\Users\PAIA\Documents\Arduino\libraries\DHT-sensor-library-master\DHT_U.h:25:10: fatal error: Adafruit_Sensor.h: No such file or directory

    Not used: C:\Users\PAIA\Documents\Arduino\libraries\DHT_sensor_library
    #include

    ^~~~~~~~~~~~~~~~~~~

    compilation terminated.

    exit status 1
    Error compiling for board Arduino Uno.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

  • سلام

    من با شیلد نمایشگر ال سی دی کاراکتری آردوینو Arduino Shield 2×16 LCD با کیپد این مدار رو درست کردم و مقادیر دما و رطوبت به درستی از سنسور گرفته میشه فقط زمانی که متدهای readHumidity یا readTemperature رو فراخوانی میکنم ۸ کاراکتر اول LCD درست نمایش داده میشه و مابقی تبدیل به کاراکترهای ژاپنی بهم ریخته میشه حتی اگر نخوام مقادیر خوانده شده رو داخل LCD نمایش بدم و LCD در حال نمایش یک متن ثابت باشه!

    ممکنه راهنمایی بفرمایید

    ممنونم

    • با سلام
      موردی که میفرمایید کاملا بی ارتباط با دستورات کتابخانه است. توسط آن دو دستور دما و رطوبت خوانده می‌شود. لطفا موارد بیشتری را بررسی کنید و یک تصویر از نمایشگر ضمیمه کنید.

      • سلام مجدد
        ممنون بابت پاشخگویی
        مشکل پیدا شد پایه ای که سنسور بهش متصل بود رزرو خود شیلد هستش و تنها ظاهرا پایه های دیجیتال ۰,۱,۲,۳,۱۲,۱۳ برای استفاده آزاد هستند.
        با خواندن اطلاعات از سنسور اطلاعات بر روی مانیتور نیز میرفته و ترکیب نمایش رو بهم میزده.

  • سلام. plc ها یک تایمر دارن هفتگی- ماهانه- سالانه. میخواستم بدونم این موضوع رو میشه با آردوینو برنامه ریزی کرد که مثلا ۴ روز دیگه دستگاهی رو یک ساعت رو شن کنه و دوباره ۴ روز بعدش؟

    • با سلام
      عملا پیاده سازی این مورد نیاز به دانش فنی و برنامه نویسی دارد و حتی از ترکیب آردوینو در PLC هم میتوان اشاره کرد.

  • سلام خسته نباشید,
    تو نمایشگر مقدار دما رو منفی و رطوبت رو صد و پنجاه درصد اعلام می کنه
    و بعدش عبارت (nan. 8% و nan 40) رو نشون میده.
    احتمال داره مشکل از ماژولDHT11 باشه؟

    • با سلام
      در این خصوص سنسور وصل نشده است و دیتا را نمایش نمیدهد. نحوه ی اتصالات را اعلام کنید تا بررسی شود.

  • سنسور DHT11: مثبت و منفی به ۵ ولت و gnd آردوینو و پایه سیگنال به پایه ۸ متصل شده.

    LCD 16*2: پایه Vss به GND , پایه vdd به ۵ ولت , پایه vo با مقاومت ۱ و نیم کیلو اهم به GND , پایه RS به پایه ۱۲ , RW به GND , پایه E به پایه ۱۱ , پایه های d4 d5 d6 d7 به ترتیب به پایه های ۵ / ۴/ ۳/ ۲ و A و K به ۵ ولت و GND.
    البته برد آردوینو روی سطوح صاف ال ای دی L روشن میشه ولی اگه زیر برد تماسی با جایی نداشته باشه, خاموشه.

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

  • سلام.من همونجوری که گفته بودید اتصالات رو انجام دادم و کد رو آپلود کردم ولی یا مینویسه “nan” یا چرت و پرت مینویسه(مثلا میگه رطوبت محیط===۱۴۳)

    • با سلام
      با توجه به اینکه پایه های سنسور نویز پذیر است، روش اتصال و حتی سیم های مورد استفاده تاثیر به سزایی دارد. با توجه به ارورهای دریافتی اتصالات را بررسی کنید.

  • سلام .اقداماتی که گفتید رو انجام دادم ولی نمیدونم چرا چرت و پرت مینویسه.مثلا میگه رطوبت ۱۳۹% که این غیر ممکنه!

    • در صورتیکه از اتصالات اطمینانی دارید، ممکن است ایراد از سنسور باشد.
      همچنین ورژن کتابخانه حتما بایستی جدیدترین کتابخانه باشد.

  • سلام مهندس وقت بخیر
    برای این پروژه اگر بخوام دستور if رو اجرا کنم چه کار باید کرد
    مثلا دما اگر روی ۲۵ اومد رله وصل بشه
    با تشکر

  • سلام من میخوامبرنامه اپلود کنم ین ارور میده
    Arduino: 1.8.13 (Windows 10), Board: “Arduino Uno”

    In file included from C:\Users\Seven\Documents\Arduino\libraries\DHT-sensor-library\DHT_U.cpp:15:0:

    C:\Users\Seven\Documents\Arduino\libraries\DHT-sensor-library\DHT_U.h:36:10: fatal error: Adafruit_Sensor.h: No such file or directory

    #include

    ^~~~~~~~~~~~~~~~~~~

    compilation terminated.

    exit status 1

    Error compiling for board Arduino Uno.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    • با سلام
      کتابخانه ی Adafruit_Sensor.h نصب نشده است، آن را نصب و مراحل را ادامه دهید.

  • با عرض سلام و خسته نباشی خدمت شما
    سوال من اینکه مگر نه اینکه سنسورها آنالوگ هستند پس چرا شما آنه رو به پورت دیجیتال متصل میکنید این بخاطر استفاده از کتابخانه هایی است که اضاف می کنید

    • با سلام
      سنسور dht دیجیتال است و آنالوگ نیست و در این خصوص ارتباطی با کتابخانه ندارد.

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

    • با سلام
      سنسور dht دیجیتال است و آنالوگ نیست و در این خصوص ارتباطی با کتابخانه ندارد.

  • سلام
    من مدار را بستم و کد را آپلود کردم اما نتیجه درست در نمیاد
    اعداد ۱۵ و ۱۴۴ را میزند !

    • با سلام
      کتابخانه را آپدیت کنید. اتصالات را بررسی کنید. نوع کابل مورد استفاده بسیار مهم است.

        • با سلام
          در این صورت سنسور ممکن است نویز ایجاد شده باشد.
          اتصالات کابل ها را بررسی کنید. همچنین کتابخانه باید آخرین ورژن باشد.

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

    • با سلام
      برای اتصال ال سی دی یک مقاومت ۱۰ کیلو و یا یک پتانسیومتر ۱۰ کیلو بین پایه VO و پایه GND قرار دهید، مشکل حل خواهد شد.

  • بیخیال زندگی …..چون هنوز نفهیدم چرا کدهای شما اپلود نمیشه اما کدهای مثال خوده برد uno r3 Arduinoاپلود میشه؟؟
    یه نفر بلد نیس چرا کد های سنسور اپلود نمیشه.

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

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

  • سلام وقتتون بخیر .
    من طبق آموزش خودتون بردو راه اندازی کردم . از سنسور با همین کد جواب گرفتم. ولی مشکلم با lcd هستش. کد رو که اپلود میکنم ارور بهم میده و اپلود نمیشه .
    این اروریه که بهم میده. مشکلش از کجاست؟
    Arduino: 1.8.19 (Windows 7), Board: “Arduino Uno”
    sketch_jun10b:1:10: fatal error: LiquidCrystal.h: No such file or directory
    #include
    compilation terminated.
    exit status 1
    LiquidCrystal.h: No such file or director
    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    • با سلام
      کتابخانه LiquidCrystal.h نصب نشده است و به همین دلیل این ارور نمایش داده شده است.

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

    • با سلام
      سنسور وصل نشده است. کابل را بررسی کنید. اگر از سنسور استفاده می‌کنید یک مقاومت ۱۰ کیلو بین پایه دیتا و تغذیه قرار دهید.

  • سلام .
    برای اینکه نویز رو کمتر کنم یا بردارم باید چیکار کنم. ال سی دی فقط nan نشون میده

  • درود. کنترلر رطوبت هم اضافه کردم واستفاده از LCD کاراکتری بسیار عالی
    #include
    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
    #include
    int DHT11Sensor = 8;
    int DHT11value;
    #define pinSpeaker 9
    #define relay1 10
    #define relay2 6
    #define DHTTYPE DHT11
    #define maxTemp 29.5
    #define maxHumidity 59.5
    DHT dht(DHT11Sensor, DHTTYPE);
    byte degree[8] ={ B00001100,B00010010, B00010010, B00001100,B00000000, B00000000, B00000000, B00000000,};
    void setup()
    {
    pinMode(relay1,OUTPUT);
    pinMode(relay2,OUTPUT);
    pinMode(pinSpeaker,OUTPUT);
    lcd.begin(16,2);
    lcd.clear();
    lcd.createChar(0, degree);
    }
    void loop()
    {
    float h = dht.readHumidity(); // خواندن دیتای رطوبت
    float t = dht.readTemperature(); // خواندن دیتای دما
    if(t>maxTemp){
    digitalWrite(relay1,HIGH); //رله فعال میشود
    playTone(300, 160); //بیزر فعال و هشدار میدهد
    delay(200); //تاخیر ۲۰۰ میلی ثانیه
    }else{
    digitalWrite(relay1,LOW); // رله غیر فعال میشود
    playTone(0, 0); // بیزر غیر فعال میشود
    delay(200); // تاخیر ۲۰۰ میلی ثانیه
    }
    if(h>maxHumidity ){
    digitalWrite(relay2,HIGH); //رله فعال میشود
    playTone(300, 160); //بیزر فعال و هشدار میدهد
    delay(200); //تاخیر ۲۰۰ میلی ثانیه
    }
    else{
    digitalWrite(relay2,LOW); // رله غیر فعال میشود
    playTone(0, 0); // بیزر غیر فعال میشود
    delay(200); // تاخیر ۲۰۰ میلی ثانیه
    }
    lcd.setCursor(0,0);
    lcd.print(“Temp : “); // نمایش عبارت Temp در ال سی دی
    lcd.print(” “);
    lcd.setCursor(7,0);
    lcd.print(t,1);
    lcd.setCursor(12,0);
    lcd.write((byte)0);
    lcd.setCursor(0,1);
    lcd.print(“Humid: “); // نمایش عبارت humid در ال سی دی
    lcd.print(” “);
    lcd.setCursor(7,1);
    lcd.print(h,1);
    lcd.setCursor(12,1);
    lcd.print(“%”);
    delay(2000);
    }
    void playTone(long duration, int freq) { // تعیین زمان و فرکانس ماژول بیزر : زمان بر اساس میلی ثانیه و فرکانس بر اساس هرتز می باشد.

    duration *= 1000; // انتخاب زمان
    int period = (1.0 / freq) * 1000000; // تعیین فرکانس
    long elapsed_time = 0;
    while (elapsed_time < duration) { // اگر زمان سپری شده کوچک تر از مدت تعریف شده در کد باشد
    digitalWrite(pinSpeaker,HIGH); // بیزر فعال خواهد شد
    delayMicroseconds(period / 2); // تاخیر
    digitalWrite(pinSpeaker, LOW); // بیزر غیر فعال خواهد شد
    delayMicroseconds(period / 2);
    elapsed_time += (period); // تعریف زمان سپری شده
    }
    }

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

  • درود بر شما خانم مهندس
    حدود ۴۸ ساعته روی این پروژه کار میکنم و نتیجه نگرفتم. در سایت های دیگر برنامه ها طور دیگری نوشته شده اند ولی مطالب شما کاملا درست و مفید بود سبب شد به نتیجه برسم.
    فقط خواستم بدانم که مقادیر دما و رطوبت نشان داده شده در LCD رو چطور میتونم کالیبره کنم؟
    واقعا تشکر