دماسنج و رطوبت سنج باسنسورDHT22(وژن 2.6،ارتقاء داده شده)

در اين بخش مي‌توانيد طرح آماده و کامل شده مرتبط با میکروکنترلرهای AVR را مشاهده بفرمایید

مدیران انجمن: SAMAN, sinaset, شوراي نظارت

طرح هایی تاپیک رو چطور ارزیابی می کنید

بسیار خوب و مفید.
41
82%
خوب و مفید.
7
14%
جایی کار بیشتر دارد.
2
4%
 
مجموع رای گیری: 50

New Member
پست: 2
تاریخ عضویت: شنبه 21 شهریور 1394, 2:40 pm
سپاس‌های دریافتی: 4 بار

Re: دماسنج و رطوبت سنج با سنسور DHT22

پست توسط nobogh » پنج شنبه 14 آبان 1394, 2:33 pm

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

Colonel II
Colonel II
نمایه کاربر
پست: 7007
تاریخ عضویت: سه شنبه 26 آذر 1387, 4:20 pm
سپاس‌های ارسالی: 9183 بار
سپاس‌های دریافتی: 21042 بار
تماس:

Re: دماسنج و رطوبت سنج با سنسور DHT22

پست توسط sinaset » پنج شنبه 14 آبان 1394, 7:47 pm

سلام بر شما

تشکر از اظهار لطف شما و تشکر از باگی یا اشکالی که پیدا کردید.تصویر

*اشکال برطرف شد.. می توانید از کدهای زیر استفاده کنید .. انشالله مشکلتان حل خواهد شد .

کد: انتخاب همه

/*******************************************************
Project :sinaset
Version :v3
Date    : 08/27/2015    //1394.6.5
Chip type         : ATmega8A
Program type        : Application
AVR Core Clock frequency: 8.000000 MHz
*******************************************************/
// DHT22 humidity and Temprature sensor & USART Project
#include <mega8.h>
#include <delay.h>
#include <stdio.h>
#include <alcd.h>
#include "DHT22.h"
void main(void)
{
float temperature,humidity;
unsigned char str[16],str2[16],temp[16],hum[16];

// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: Off
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x08;
UCSRC=0x06;
UBRRH=0x00;
UBRRL=0x33;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

DDRC.0=1;
PORTC.0=0;
lcd_init(16);
    lcd_gotoxy(0,0);//انتخاب سطر اول،براي ثابت ماند ارور روي ال سي دي
    lcd_putsf("LODING..");   //متن مورد نظر شما
    delay_ms(3000);    // سه ثانيه تاخير
    lcd_clear();     //دستور پاک سازي ال سي دي   
while (1)
    {
      if(dht22_read(&temperature,&humidity) == -40)  // اصلاح اخطار ارور براي نمايش دما منفي
      {
      lcd_gotoxy(0,0);//انتخاب سطر اول،براي ثابت ماند ارور روي ال سي دي
      lcd_putsf("DHT22  ERROR  ");
      }
    else    
      {
       ftoa(temperature,1,temp);
      //sprintf(str,"Temp=%s",buff);
      //putsf("Temp ="); 
      //puts(str);            
      ftoa(humidity,1,hum); 
      sprintf(str,"Temp=%s%",temp);
      sprintf(str2,"Humidity=%s%",hum);
      //putsf("Hum =");
      lcd_clear();   
      lcd_gotoxy(0,0);  //انتخاب سطر اول ال سي دي
      lcd_puts(str);   //نمايش دما
      lcd_gotoxy(0,1); //انتخاب سر دوم ال سي دي
      lcd_puts(str2);  //نمايش رطوبت 
      lcd_gotoxy(14,1);//انتخاب سطر دوم ،ستون 14 دهم
      lcd_puts("%");  //نمايش دادن درصد   
      lcd_gotoxy(10,0); //انتخاب سطر اول و ستون دهم
      lcd_puts("C"); //نشان دادن علامت دما
      } 
      if(temperature >=45 && humidity >=50)PORTC.0=1;  //درصورتي که دو شرط اجرا شود،رله روشن ميشود
       else PORTC.0=0;   
      
    delay_ms(2000);   //مدت زمان تاخير براي خواندن مجدد سنسور
    }      
}


خط مشکل دار و اصلاح آن..

کد: انتخاب همه

      if(dht22_read(&temperature,&humidity) == -40)  // اصلاح اخطار ارور براي نمايش دما منفي

باتشکر.
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

New Member
پست: 2
تاریخ عضویت: شنبه 21 شهریور 1394, 2:40 pm
سپاس‌های دریافتی: 4 بار

Re: دماسنج و رطوبت سنج با سنسور DHT22(ورژن3)

پست توسط nobogh » سه شنبه 19 آبان 1394, 10:07 am

:smile: :smile: :smile: :smile: :smile:
متشکر فکر نمیکردم اشکال به این راحتی حل بشه و فکر میکردم مشکل از کتابخونه باشه...
ضمنا این کتابخونه و برنامه برای اکثر سنسور های تک سیمه دما جواب میده (اکثرا هسته مرکزیشون هممون dht22 هست ) من خودم تست کردم...
اگه امکان داره روش ساخت کتابخونه توی کد ویژن رو هم بزارید...
باز هم تشکر از سایت و مدیرانش....

Colonel II
Colonel II
نمایه کاربر
پست: 7007
تاریخ عضویت: سه شنبه 26 آذر 1387, 4:20 pm
سپاس‌های ارسالی: 9183 بار
سپاس‌های دریافتی: 21042 بار
تماس:

Re: دماسنج و رطوبت سنج با سنسور DHT22(ورژن3)

پست توسط sinaset » یک شنبه 24 آبان 1394, 11:12 am

بنام خدا
باسلام

ارتقاء ورژن 2 به 2.1
 تصویر 
در ورژن 2 یک سری تغییرات اعمال کردم ... از این به بعد متناسب با دما متنی نمایش داده میشود

دمای -40 تا 0 متن ICE
دمای 0 تا 25 متن COOL
دمای 25 تا 35 متن GOOD
دمای 35 تا 45 متن HOT (بصورت چشمک زن )

کدها ورژن جدید...

کد: انتخاب همه

/*******************************************************
Project :sinaset
Version :v2.1
Date    : 08/27/2015    //1394.6.5
Author  :
Company :
Comments:

Chip type         : ATmega8A
Program type        : Application
AVR Core Clock frequency: 8.000000 MHz
*******************************************************/
// DHT22 humidity and Temprature sensor & USART Project
#include <mega8.h>
#include <delay.h>
#include <stdio.h>
#include <alcd.h>
#include "DHT22.h"

void main(void)
{
float temperature,humidity;
char str[16],str2[16],temp[10],hum[10];
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: Off
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x08;
UCSRC=0x06;
UBRRH=0x00;
UBRRL=0x33;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
lcd_init(16);
    lcd_gotoxy(0,0);//انتخاب سطر اول،براي ثابت ماند ارور روي ال سي دي
    lcd_putsf("LODING..");   //متن مورد نظر شما
    delay_ms(3000);    // سه ثانيه تاخير
    lcd_clear();     //دستور پاک سازي ال سي دي   
while (1)
    {
      if(dht22_read(&temperature,&humidity) == -40)
      {
      lcd_gotoxy(0,0);//انتخاب سطر اول،براي ثابت ماند ارور روي ال سي دي
      lcd_putsf("DHT22  ERROR  ");
      }
    else    
      {
       ftoa(temperature,1,temp);
      //sprintf(str,"Temp=%s",buff);
      //putsf("Temp ="); 
      //puts(str);            
      ftoa(humidity,1,hum); 
      sprintf(str,"Temp=%s",temp);
      sprintf(str2,"Humidity=%s  %",hum);
      //putsf("Hum =");
      lcd_clear();   
      lcd_gotoxy(0,0);  //انتخاب سطر اول ال سي دي
      lcd_puts(str);   //نمايش دما
      lcd_gotoxy(0,1); //انتخاب سر دوم ال سي دي
      lcd_puts(str2);  //نمايش رطوبت 
      lcd_gotoxy(14,1);//انتخاب سطر دوم ،ستون 14 دهم
      lcd_puts("%");  //نمايش دادن درصد   
      lcd_gotoxy(10,0); //انتخاب سطر اول و ستون دهم
      lcd_puts("C"); //نشان دادن علامت دما 
        if (temperature>=-39 & temperature<=0)
        {
         lcd_gotoxy(12,0);
         lcd_puts("ICE");   
        }
        if (temperature>=0 & temperature<=25)
        {
         lcd_gotoxy(12,0);
         lcd_puts("COOL");   
        }
      
        if (temperature>=25 & temperature<=35)
        {
         lcd_gotoxy(12,0);
         lcd_puts("GOOD");   
        }

        if (temperature>=35 & temperature<=45)
        {
         lcd_gotoxy(12,0);
         lcd_puts("  "); 
         delay_ms(500);
         lcd_gotoxy(12,0); 
         lcd_puts("HOT"); 
        }   
      }   
    delay_ms(2000);   //مدت زمان تاخير براي خواندن مجدد سنسور
    }      
}


باتشکر.
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

New Member
نمایه کاربر
پست: 17
تاریخ عضویت: سه شنبه 30 تیر 1394, 5:15 pm
سپاس‌های ارسالی: 71 بار
سپاس‌های دریافتی: 13 بار

Re: دماسنج و رطوبت سنج با سنسور DHT22(ورژن3)

پست توسط hese » دو شنبه 16 آذر 1394, 11:16 pm

با سلام دوباره .
من هنوز نتونستم اینو راش بندازم . فیوز بیت رو هم روی 8 مگاهرتز داخلی تنظیم کردم ولی نشد . ال سی دی هم همونطور نشون میده .
تا زمانیکه دست از تلاش نکشیده اید، شکست نخورده اید...
آلبرت اینشتین

Colonel II
Colonel II
نمایه کاربر
پست: 7007
تاریخ عضویت: سه شنبه 26 آذر 1387, 4:20 pm
سپاس‌های ارسالی: 9183 بار
سپاس‌های دریافتی: 21042 بار
تماس:

Re: دماسنج و رطوبت سنج با سنسور DHT22(ورژن3)

پست توسط sinaset » سه شنبه 17 آذر 1394, 7:30 am

با سلام
-
یک تصویر از مدارتون قرار بدید و بفرمایید که دقیقا چه اشکالی وجود دارد .؟!(در صورت امکان توضیحات بیشتر ارائه کنید)
باتشکر.
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

New Member
نمایه کاربر
پست: 17
تاریخ عضویت: سه شنبه 30 تیر 1394, 5:15 pm
سپاس‌های ارسالی: 71 بار
سپاس‌های دریافتی: 13 بار

Re: دماسنج و رطوبت سنج با سنسور DHT22(ورژن3)

پست توسط hese » سه شنبه 17 آذر 1394, 4:55 pm

باسلام و تشکّر فراوان .
مشکلم اینه که lcd نشون میده . خودم احتمال میدم از فیوز بیت ها باشه.
اینم عکس ها .
[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]
[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]
[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]
[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]
[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]
پروگرامرم progisp هستش .
و سوالم اینه که علاوه بر CKSEL هاچیز دیگه ای رو نباید تغییر بدم ؟
[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]
تا زمانیکه دست از تلاش نکشیده اید، شکست نخورده اید...
آلبرت اینشتین

Colonel II
Colonel II
نمایه کاربر
پست: 7007
تاریخ عضویت: سه شنبه 26 آذر 1387, 4:20 pm
سپاس‌های ارسالی: 9183 بار
سپاس‌های دریافتی: 21042 بار
تماس:

Re: دماسنج و رطوبت سنج با سنسور DHT22(ورژن3)

پست توسط sinaset » سه شنبه 17 آذر 1394, 7:14 pm

با سلام

اگر فیوز بیت شما طبق تصویرتون باشه،اشتباه. چون در حالت 1 مگاهرتز می باشد .

CKSEL3 رو 0 قرار بدید
CKSEL2 رو 1 قرار بدید
CKSEL1 رو 0 قرار بدید
CKSEL0 رو 0 قرار بدید

بعد روی گزینه write بزنید تا فرکانس 8 مگاهرتز بر روی میکروکنترولر ست شود (یادتون باشه باقی تنظیمات رو تغییر ندید،و با دقت کار کنید)
باتشکر.
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

New Member
نمایه کاربر
پست: 17
تاریخ عضویت: سه شنبه 30 تیر 1394, 5:15 pm
سپاس‌های ارسالی: 71 بار
سپاس‌های دریافتی: 13 بار

Re: دماسنج و رطوبت سنج با سنسور DHT22(ورژن3)

پست توسط hese » سه شنبه 17 آذر 1394, 9:28 pm

باسلام . خیلی ممنون تصویر
حالا مطمئن شدم که از پروگرامر نیست . انشاء ا... که از LCD باشه و عوضش کنم و درست بشه . بسیار متشکرم ازتون . تصویر
تا زمانیکه دست از تلاش نکشیده اید، شکست نخورده اید...
آلبرت اینشتین

New Member
نمایه کاربر
پست: 2
تاریخ عضویت: یک شنبه 22 آذر 1394, 6:56 pm
سپاس‌های ارسالی: 1 بار
سپاس‌های دریافتی: 2 بار
تماس:

Re: دماسنج و رطوبت سنج با سنسور DHT22(ورژن3)

پست توسط antegral00 » دو شنبه 23 آذر 1394, 6:52 pm

سلام خیلی ممنون از برنامه اتون
من مدارشو بست اما دما و رطوبتو صفر نشون میده
دلیلش چیه ؟
کریستالم روی 8 مگا هرتز گذاشتم
از فایلای کتابخونه ایی که گذاشتینم استفاده کردم اما دما و رطوبتو صفر نشون میده
تصویرتصویر

Colonel II
Colonel II
نمایه کاربر
پست: 7007
تاریخ عضویت: سه شنبه 26 آذر 1387, 4:20 pm
سپاس‌های ارسالی: 9183 بار
سپاس‌های دریافتی: 21042 بار
تماس:

Re: دماسنج و رطوبت سنج با سنسور DHT22(ورژن3)

پست توسط sinaset » دو شنبه 23 آذر 1394, 7:21 pm

سلام بر شما
خواهش میکنم .
-
از کدها برنامه که در این تاپیک قرار داده شده استفاده کردید؟یا که فقط از کتابخانه استفاده کردید؟!

مقاومت پول اپ رو بر روی DHT22 قرار دادید؟! پایه ها سنسور رو درست زدید؟!
اگر تونستید یک عکس از مدارتون هم قرار بدید.
باتشکر.
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

New Member
پست: 1
تاریخ عضویت: شنبه 12 دی 1394, 10:40 am

Re: دماسنج و رطوبت سنج با سنسور DHT22(ورژن3)

پست توسط parsiak72 » شنبه 12 دی 1394, 11:06 am

سلام
میشه برای dht11 هم کتاب خانه و مثال قرار بدید
ممنون

ارسال پست

بازگشت به “طرح آماده و کامل شده AVR”