اطلاعیه

Collapse
No announcement yet.

سنسور رطوبت و دمای SHT11

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    سنسور رطوبت و دمای SHT11

    سلام به دوستان خوبم.

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

    از دوستان درخواست دارم که اگه دوستی از سنسور رطوبت و دمای SHT11 جواب گرفته منو کمک کنه.

    من نیاز به یه برنامه صحیح با زبان C دارم که بتونم این سنسور رو راه اندازی کنم.

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

    برای دانلود کل پروژه اینجا رو کلیک کنیدhttp://s2.picofile.com/file/7327299565/SHT11.rar.html

    کد:
    #include <mega8.h>
    // Alphanumeric LCD Module functions
    #include <alcd.h>
    #include <stdio.h>
    #include <delay.h>
    
    #define DATA PINB.0
    #define SCK PORTB.1
    #define DATAO PORTB.0
    #define DATAD DDRB.0
    #define MEASURE_TEMP 0x03 
    #define MEASURE_HUMI 0x05 
    #define RESET    0x1e 
    void sht_start(void)
    {
    DATAD = 1; // DATA is output
    
    DATAO = 1;
    SCK = 0;
    SCK = 1;
    DATAO = 0;
    SCK = 0;
    SCK = 1;
    DATAO = 1;
    SCK = 0; 
    //DATAO = 0;
    }
    //##########################################################################
    
    char sht_write(unsigned char Byte)
    { 
    unsigned char i, error = 0;
    
    DATAD = 1; // Data is an output 
    delay_us(5);
    for(i = 0x80; i > 0; i /= 2)
     {
     SCK = 0;
     if(i & Byte)
     {
      DATAO = 1;
     }
     else
     {
     DATAO = 0;
     } 
     SCK = 1;
     } 
    SCK = 0;
    DATAD = 0; // DATA is input
    SCK = 1;
    error = DATA;
    SCK = 0;
    
    return(error);
    } 
    //###################################################
    unsigned char sht_read(unsigned char ack)
    {
    unsigned char i, val = 0;
    
    DATAD = 0; // DATA is INPUT
    
    for(i = 0x80; i > 0; i /= 2)
    {
    SCK = 1;
    if(DATA)
    {
    val = val | i;
    }
    SCK = 0;
    } 
    DATAD = 1; // DATA is output
    DATAO = ! ack;
    SCK = 1;
    SCK = 0;
    
    return(val);
    }
    //########################################################
    void connection_reset(void)
    {
    unsigned char i;
    DATAD=1;
    DATAO=1;
    for (i=0;i<9;i++)
     {
     SCK=1;
     delay_us(2);
     SCK=0;
     delay_us(2);
     }
     DATAO=1;
     sht_start();
     delay_ms(100);
    }
    //####################################################
    void sht_reset()
    {
    sht_start();
    sht_write(RESET);
    
    delay_ms(100);
    }
    //#####################################################
    // Read the sensor value. Reg is register to read from
    unsigned int ReadSensor(int Reg)
    {
    unsigned char msb, lsb, crc;
    
    sht_start();
    sht_write(Reg);
    
    while(DATA);
    
    msb = sht_read(1);
    lsb = sht_read(1);
    crc = sht_read(0);
    
    return(((unsigned short) msb << 8) | (unsigned short) lsb); 
    }
    //######################################################
    float read_sensor(char humidity0temperture1)
    {
    long int income,temp;
    float out,out0,t;
    switch(humidity0temperture1)
     {
     case 0:
     income = ReadSensor(MEASURE_HUMI);
     out0=(-2.0468+(0.0367*income)+(-1.5955E-6*(income*income))); 
     temp=income;
     delay_ms(500);
     ReadSensor(MEASURE_TEMP);
     t = -40.1 + 0.01*income;
     out=(t-25)*(0.01+0.00008*temp)+out0;
     break;
     case 1:
     income = ReadSensor(MEASURE_TEMP);
     out = -40.1 + 0.01*income;
     break; 
     }
    return(out);
    }
    
    
    void main(void)
    {
    float temp=0,hum=0;
    unsigned char str[16];
    
    DDRB.1=1;
    
    lcd_init(16);
    delay_ms(100);
    sht_start();
    
    while (1)
       { 
       temp=read_sensor(1);
       hum=read_sensor(0); 
       lcd_clear();
       
       lcd_gotoxy(0,0);
        sprintf(str,"temp=%2.2f",temp);
        lcd_puts(str);
        lcd_gotoxy(0,1);
        sprintf(str,"hum=%2.2f",hum);
        lcd_puts(str);  
        sht_reset();
        delay_ms(1000);  
    
       }
    }

    عکس پروتئوس:





    #2
    پاسخ : سنسور رطوبت و دمای SHT11

    سلام دوستان.
    یکی از اساتید میشه کمک کنه برنامه رو چک کنه ؟ تو انجمن هرچی گشتم راجب این سنسور چیزی نبود ...
    این دوستمون هم هم شماتیک و برنامه رو گذاشتن.... :redface:
    هرچند سنسورش 60 تومن شده ولی خوبیش اینه کالیبرست !

    دیدگاه


      #3
      پاسخ : سنسور رطوبت و دمای SHT11

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

      دیدگاه


        #4
        پاسخ : سنسور رطوبت و دمای SHT11

        سلام مرسی سامی جان اگه بتونی اطلاعاتی ازش دربیاری با کدویژن بزاری من سعی میکنم عملی تستش کنم...چون سنسور خوبیه از اونجایی که کالیبره هم هست ارزش کار باهاشو داره.... :redface:
        منتظرم.

        دیدگاه


          #5
          پاسخ : سنسور رطوبت و دمای SHT11

          سلام
          من نشستم دیتاشیت این سنسورو روخونی کردم ... نوشته که باید فاصله سنسور تا میکرو بیشتر از 10 سانت نباشه ، باید یک محافظ بزاریم و ترجیحا از قطعاتی که گرما تولید میکنن دور و جدا باشه ... و از کابل شیلد دار استفاده بشه اگه خارج بورد هست ... من میخوام عملی تستش کنم .
          کسی میتونه کمکم کنه تو راه اندازیش ؟
          pdf رو میزارم :
          http://roboeq.ir/files/id/655/name/SHT1x_datasheet.pdf
          -----------------
          از سایت زیر هم مثال c رو پیدا کردم ولی واسه میکرو pic ولی فک کنم بشه با همین راه انداختش .

          http://www.mikroe.com/add-on-boards/...t/sht1x-proto/

          دیدگاه


            #6
            پاسخ : سنسور رطوبت و دمای SHT11

            سلام
            چرا میخاید از این نوع سنسور استفاده کنید ؟؟

            چون رنج دمائی شما پایئن هست من به شما پیشنهاد میکنم حتما از SMT160 استفاده کنید که تا 140 درجه رو ساپورت میکنه و تا فاصله 25 متری رو من بدون هیچ مشکلی جواب گرفتم و راه اندازیش هم خیلی خیلی راحت هست و من الان دارم ازش استفاده میکنم .قیمتش هم 13-14 هست .این فقط دماسنج هست .اگر برات رطوبت هم مهم هست بگو تا در موردش بحث کنیم ./
            یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

            دیدگاه


              #7
              پاسخ : سنسور رطوبت و دمای SHT11

              نوشته اصلی توسط اقای دکتر
              سلام
              چرا میخاید از این نوع سنسور استفاده کنید ؟؟

              چون رنج دمائی شما پایئن هست من به شما پیشنهاد میکنم حتما از SMT160 استفاده کنید که تا 140 درجه رو ساپورت میکنه و تا فاصله 25 متری رو من بدون هیچ مشکلی جواب گرفتم و راه اندازیش هم خیلی خیلی راحت هست و من الان دارم ازش استفاده میکنم .قیمتش هم 13-14 هست .این فقط دماسنج هست .اگر برات رطوبت هم مهم هست بگو تا در موردش بحث کنیم ./
              سلام جناب دکتر عزیز

              چون کالیبره بود و نیاز به کالیبره کردن نیس میخواستم از این سنیور استفاده کنم .
              برای smt160 اینارو پیدا کردم :
              قت کاری : 0.7 +_ درجه
              توان مصرفی : کمتر از 1میلی وات
              میزان خطی بودن خروجی 0.2 درجه
              سنسور دما - حرارت با خروجی دیجیتال
              سهولت در استفاده همرمان از چند سنسور
              رنج کاری دما : 45- تا 150+ درجه سانتی گراد
              قابلیت اتصال مستقیم به مبکروکنترلرها بدون نیاز به مبدل A/D

              خروجی این سنسور 10از نوع پالس است و توسط اندازه گیری نسبت 1 بودن پالس به عرض کل پالس می توان دما را به دست آورد .

              شماتیک و کدی دارین که بتونه کمکم کنه (کدویژن) .

              ولی فک نکنم راه اندازی shx11 هم سخت باشه . درسته ؟ البته رنج دمای من بالا نیس ... ولی واسه رطوبت ، کالیبره کردنش درد سر نداره ؟ من چطور رطوبت دقیق هوا رو بدونم.... یا حتی دمای محیط رو هم کاربر باید کالیبره کنه دیگه .. :redface:

              دیدگاه


                #8
                پاسخ : سنسور رطوبت و دمای SHT11

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

                دیدگاه


                  #9
                  پاسخ : سنسور رطوبت و دمای SHT11

                  نوشته اصلی توسط kendab
                  سلام
                  من نیاز به یک رطوبت سنجش با دقت بالا دارم پیشنهاد شما چیه؟
                  سلام دوست عزیز
                  سنسورهای سری sh1x خیلی دقیق هستن حتی بعضی از مدلاش قیمتش بالای 100تومان هس توی سایت roboeq.ir میتونی دیتاشیتشم چک کنی. قسمت سنسورها...کالیبره هم هس !

                  دیدگاه


                    #10
                    پاسخ : سنسور رطوبت و دمای SHT11

                    سلام

                    منم با این سنسور نفله درگیرم

                    دوستانی که میتونن ترجمه کنن لطفا بگن
                    فرق
                    connectionreset
                    با
                    softreset
                    این چیه ؟

                    و چه زمانی باید ازشون استفاده بشه؟
                    اگه کسی میدونه بگه؟

                    و نکته دیگه اینه اون اعداد ثابت فرمول ها
                    میشه گفت هر کی میاد یه چیزی میزنه
                    !!!!!!!!!!!!!!!!!!!
                    :eek:
                    __________________________________

                    دیدگاه


                      #11
                      پاسخ : سنسور رطوبت و دما SHT11

                      man barnamasho neveshtam toye proteus javab mide vali amali javab nagereftam
                      shayad eyb az sensore bashe :(
                      nemidonam cheshe
                      age barname ra mikhay email bezan
                      jikooooooly aaaaaat gmail doooot com

                      دیدگاه


                        #12
                        پاسخ : سنسور رطوبت و دمای SHT11

                        man barnamasho neveshtam toye proteus javab mide vali amali javab nagereftam
                        shayad eyb az sensore bashe :(
                        nemidonam cheshe
                        age barname ra mikhay email bezan

                        شما اگه توی عمل از کلاک داخلی 2mاستفاده کنید مشکلتون حل می شه اون به خاطره یه قسمتی از مداره که
                        کد:
                        for (i=0;i<65535;i++) if(SHT_DATA_IN==0) break; //wait until sensor has finished the measurement
                        اگه شماlong int=i;در نظر بگیرید و در حلقه forمتغیرو برابر 131070قرار بدید مشکلتون حل می شه اگه به دیتا شیتم نگاه کنید به صورت کامل متوجه می شید اگه متوجه نشدید بگید به صورت کامل توضیح بدم البته در زیر برنامه رو گذاشتم

                        دوستانی که میتونن ترجمه کنن لطفا بگن
                        فرق
                        connectionreset
                        با
                        softreset
                        این چیه ؟
                        اگه شما به برنامه نگاه کنید متوجه می شید،اگه متوجه نشدید بگید تا توضیح بدم





                        اینم برنامه و شبیه سازی سنسور
                        http://uplod.ir/0vclo81erxab/sht11.zip.htm

                        دیدگاه


                          #13
                          پاسخ : سنسور رطوبت و دما SHT11



                          اولا تشکر دارم از شما

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

                          تی ش کر

                          دیدگاه


                            #14
                            پاسخ : سنسور رطوبت و دمای SHT11

                            سلام دوستان.
                            منم از این سنسور استفاده کردم و نکته جالبی که بود با کم و زیاد کردن خازنای روی تغذیه دما و رطوبت کمو زیاد میشد!!! آخرشم با یه رگلاتور 3.3 ولت تغذیش کردم که این مشکل حل شد اما دما رو 2 درجه بالا و رطوبتو 3 درجه پائین میزد. فرمول دما هم طبق دیتاشیت برای میکرو تعریف کردم. اما در کل با این کوچولو درگیرم!!!
                            کسی میدونه واسه چی با تغذیه 5 ولت مشکل داره!!!؟؟؟
                            ما توانا تر از آنيم که مي پنداريم

                            دیدگاه


                              #15
                              پاسخ : سنسور رطوبت و دما SHT11

                              salam mitoni inja upload **** baradar man

                              دیدگاه

                              لطفا صبر کنید...
                              X