اطلاعیه

Collapse
No announcement yet.

[آموزش] راه اندازی سنسور رطوبت و دما SHT15,75

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

    [آموزش] راه اندازی سنسور رطوبت و دما SHT15,75

    از امشب راه اندازی این سنسور به زبان C آموزش داده میشه.
    موفق باشید.
    .The best question deserves a better answer
    =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
    «پناه»می برم «به خدا»
    از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
    محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

    #2
    پاسخ : [آموزش] راه اندازی سنسور رطوبت و دما SHT15,75

    با ذکر نام و یاد خدا بحث رو شروع میکنم

    از عزیزان خواهش میشه سوالات خودشونو به صورت پیغام خصوصی ارسال نکنن و تا پایان بحث صبر پیشه کنن


    خصوصیات سنسور SHT15:

    ارتباط آسان از طریق پروتکلی مشابه به I2C

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

    خروجی دیجیتال

    مصرف توان بسیار کم

    نمونه برداری از دما با دقت 14 بیت

    نمونه برداری از رطوبت با دقت 12 بیت

    خطی بودن صحت نمونه برداری شده از دما و رطوبت(خطای مقدار نمونه برداری شده از مقادیر واقعی دما و رطوبت بسیار پایینه)

    دارای واحد CHEKSUM

    خب دیگه بریم سراغ بحث اصلی که نحوه ارتباطه....

    یه نکته بگم کامپایلری که م باهاش کار میکنم ATEML STUDIO هستش و و توابعی که قرار میدم برای این کامپایلره

    در رابطه با ارتباط با سنسور 15SHT چهار تا پایه وجود داره که پایه اول از بالا GND
    پایه بعدی DATA پایه بعدی SCK وپایه بعدی VDD یا همون VCC هستس که بهتره به برای عمر بیشتر سنسور به 3.3 ولت وصل شه
    اما در این اموزش به 5 وصل میکنیم....
    ادامه داره....
    .The best question deserves a better answer
    =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
    «پناه»می برم «به خدا»
    از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
    محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

    دیدگاه


      #3
      پاسخ : [آموزش] راه اندازی سنسور رطوبت و دما SHT15,75

      خب برای ارتباط با سنسور به 2 پایه از میکرو کنترلر نیاز داریم که پایه ای که قراره به پایه دیتا وصل بشه با یه مقاومت 4.7K به VCC وثل بشه یا به اصطلاح PULLUP بشه.
      برای اولین ارتباط با سنسور لازم ارتباط ما RESET بشه که هر گونه حالت گزرا به وجود اومده برای سنسور رفع بشه.
      در دیتا شیت سنسور گفته شده زمانی که پایه دیتا در حالت یک منطقی باشه و 9 کلاک به پایه SCK اعمال بشه سنسور ما ریست میشه(نکته: یه ریجستر در این سنسور وجود داره به نام STATUS که هز بار ما ریست رو اجرا کنیم این ریجستر به حالت پیشفرض خودش بر میگرده که بعدا در مورد این سنسور توضیح میدم.)

      خب حالا این ریست رو چطوری بنویسیم؟

      لازمه یه سری DEFINE رو اینجا توضیح بدم که بعدا ازششون استفاده میکنیم:
      کد:
       #define sck 6
       #define data 7
       #define ddr DDRB
       #define port PORTB
       #define pin PINB
       #define sbi_d(pin) ddr|=1<<pin
       #define cbi_d(pin) ddr&=~(1<<pin)
      
       #define sbi(pin) port|=1<<pin
       #define cbi(pin) port&=~(1<<pin)
      خب در این تعاریف یه سری کد قرار داده شده برای راحتی در کار.

      حالا کد ریست رو قرار میدم و راجبش بحث میکنیم.

      کد:
      void SHT_reset(){
      	unsigned char temp=0;
      	sbi_d(sck);
      	sbi_d(data);
      	sbi(data);
      
      	for(temp=0;temp<9;temp++){
      		sbi(sck);
      		_delay_us(1);
      		cbi(sck);
      		_delay_us(1);
      
      	}
      	_delay_ms(15);
      }
      در این تابع پایه های در نظر گرفته شده برای متصل شدن به پایه های DATA وSCK خروجی تعریف میشن و سپس در داخل for نه کلاک اعمال میشه با زمان 1 میکرو ثانیه.اون تاخیر اخر هم به خاطر اینه که سنسور برای دستور گرفتن بعدی اماده بشه.
      کد:
      Soft reset, resets the interface, clears the
      status register to default values. Wait minimum
      11 ms before next command
      ادامه دارد....
      .The best question deserves a better answer
      =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
      «پناه»می برم «به خدا»
      از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
      محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

      دیدگاه


        #4
        پاسخ : [آموزش] راه اندازی سنسور رطوبت و دما SHT15,75

        سلام مهندس
        ادامه ندادید؟
        طول سیم این سنسور چقدر میتونه باشه بدون خطا؟
        راستش من از module sht20 , sht10 , module dht21 , dht22 , ds18b20 با آردینو استفاده کردم
        برخی تا 15 % در رطوبت و تا 5 درجه در دما اختلاف دارن.
        این اختلاف در دمای 20 یکجوره در دمای 37 درجه جور دیگه!!!
        راستش آخر نفهمیدم کدوم را مبنا قرار بدم و اونهای دیگرو باهاش کالیبره کنم.?
        من با آردینو کار میکنم و کالیبره هم از طریق کسر یا اضافه کردن مقدار در کد انجام میدم.راه دیگه ای سراغ ندارم. شما دارید؟

        دیدگاه

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