دماسنج و رطوبت سنج با سنسور DHT11 (ورژن3-دمابرروی کامپیوتر!)

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

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

نظرتان در رابطه با طرح های موجود در تاپیک چیست؟!

طرح های خوب و کاربردی و مفیدی هستن ادامه دهید
4
80%
طرح های خوبیست،اما سنسور DHT11 چندان ارزش توسعه ندارد!
1
20%
بطوری کلی طرح جایی کار بیشتر میداشت.
0
بدون راي
 
مجموع رای گیری: 5

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

Re: دماسنج و رطوبت سنج با سنسور DHT11 (ورژن2-ارسال وایرلس)

پست توسط sinaset » سه شنبه 29 فروردین 1396, 9:07 pm

سلام بر شما.
تغییرات که اشاره کردید.اعمال کردم.[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]می تونید دانلود کنید.
باتشکر.
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

New Member
پست: 9
تاریخ عضویت: جمعه 18 اردیبهشت 1388, 2:26 pm
سپاس‌های ارسالی: 10 بار

Re: دماسنج و رطوبت سنج با سنسور DHT11 (ورژن2-ارسال وایرلس)

پست توسط resss » چهار شنبه 30 فروردین 1396, 12:28 am

واقعا ممنونم
لطف کردید :razz: :razz:

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

Re: دماسنج و رطوبت سنج با سنسور DHT11 (ورژن3-دمابرروی کامپیو

پست توسط sinaset » شنبه 2 اردیبهشت 1396, 6:50 pm

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



ورژن 3 - نمایش دما و رطوبت بر روی کامپیوتر!
 تصویر 
در وژن 3 که تقریبا مراحل پایانی طراحی ان می باشد! دما و رطوبت به روی کامپیوتر نمایش داده میشود!


انشالله بزودی ان را قرار خواهم داد.

قابلیت ها ورژن3:

*ارتباط به صورت وایرس به کمک دو ماژل rf433 (گیرنده و فرستنده )
*کم مصرف بودن مدار فرستنده! و قابلیت powersave در زمان بیکاری (دما هر 1 دقیقه ارسال میشود،که می توان به هر میزان ان را تغییر داد)
*نمایش دما،رطوبت به اسانی بروی کامپیوتر (به کمک هر مبدل سریال به usb )
*نرم افزار گرافیکی به محیط ساده
*قابلیت ذخیره همه دما و رطوبت ارسال شده به صورت خودکار
*لیست اونلاین اخرین دما و رطوبت ارسال شده
و...
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

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

Re: دماسنج و رطوبت سنج با سنسور DHT11 (ورژن3-دمابرروی کامپیو

پست توسط hese » جمعه 12 خرداد 1396, 6:55 pm

ورژن 3 - نمایش دما و رطوبت بر روی کامپیوتر!
مشتاقانه در انتظاریم.......
تا زمانیکه دست از تلاش نکشیده اید، شکست نخورده اید...
آلبرت اینشتین

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

Re: دماسنج و رطوبت سنج با سنسور DHT11 (ورژن3-دمابرروی کامپیو

پست توسط sinaset » دو شنبه 15 خرداد 1396, 11:29 am

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


ورژن 3 دما بر روی کامپیوتر
 تصویر 
قبل از هر چیز،پوزش از بابت توضیحات کوتاه...

در این ورژن،دما به کمک یک فرستنده کم مصرف برای گیرنده فرستاده میشود،سپس گیرنده به کمک مبدل سریال به usb اطلاعات را برای کامپیوتر می فرستد،سپس نرم افزار ان را به نمایش گذارد.

قابلیت های نرم افزار:

نمایش همه دما ها دریافتی+ زمان دریافت.
قابلیت ذخیره همه دما های دریافتی
قابلیت تخمین زمان دریافت اطلاعات بعدی(دما هر 1 دقیقه یک بار ارسال میشود)
قابلیت نمایش اخرین دما دریافتی به صورت یک toolbar کنار ساعت
و....


مدار فرستنده و گیرنده

 تصویر   فرستنده از مد کم مصرف powersave استفاده میکند،برای همین توان مصرفی ان در حالت بی کاری کم می باشد.اما! اگر مدار بدرستی ساخته نشود،احتمالا توان بالا خواهد    برای مدار فرستنده تقریبا از مداری فرستنده شبیه به مدار بالا استفاده کردم. اما شما بهتراست،کمی ان را بهتر کنید.! مشکل مدار فرستنده چند مورد می باشد، !   برای رفتن به مد power save به ولتاژ نزدیک 3.5 و کمتر نیاز دارد!   RF433 نیاز به ولتاژ 5 ولت برای ارسال صحیح اطلاعات دارد!    شما باید به کمک المان های الکترونیک، کاری کنید،که میکروکنترولر در ولتاژ نزدیک 3.5 یا 3 کار کند،سپس به کمک یک مبدیل DC به DC ان را به 5 یا بیشتر ! برسانید (گرچه همان 5 ولت بسیار خوب می باشد) اما در عین حال،باید تمام قطعات در حالتی که میکروکنترولر در حالت powersave می باشد،توان مصرفی نداشته باشند،باید به کمک قطعاتی مثل pc817 جریان یا ولتاژشان را کامل قطع کرد . این ها همه بخاطر این است،که مدار فرستنده بتواند با 2 یا 3 عدد باتری قلمی برای مدتی فعالیت کند ! (* هرچقدر دیتا دیرتر فرستاده شود،طول عمر بالاتر می رود! اگر اشتباه نکرده باشم،اگر دیتا ها هر 1 ساعت یک بار ارسال شود،طول عمر باتری ها به بیش از چندین ماه می رسد! )  *دقت کنید،که حتما در میکرو فرستنده، کریستال 32 کیلوهرتزی اتصال دهید،چون میکروکنترولر به کمک این کریستال می باشد،که از خواب بیداری   *فیوز بیت واچ داگ،مربوط به گیرنده را فعال کنید،چون کدهایی ان نوشته شده،(و چون بعضی وقت ها کدها بدرستی ارسال نمیشود،مدار گیرنده هنگ میکند! برای رفع این مشکل باید واچ داگ فعال شود)  کدهای مربوط به مدار فرستنده : 

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

/*******************************************************
v2
PROJECT: Rf433 DHT11  to computer
by:sinaset
Site:centralclubs.com

Chip type         : ATmega8
AVR Core Clock frequency: 8 MHz
*******************************************************/
#include <mega8.h>
#include <stdio.h>
#include <stdlib.h>
#include <delay.h>
#include <sleep.h>
#include "dht.h"    //معرفي کتابخانه سنسور
unsigned char sane=0;

void sleep()
{
delay_ms(50);
PORTB.1=0;
PORTD.1=0;
UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (0<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
UBRRH=0x00;
UBRRL=0x00;
sleep_enable();
};
void startup()
{
sleep_disable();
PORTB.1=1;
PORTD.1=1;
UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) | (0<<U2X) | (0<<MPCM);
UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (1<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
UCSRC=(1<<URSEL) | (0<<UMSEL) | (0<<UPM1) | (0<<UPM0) | (0<<USBS) | (1<<UCSZ1) | (1<<UCSZ0) | (0<<UCPOL);
UBRRH=0x00;
UBRRL=0x67;
delay_ms(150);
};
void send_data()
{
unsigned char str2[10];
 
//دما به همراه يک متن،براي صحيح ارسال شدن اطلاعات،فرستاده ميشود   
sprintf(str2,"&sms:%-03d\n%-03d\n*$",temperature(), humidity());
puts(str2); 
puts(str2);  //براي بهتر ارسال شدن اطلاعات،دوبار فرستاده ميشود
}

interrupt [TIM2_OVF] void timer2_ovf_isr(void)   //هر 1 ثانيه يک بار اين تابع بررسي ميشود
{
sane++;   
if(sane==59)      //هر 59 ثانيه يک بار ديتا ها را ارسال کن
    {
    startup();
    delay_ms(1500); 
    send_data();
    sane=0;
    sleep();
    };   
}

void main(void)
{
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Mode: Asynchronous
// USART Baud Rate: 4800
UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) | (0<<U2X) | (0<<MPCM);
UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (1<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
UCSRC=(1<<URSEL) | (0<<UMSEL) | (0<<UPM1) | (0<<UPM0) | (0<<USBS) | (1<<UCSZ1) | (1<<UCSZ0) | (0<<UCPOL);
UBRRH=0x00;
UBRRL=0x67;
//براي اينکه ميکرو به حالت کم مصرف برود بايد کريستال 32 کيلوهرتزي به ميکروکنترولر اتصال يابد
// راه اندازي تايمر شماره 2
// اتصال پايه9و 10 ميکرو به کريستال 32کيلوهرتزي
ASSR=1<<AS2;
TCCR2=(0<<PWM2) | (0<<COM21) | (0<<COM20) | (0<<CTC2) | (1<<CS22) | (0<<CS21) | (1<<CS20);
TCNT2=0x00;
OCR2=0x00;
TIMSK=(0<<OCIE2) | (1<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (0<<TOIE0);

DDRB.1=1;
PORTB.1=1;
delay_ms(400);
#asm("sei")
sleep();
while (1)
     {powersave();    //مدکم مصرف در حلقه اصلي
    }      
}         


کدهای مربوط به گیرنده :

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

/*******************************************************
PROJECT: Rf433 DHT11
by:sinaset
Site:centralclubs.com
Chip type         : ATmega8
Program type        : Application
AVR Core Clock frequency: 11.059200 MHz
Memory model        : Small
External RAM size     : 0
Data Stack size       : 256
*******************************************************/
#include <mega8.h>
#include <stdio.h>
#include <string.h>
#include <delay.h>

#define DATA_REGISTER_EMPTY (1<<UDRE)
#define RX_COMPLETE (1<<RXC)
#define FRAMING_ERROR (1<<FE)
#define PARITY_ERROR (1<<UPE)
#define DATA_OVERRUN (1<<DOR)

#define RX_BUFFER_SIZE 32
char rx_buffer[RX_BUFFER_SIZE];
#if RX_BUFFER_SIZE <= 256
unsigned char rx_wr_index=0,rx_rd_index=0;
#else
unsigned int rx_wr_index=0,rx_rd_index=0;
#endif
#if RX_BUFFER_SIZE < 256
unsigned char rx_counter=0;
#else
unsigned int rx_counter=0;
#endif
bit rx_buffer_overflow;      

bit on=0;   //بيت براي روشن  پيام دريافتي
bit ok=1;
char str[25],str2[32],str3[32];
char i=0;
char f=2;
char null='';  //متغيير خالي

void clean(void)    //پاک سازي  داده ها
{
   char rest;
    for(rest=0;rest<16;rest++)
    {
   str[rest]=0;
   str2[rest]=0;
    }
}
interrupt [USART_RXC] void usart_rx_isr(void)
{
char status,data;
char x;
status=UCSRA;   
data=UDR;

  if(data=='$' || data=='&')clean();    //کد خاتمه و پاک سازي
  str[I]=data;
  i++;
  if(i==16)i=0; 
  if(data=='&')i=0,clean();        //کد اماده سازي 

         if(ok==1 && str[0]=='s' && str[1]=='m' && str[2]=='s')
         {   
          sprintf(str2,"%s",str);          
          if( str2[f]=='*')
          {
          str2[f]=null;
          ok=0;

          for(x=0;x<32;x++)str3[x]=0;
            
          sprintf(str3,"%s",str2);   
          on=1;    //بيت دريافت پيام روشن شود
          f=1;   
          }
          f++;
         
         }
                              
}   
#ifndef _DEBUG_TERMINAL_IO_
// Get a character from the USART Receiver buffer
#define _ALTERNATE_GETCHAR_
#pragma used+
char getchar(void)
{
char data;
while (rx_counter==0);
data=rx_buffer[rx_rd_index++];
#if RX_BUFFER_SIZE != 256
if (rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0;
#endif
#asm("cli")
--rx_counter;
#asm("sei")
return data;
}
#pragma used-
#endif

void main(void)
{
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 4800
UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) | (0<<U2X) | (0<<MPCM);
UCSRB=(1<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (1<<RXEN) | (1<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
UCSRC=(1<<URSEL) | (0<<UMSEL) | (0<<UPM1) | (0<<UPM0) | (0<<USBS) | (1<<UCSZ1) | (1<<UCSZ0) | (0<<UCPOL);
UBRRH=0x00;
UBRRL=0x67;

// Watchdog Timer initialization
// Watchdog Timer Prescaler: OSC/2048k
#pragma optsize-
WDTCR=(1<<WDCE) | (1<<WDE) | (1<<WDP2) | (1<<WDP1) | (1<<WDP0);
WDTCR=(0<<WDCE) | (1<<WDE) | (1<<WDP2) | (1<<WDP1) | (1<<WDP0);
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif


#asm("sei")

while (1)
     {
     if(on==1)
     {
     delay_ms(10);
     sprintf(str,"Temp:%c%c HUM:%c%c",str3[4],str3[5],str3[8],str3[9]);    
     puts(str);
     delay_ms(10);   
     #asm("wdr")
    
     ok=1;
     on=0;   
     }   
      #asm("wdr")
      
    }      
}         


[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]برنامه و شبیه ساز (* شبیه ساز کار نمی کند!)
[لینک خارجی برای کاربران مهمان مخفی است، لطفا برای مشاهده لینک ثبت نام نموده و یا وارد سایت شوید]برنامه نمایش دما

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

Rookie Poster
Rookie Poster
پست: 31
تاریخ عضویت: جمعه 8 اردیبهشت 1396, 9:25 pm
سپاس‌های ارسالی: 3 بار

Re: دماسنج و رطوبت سنج با سنسور DHT11 (ورژن3-دمابرروی کامپیو

پست توسط mrramezany » شنبه 27 خرداد 1396, 7:15 pm

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

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

Re: دماسنج و رطوبت سنج با سنسور DHT11 (ورژن3-دمابرروی کامپیو

پست توسط sinaset » شنبه 27 خرداد 1396, 9:48 pm

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

Rookie Poster
Rookie Poster
پست: 31
تاریخ عضویت: جمعه 8 اردیبهشت 1396, 9:25 pm
سپاس‌های ارسالی: 3 بار

Re: دماسنج و رطوبت سنج با سنسور DHT11 (ورژن3-دمابرروی کامپیو

پست توسط mrramezany » جمعه 2 تیر 1396, 6:48 pm

سلام آقا سینا.
امیدوارم حال شما خوب باشد و از سایت بسیار خوبتون کمال تشکر را دارم امیدوارم همیشه پابرجا باشید.
من این مدار را بستم ولی فقط ال سی دی روشن می شودو سنسور هم داغ میشود لطفا راهنمائی کنید.من این پروژه را برای دستگاه جوجه کشی می خواهم .در ضمن اگر بخواهم در دستگاه جوجه کشی از المنت استفاده کنم (المنت 1500 وات)خیلی دما بالا می رود لطفا راهنمایی کنید که چگونه می توانم حرارت المنت را کم کنم ضمنا امکان تهیه المنت با وات کمتر وجود ندارد. با تشکر

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

Re: دماسنج و رطوبت سنج با سنسور DHT11 (ورژن3-دمابرروی کامپیو

پست توسط sinaset » شنبه 3 تیر 1396, 10:29 am

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

Rookie Poster
Rookie Poster
پست: 31
تاریخ عضویت: جمعه 8 اردیبهشت 1396, 9:25 pm
سپاس‌های ارسالی: 3 بار

Re: دماسنج و رطوبت سنج با سنسور DHT11 (ورژن3-دمابرروی کامپیو

پست توسط mrramezany » شنبه 3 تیر 1396, 9:38 pm

با سلام .
از اینکه پاسخ دادید متشکرم . ضمنا راهنمائی کنید یک دماسنج ورطوبت سنج که احتیاجی به برنامه نویسی نداشته باشدو روی ال سی دی بتوان نمایش دما ورطوبت را ملاحظه کرد را در صورت امکان مدارش را قرار دهید چون امکان کامپایل کردن در موقعیت فعلی من وجود ندارد و شدیدا احتیاج فوری به این دو دستگاه دارم.در ضمن بگوئید که دماسنج با LM35 و رطوبت سنج با HT1101 دقیقتر است یا با سنسور DHT11 و طول عمر کدام یک بیشتر میباشد که برای دستگاه جوجه کشی بتوان از آنها استفاده کردو آیا می توانیم دماسنج باLM35 و رطوبت سنج با1 HT110 را روی یک میکرو مثلا atmega 8 نمایش داد و اجرا نمود.
از اینکه وقت میگذارید متشکرم.

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

Re: دماسنج و رطوبت سنج با سنسور DHT11 (ورژن3-دمابرروی کامپیو

پست توسط sinaset » یک شنبه 4 تیر 1396, 10:02 am

سلام بر شما،
خواهش میکنم.
صفحه اول رو مراجعه کنید،ورژن اول که معرفی شده دما و رطوبت را برروی LCD کاراکتری نمایش میدهد.می توانید فایل Hex ان را مستقیم بر روی میکرو پروگرام کنید.
سنسور lm35 سنسور خوبی می باشد.(به نسبت قیمت )رطوبت سنج hs1101 هم خوب می باشد و هم نسبتا دقیق (فقط راه اندازی ان مقدار دشوار می باشد )
سنسور DHT11 سنسور خوب (نسبت به قیمت می باشد) اما برای کارهای حرفه ی و.. خوب نمی باشد! (چون رطوبت سنج دقت پایین و دما را نیز کامل پشتیبانی نمی کند) ،بهتر است صفحه اول رو بخوبی مطالعه کنید.
سنسور DHT22 و سری حرفه ی تری مثل SHT نیز خوب می باشد. که بهتر خودتان تاپیک انها را بررسی کنید.
باتشکر.
"قرآن"(کلام خدا) ...راه سعادت و خوشبختی.

Rookie Poster
Rookie Poster
پست: 31
تاریخ عضویت: جمعه 8 اردیبهشت 1396, 9:25 pm
سپاس‌های ارسالی: 3 بار

Re: دماسنج و رطوبت سنج با سنسور DHT11 (ورژن3-دمابرروی کامپیو

پست توسط mrramezany » یک شنبه 11 تیر 1396, 11:33 am

با سلام
من پروژه را بسته ام ولی روی ال سی دی دما و رطوبت را 250 نمایش میدهد اتصالات را هم چک کردم دقیق بوده لطفا راهنمائی کنید بایستی چه کاری انجام بدهم.
متشکرم

ارسال پست

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