اطلاعیه

Collapse
No announcement yet.

مشکل جدی با سنسور دمای دیجیتال ds18b20

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

    مشکل جدی با سنسور دمای دیجیتال ds18b20

    سلام دوستان.
    بنده به یک مشکلی بر خوردم، یه برنامه از لینک زیر دانلود کردم به همراه شبیه سازی که سنسور ds18b20 رو راه اندازی کرده و به خوبی کار میکنه و توی ال سی دی به راحتی دما رو نشون میده:
    http://www.picpars.com/projects/avr/...icpars.com.zip

    حالا وقتی تمام خطوط کد برنامه بالارو توی برنامه خودم کپی میکنم، خروجی عجیب و غریب میده، اینم از برنامه من همراه فایل پروتئوس:
    http://uplod.ir/9axw9xn58p61/ds18b20_test.zip.htm
    جالب اینجاست که وقتی توی متغیر temp عدد ثابت میریزم، بازم درست نشون نمیده.
    از اساتید و مهندسین میخوام که یه نگاهی به هردوتا برنامه بندازن و نظرشونو بگن
    پیشاپیش ممنون
    انسانها 10 دسته اند: دسته اي که باينري ميدانند و دسته اي که باينري نميدانند!

    #2
    پاسخ : مشکل جدی با سنسور دمای دیجیتال ds18b20

    نوشته اصلی توسط hamedtaran
    سلام دوستان.
    بنده به یک مشکلی بر خوردم، یه برنامه از لینک زیر دانلود کردم به همراه شبیه سازی که سنسور ds18b20 رو راه اندازی کرده و به خوبی کار میکنه و توی ال سی دی به راحتی دما رو نشون میده:
    http://www.picpars.com/projects/avr/...icpars.com.zip

    حالا وقتی تمام خطوط کد برنامه بالارو توی برنامه خودم کپی میکنم، خروجی عجیب و غریب میده، اینم از برنامه من همراه فایل پروتئوس:
    http://uplod.ir/9axw9xn58p61/ds18b20_test.zip.htm
    جالب اینجاست که وقتی توی متغیر temp عدد ثابت میریزم، بازم درست نشون نمیده.
    از اساتید و مهندسین میخوام که یه نگاهی به هردوتا برنامه بندازن و نظرشونو بگن
    پیشاپیش ممنون
    این یعنی اینکه کرک کامپایلر معتبر نمی باشد.
    1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
    من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
    !Electronic On! Programming On
    هوشمندانه سوال بپرسیم!
    http://ir02x6.persiangig.com/logo/eca/tanks_01.png

    دیدگاه


      #3
      پاسخ : مشکل جدی با سنسور دمای دیجیتال ds18b20

      فایل اول رمزش چیه؟؟؟؟
      ... و (بدانيد) گرفتن تصميمهاى محكم (براى رسيدن به اهداف بزرگ) با خوش گذرانى و سفرهآ‌هاى رنگين سازگار نيست و چه بسيار كه خواب شبانه تصميمهاى محكم روز را از ميان برده و تاريكيآ‌ها، خاطره همتآ‌هاى بلند را از يادها محو كرده است. (نهجآ‌البلاغه، خطبه211)

      امام علي (ع):کسي که به وقت ياري رهبرش در خواب باشد، با لگد دشمنش بيدار مي شود (غررالحکم،ص 422)

      دیدگاه


        #4
        پاسخ : مشکل جدی با سنسور دمای دیجیتال ds18b20

        نوشته اصلی توسط AliRezaDAVE
        فایل اول رمزش چیه؟؟؟؟
        www.picpars.com
        1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
        من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
        !Electronic On! Programming On
        هوشمندانه سوال بپرسیم!
        http://ir02x6.persiangig.com/logo/eca/tanks_01.png

        دیدگاه


          #5
          پاسخ : مشکل جدی با سنسور دمای دیجیتال ds18b20

          نوشته اصلی توسط Mahan.Rafiee
          www.picpars.com
          رمز فایلو وقتی بازش میکنی توش نوشته.
          رمز فایل اول: www.picpars.com
          نوشته اصلی توسط Mahan.Rafiee
          این یعنی اینکه کرک کامپایلر معتبر نمی باشد.
          خودمم همین حدسو میزدم، ولی چرا وقتی برنامه اولی رو دوباره کامپایل میکنم قشنگ جواب میده؟ فک کنم یه جای برنامه نویسیم اشتباهه ولی پیداش نمیکنم. شما برنامه رو دیدین؟ میشه یه نگاهی بندازین؟
          انسانها 10 دسته اند: دسته اي که باينري ميدانند و دسته اي که باينري نميدانند!

          دیدگاه


            #6
            پاسخ : مشکل جدی با سنسور دمای دیجیتال ds18b20

            برین تو تنظیمات پروژه و فیوز بیتها و کلاک و I/O ها رو چک کنین.
            کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.

            دیدگاه


              #7
              پاسخ : مشکل جدی با سنسور دمای دیجیتال ds18b20

              نوشته اصلی توسط hamedtaran
              سلام دوستان.
              بنده به یک مشکلی بر خوردم، یه برنامه از لینک زیر دانلود کردم به همراه شبیه سازی که سنسور ds18b20 رو راه اندازی کرده و به خوبی کار میکنه و توی ال سی دی به راحتی دما رو نشون میده:
              http://www.picpars.com/projects/avr/...icpars.com.zip

              حالا وقتی تمام خطوط کد برنامه بالارو توی برنامه خودم کپی میکنم، خروجی عجیب و غریب میده، اینم از برنامه من همراه فایل پروتئوس:
              http://uplod.ir/9axw9xn58p61/ds18b20_test.zip.htm
              جالب اینجاست که وقتی توی متغیر temp عدد ثابت میریزم، بازم درست نشون نمیده.
              از اساتید و مهندسین میخوام که یه نگاهی به هردوتا برنامه بندازن و نظرشونو بگن
              پیشاپیش ممنون
              سلام
              دوست عزیز اگر مشکلتون برطرف نشده .دقیقا مشکلتون رو بگید تا راهنماییتون کنم .من کلا در مدارهام از ds18b20 استفاده میکنم .ضمن اینکه من از بسکام استفاده میکنم
              یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

              دیدگاه


                #8
                پاسخ : مشکل جدی با سنسور دمای دیجیتال ds18b20

                نوشته اصلی توسط نو رسیده
                برین تو تنظیمات پروژه و فیوز بیتها و کلاک و I/O ها رو چک کنین.
                همه چی ظاهرا درسته، 1W روی پورت B.0 تعریف شده، چیز خاصی نداره که بهم بریزه، خواهشا بیزحمت شما دوتا برنامه رو دانلود کنید و باهم مقایسه کنید ببینید شاید فرجی شد. حجمشون خیلی کمه.
                ممنون
                انسانها 10 دسته اند: دسته اي که باينري ميدانند و دسته اي که باينري نميدانند!

                دیدگاه


                  #9
                  پاسخ : مشکل جدی با سنسور دمای دیجیتال ds18b20

                  نوشته اصلی توسط اقای دکتر
                  سلام
                  دوست عزیز اگر مشکلتون برطرف نشده .دقیقا مشکلتون رو بگید تا راهنماییتون کنم .من کلا در مدارهام از ds18b20 استفاده میکنم .ضمن اینکه من از بسکام استفاده میکنم
                  آخه من با C نوشتم! اگه امکانش هست دوتا برنامه رو با هم مقایسه کنید (پست 1)، البته بیزحمت :redface:، منکه دیگه دیوونه شدم :angry: :cry2:
                  انسانها 10 دسته اند: دسته اي که باينري ميدانند و دسته اي که باينري نميدانند!

                  دیدگاه


                    #10
                    پاسخ : مشکل جدی با سنسور دمای دیجیتال ds18b20

                    کامپایلرت رو که تنظیم نکردی برادر .

                    از سر برگ project برو configure رو انتخاب کن بعد از قسمت c compiler مقدار sprintf رو روی float بزار همین . :nice:
                    که با اين درد اگر دربند درمانند درمانند
                    فاميل دور : اشاره داره به درهايي که واقعا در نيستن ، مثل نقاشي در روي ديوار. يعني اين دردها مارو شبيه اون درها ميکنه .

                    دیدگاه


                      #11
                      پاسخ : مشکل جدی با سنسور دمای دیجیتال ds18b20

                      به نظر من مشکل شما به 1820 مربوط نمیشه.

                      بعد از نمایش buff2 ، اون تاخیر 300 میلی رو حتما بذارین. ضمنا برای تست بذارین مثلا 2 ثانیه تا ببینین رو lcdآ‌ مینویسه یا نه. به نظرم شما توی حلقه وایل دارین مقدار buff و buff2 رو تو یه سطر، روی هم و با سرعت زیاد مینویسین. تو نوشتن رو lcdآ‌ مشکل دارین.
                      کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.

                      دیدگاه


                        #12
                        پاسخ : مشکل جدی با سنسور دمای دیجیتال ds18b20

                        دوستان یک سوال

                        چطوری میشه زمان پاسخ ds18b20 رو در پروژه ها کاهش داد ؟؟؟

                        الان زدم دیدم تقریبا 740-770 میلی ثانیه زمان میخواد . :eek:


                        که با اين درد اگر دربند درمانند درمانند
                        فاميل دور : اشاره داره به درهايي که واقعا در نيستن ، مثل نقاشي در روي ديوار. يعني اين دردها مارو شبيه اون درها ميکنه .

                        دیدگاه


                          #13
                          پاسخ : مشکل جدی با سنسور دمای دیجیتال ds18b20

                          نوشته اصلی توسط نو رسیده
                          به نظر من مشکل شما به 1820 مربوط نمیشه.

                          بعد از نمایش buff2 ، اون تاخیر 300 میلی رو حتما بذارین. ضمنا برای تست بذارین مثلا 2 ثانیه تا ببینین رو lcdآ‌ مینویسه یا نه. به نظرم شما توی حلقه وایل دارین مقدار buff و buff2 رو تو یه سطر، روی هم و با سرعت زیاد مینویسین. تو نوشتن رو lcdآ‌ مشکل دارین.
                          ممنون از پاسختون
                          دیگه تا این حدی که شما گفتین توی برنامه نویسی مشکل ندارم :eek:
                          اگه فایل پروتئوسو دیده باشین، buff و buff2 توی دو خط مجزا از هم نوشته شدن (با دستور lcd_gotoxy )
                          در مورد تاخیر هم باید بگم که اصلا ضروری نیست، میکرو خودش تا زمانی که سنسورو نخونده و نریخته توی متغیر temp ، نمیره خط بعدی، شما اگه یه مقدار ثابت بریزین توی temp بازم میبینین که چیزی نمایش نمیده، اینجا که اصلا سنسور دخیل نیست!
                          بهرحال ممنون از توجهتون
                          انسانها 10 دسته اند: دسته اي که باينري ميدانند و دسته اي که باينري نميدانند!

                          دیدگاه


                            #14
                            پاسخ : مشکل جدی با سنسور دمای دیجیتال ds18b20

                            نوشته اصلی توسط mehrdadttt
                            کامپایلرت رو که تنظیم نکردی برادر .

                            از سر برگ project برو configure رو انتخاب کن بعد از قسمت c compiler مقدار sprintf رو روی float بزار همین . :nice:
                            آقا خیلی ممنوووووووووووووووون :nice: :nice:
                            دمت گرم حل شد
                            دوستان مشکل از تنظیمات کامپایلر بود، همونطور که دوستمون آقای mehrdadttt گفتن، باید از قسمت c compiler مقدار sprintf رو روی float بزاریم. همین
                            خداییش این یکی رو اصلا نمیدونستم، ممنون آقای mehrdadttt
                            از بقیه دوستان هم تشکر میکنم ممنون وقت گذاشتین.
                            همگی موفق باشین
                            انسانها 10 دسته اند: دسته اي که باينري ميدانند و دسته اي که باينري نميدانند!

                            دیدگاه


                              #15
                              پاسخ : مشکل جدی با سنسور دمای دیجیتال ds18b20

                              منم برنامه این سایت رو دانلود کرده بودم و مشکل داشتم

                              نحوه نمونه برداریش اون زمان یادمه مشکل داشت

                              جایی که داره نمونه برداری میکنه رو پاک کن و این رو جاش بزن:
                              کد:
                                 devices=w1_init();        
                                 if(devices>0)
                                 temp1=ds18b20_temperature(0); 
                                 ftoa(temp,2,str1); 
                                 sprintf(str2,"%s\xDFC",str1);
                                 lcd_clear();
                                 lcd_gotoxy(0,0); 
                                 lcd_puts(str2);

                              دیدگاه

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