ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 6 از 6
  1. #1
    2012/10/19
    بوشهر
    87
    0

    راه اندازی سنسور ds18b20

    سلام دوستان
    توی تایپیک مربوط به pic هر چی گشتم درباره ی سنسور ds18b20 مطلبی نبود.
    من می خواستم 4 تا از این سنسورها را همزمان به یک پین میکرو متصل کنم. توی سایت های خارجی یه برنامه برای راه اندازی سنسور پیدا کردم. با کمی تغییرات تست کردم درست جواب داد. اما نمی دونم برای 4 سنسور باید چکار کنم.
    این کتابخانه سنسور برای ccs
    کد:
    #define DS1820_WIRE_PIN        PIN_A0  //ds1820 data baca?? 
    //sens?r için sabitler 
    #define DS1820_SKIP_ROM        0xCC 
    #define DS1820_READ_SCRATCHPAD     0xBE 
    #define DS1820_CONVERT_T        0x44 
    
    
    static char g_shiftBit, g_dataOut; 
    static long g_temperature, g_dataInput; 
    
    
    void resetDS1820(void) 
    { 
      output_low(DS1820_WIRE_PIN);   //1-wire resetleme için s?f?ra çekilir 
      delay_us(500);          // sens?rün haz?rlanmas? için beklenir. 
      output_float(DS1820_WIRE_PIN);  //1-wire bir yap?l?r 
      delay_us(500);          // sens?rün haz?rlanmas? için beklenir. 
    
    } 
    
    void writeDS1820(void) 
    { 
      for (g_shiftBit = 1; g_shiftBit <= 8; ++g_shiftBit) 
      { 
       output_low(DS1820_WIRE_PIN);                  // Sens?re yazma i?lemine ba?lamak için 1-wire s?f?ra çekilir. 
       delay_us(2); 
       output_bit(DS1820_WIRE_PIN, shift_right(&g_dataOut, 1, 0));  // yaz?lacak bilgi 1-wire'da 
       delay_us(60);                         // Yazma i?lemi zaman? doldurulur. 
       output_float(DS1820_WIRE_PIN);                 // 1-wire bir yap?l?r, 
       delay_us(2);                          // 1us'den fazla beklenir. 
      } 
    } 
    
    void readDS1820(void) 
    { 
      g_dataInput = 0; 
      for ( g_shiftBit = 1; g_shiftBit <= 16; ++g_shiftBit ) 
      { 
       output_low(DS1820_WIRE_PIN);                  //Sens?rden okuma i?lemi içinl 1-wire s?f?ra çekilir. 
       delay_us(2);                          
       output_float(DS1820_WIRE_PIN);                //1-wire(data) bir yap?l?r, 
       delay_us(8);                         // Sens?rün kendine gelmesi beklenir, 
       shift_right ( &g_dataInput, 2, input ( DS1820_WIRE_PIN ));  // sonuc bilgisi al?n?r 
       delay_us(120);                       //Okuma i?lemi zaman? doldurulur. 
      } 
     
    } 
    void waitForConversion (void)       
    { 
      while(TRUE) 
      { 
        output_low(DS1820_WIRE_PIN); 
        delay_us(5); 
        output_float(DS1820_WIRE_PIN); 
        delay_us(5); 
        if (input(DS1820_WIRE_PIN) == 1)  
        { 
          break; 
        } 
        delay_us(55); 
       } 
    } 
    
    
    long ds1820_read() 
    { 
      
      resetDS1820(); 
      g_dataOut = DS1820_SKIP_ROM; 
      writeDS1820(); 
      g_dataOut = DS1820_CONVERT_T; 
      writeDS1820(); 
      waitForConversion(); 
    
      resetDS1820(); 
      g_dataOut = DS1820_SKIP_ROM; 
      writeDS1820(); 
      g_dataOut = DS1820_READ_SCRATCHPAD; 
      writeDS1820(); 
      readDS1820(); 
      g_temperature = g_dataInput ; //ds18s20 için bu de?er 2 olacakt?r 
    
      
      return g_temperature; 
    }
    اینم کد برنامه اصلی:
    کد:
    #include <16F887.h> 
    #use  delay(clock=20000000) 
    #FUSES NOWDT,HS
    #define use_portD_lcd True 
    #include <lcd.c> 
    #include "ds18b20_1.c" 
    
    void main(void) 
    { 
    float temperature; 
      lcd_init(); 
       printf(lcd_putc,"start"); 
       
      while(1) 
      {  
       temperature = ds1820_read(); 
       temperature=(float)temperature/16;
      printf(lcd_putc,"\f%.4f",temperature); 
      } 
    
    }
    با تشکر
  2. #2
    2015/02/20
    33
    0

    پاسخ : راه اندازی سنسور ds18b20

    سلام
    یعنی میخواین بین سنسورها سویچ کنین یا قراره همزمان با هم برای افزایش دقت ، کار کنن؟
    :question:
  3. #3
    2006/08/16
    867
    17

    پاسخ : راه اندازی سنسور ds18b20

    این تاپیک رو بخونید وسطاش بحث شده:

    http://www.eca.ir/forum2/index.php?topic=104169.0

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  4. #4
    2012/10/19
    بوشهر
    87
    0

    پاسخ : راه اندازی سنسور ds18b20

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

    اضافه شده در تاریخ :
    فقط یک نکته: :read:
    یه برنامه پیدا کردم شبیه برنامه ای که لینکش را داده بودید تست کردم درست بود اما بعد از مدتی خوندن دما (حدودا یک دقیقه) ترتیب نشون دادن دمای سنسورها عوض میشه مثلا دمای سنسور چهارم را به جای سنسور اول نشون میده و همینطور جای بقیه را عوض می کنه.برنامه ای هم که لینکش را داده بودید وقتی روی lcd تست کردم همین مشکل را داشت.به نظرتون مشکل از پروتئوس هست یا برنامه؟
    اینم لینک:

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    تشکر
  5. #5
    2006/08/16
    867
    17

    پاسخ : راه اندازی سنسور ds18b20

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

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  6. #6
    2012/10/19
    بوشهر
    87
    0

    پاسخ : راه اندازی سنسور ds18b20

    یکم کد رت تغییر دادم مشکل رفع شد. حالا با ال سی دی گرافیکی راه اندازیش می کنم میذارم توی انجمن.
    با تشکر از دوستان
نمایش نتایج: از 1 به 6 از 6

موضوعات مشابه

  1. [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن
    توسط blue_pulse در انجمن میکروکنترلرهای AVR
    پاسخ: 81
    آخرين نوشته: 2020/03/24, 23:36
  2. کمک : راه اندازی ds18b20 با lpc17xx
    توسط md_ostad در انجمن NXP
    پاسخ: 0
    آخرين نوشته: 2015/11/22, 15:52
  3. راه اندازی سنسور ds18b20 با سون سگمنت اند دربسکام
    توسط namvar141 در انجمن میکروکنترلرهای AVR
    پاسخ: 0
    آخرين نوشته: 2015/05/29, 12:42
  4. راه اندازی 2 سنسور smt160 و 2 سنسور ds18b20
    توسط 86332050 در انجمن میکروکنترلرهای AVR
    پاسخ: 17
    آخرين نوشته: 2015/05/06, 00:00
  5. راه اندازی سنسور دمای DS18B20 با بسکام
    توسط nilofar1036 در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2013/12/31, 21:25

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

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