اطلاعیه

Collapse
No announcement yet.

[آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

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

    #16
    پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

    آقا عالی
    دستت درد نکنه
    عجب سنسور خوبیه و دقیق
    مرسی

    درایور شبکه و nRF24L01
    کاتالوگ محصولات
    کنترلر CNC شش محوره برای پرینتر 3D و Pick n Place
    شبیه ساز تک تیرانداز و سیبل دیجیتال با پردازش تصویر
    فروش اسیلوسکوپ GWinstek GOS-630FC

    دیدگاه


      #17
      پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

      سلام
      من دقیقا طبق راهنمایی گفته شده، برنامه را نوشتم و مدار در پروتئوس جواب می ده اما وقتی مدار را بصورت عملی می بندم اصلا سنسور ها شناسایی نمی شه، سنسور راعوض می نم باز هم مشکل حل نمی شود از دوستان کسی هست راهنمایی کند

      دیدگاه


        #18
        پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

        نوشته اصلی توسط ahmadzadeh
        سلام
        من دقیقا طبق راهنمایی گفته شده، برنامه را نوشتم و مدار در پروتئوس جواب می ده اما وقتی مدار را بصورت عملی می بندم اصلا سنسور ها شناسایی نمی شه، سنسور راعوض می نم باز هم مشکل حل نمی شود از دوستان کسی هست راهنمایی کند
        سلام
        دیگه راهنمایی نداره
        باید با اسکوپ ببینی کجا دیتا میاد ، تغذیه ها چطوریه و ارتباطات رو چک کنی
        وگرنه چیز دیگه ای مشکل نداره
        درایور شبکه و nRF24L01
        کاتالوگ محصولات
        کنترلر CNC شش محوره برای پرینتر 3D و Pick n Place
        شبیه ساز تک تیرانداز و سیبل دیجیتال با پردازش تصویر
        فروش اسیلوسکوپ GWinstek GOS-630FC

        دیدگاه


          #19
          پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

          من هم سنسور ds18 رو با همون کتابخونه کدویژن راه انداختم. وقتی مدار روشن میشد سنسور شدیدا داغ میکرد و چیزی هم نشون نمیداد. بعدش سنسور رو برعکس قرارش دادم کار کرد. عالی هم کار میکرد. البته اول از روی دیتاشیت بسته بودمش. نمیدونم. شاید من حواسم نبوده که درست جا نزده بودمش :smile:
          ... و (بدانید) گرفتن تصمیمهاى محکم (براى رسیدن به اهداف بزرگ) با خوش گذرانى و سفرهآ‌هاى رنگین سازگار نیست و چه بسیار که خواب شبانه تصمیمهاى محکم روز را از میان برده و تاریکیآ‌ها، خاطره همتآ‌هاى بلند را از یادها محو کرده است. (نهجآ‌البلاغه، خطبه211)

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

          دیدگاه


            #20
            پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد وی&#16

            نوشته اصلی توسط بسطام بیرامی
            سلام
            من دقیقا طبق راهنمایی گفته شده، برنامه را نوشتم و مدار در پروتئوس جواب می ده اما وقتی مدار را بصورت عملی می بندم اصلا سنسور ها شناسایی نمی شه، سنسور راعوض می نم باز هم مشکل حل نمی شود از دوستان کسی هست راهنمایی کند
            سلام. دوست عزیز فک کنم شما مقاومت پول پ رو قرار ندادین. تو محیط پروتوس بدون این مقاومت جواب میده، ولی در عمل این مقاومت باید حتما باشه.
            به این صورت تو مدار قرار میگیره: یک سرش به خط دیتا و یک سرش هم به vcc (5+ ولت)، مقدارشم 4/7 کیلو باید باشه.
            تو را دانش و دین نماید درست در رستگاری ببایدت جست
            وگر دل نخواهی که باشی نژند نخواهی که دائم بوی مستمند
            به گفتار پیغمبرت راه جوی دل از تیرگی ها بدین آب شوی

            دیدگاه


              #21
              پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

              سلام

              نحوه خوندن دما رو میدونم ولی میخوام بپرسم که حالا چطور میشه شماره سریال رام که یک عدد منحصر به فرده بخونم و روی LCD نشون بدم؟؟

              دیدگاه


                #22
                پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

                با سلام
                ابتدا دستور زیر رو اجرا کنید.
                کد:
                device=1wire_search(0xf0,rom_code)
                در متغیر device تعداد rom کدهای دریافت شده ریخته میشه.
                فرض کنیم میخایم rom code اولو روی lcd ببینیم
                کد:
                lcd_str(rom_code[0][0])
                موفق باشی
                .The best question deserves a better answer
                =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
                «پناه»می برم «به خدا»
                از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
                محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

                دیدگاه


                  #23
                  پاسخ : آموزش راه اندازی سنسور ds18b20

                  نوشته اصلی توسط •.´™ مَسِِــــح`.•
                  خب بحثو ادامه میدیم اما این عکسارو ببینین



                  =-=-=-=-=-=-=-=-=-=-==-=-==-=-==-=-==-=-==-=-==-=-==-=-==-=-==-=-==-=-==-=-==-=-==-=-==-=-==-=-==-=-=




                  =-=-=-=-=-=-=-=-=-=-==-=-==-=-==-=-==-=-==-=-==-=-==-=-==-=-==-=-==-=-==-=-==-=-==-=-==-=-==-=-==-=-=
                  همین طور که در عکس ها مشخصه سنسور ها با استفاده از یک سیم data به هم متصل شدن بدون این که اختلالی در خواندن data در این نوع ارتباط
                  معروف به ارتباط تک سیمه (1wire) اتفاق بیوفته. به این صورت که این ارتباط در زمانی برقراره که از طرفه میکرو برای سنسورها در خواستی ارسال بشه وبعد از ارسال درخواست میکرو منتظر دریافت جواببیه درخواست میمونه.
                  در کامپیالر کد ویژن کتابخانه ای در رابطه با 1wire نوشته شده که در این بخش از اموزش به شرح تابعی از اون به نام w1_search خواهیم پرداخت. :agree:

                  بدنه تابع:

                  کد:
                   unsigned char w1_search(unsigned char cmd,void *p

                  با استفاده از این دستور میشه فهمید که چه تعداد سنسور چه از نوعds18b20 و هر نوع سنسور که این ارتباط رو حمایت کنه وجود داره
                  خب اجرای تابع w1_search مستلزمه داشتن یک اریه 2 بعدیه که ما اینجا تعریفش میکینیم

                  کد:
                  #define MAX_DEVICE 2
                  unsigned char rom_codes[MAX_DEVICE][9]

                  خب یه ارایه تریف کردیم به این شکل دو سطر داره 9 ستون
                  حالا قسمت جذابه مسئله کار با تابعه

                  کد:
                  1wire_search(0xf0,rom_code)

                  خب حالا 0xf0 از کجا اومد و چه مقداری rom_code میگیره و اصلا چرا دو بعدی تعریف شد این عکسو ببینین




                  [size=+2]
                  طبقه گفته data sheet برای اینکه میکرو اطلاع حاصل کنه از وجود سنسورها باید دستوره 0xf0 ارسال کنه بعد از ارسال میکرو ها خودشونو معرفی میکنن
                  به این صورت که هر ایسی از خانواده ds یک family code داره و یک مشخه شخصی مثه اثر انگشت انسان که برای هر کس مختص خوده اونه
                  حالا دستوره 0xf0 فرستاده شد
                  جوابیه ها میان رویه خط :wow:
                  به این شکل hex:
                  کد:
                  28 6A 77 00 00
                  28 6A 74 00 00

                  خب ارایه rom_code به درد خورد الان میرم سر وقت تحلیل ای کد بالای :read:
                  این 28H که اول اومده famili code ds18b20 یعنی میکرو میگه اولین سنسوری که توی حاضر غایبی که کردم :mrgreen: گفت من ds18b20 هستم با شماره شناسه ای 28 6a 77 00 00
                  حالا توجه کنین اگه به جای 10H, 28H میمود به این معنیه که سنسور از نوع ds1820 هست
                  حاضر غایبه بعدی :mrgreen: سنسور دوم از نوع ds18b20 بود با serial number متفاوت


                  -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                  هلاک شدم !!!!
                  هرجا کم کاستی بود بگین
                  تا تاپیک بعدی یا حق :wink
                  داداش خیلی باحالی، من قبلا میخواستم این سنسورو راه بندازم، ولی موفق نشدم، میشه همین پروژه ای که نوشتین رو بذارین تا با نحوه شروع کار با این سنسور آشنا بشیم؟ البته توضیحات شما کامل هستن ولی اگه یه مثال کامل (پروژه) ازش بذاری ممنون میشم و یه عمر دعات میکنم
                  انسانها 10 دسته اند: دسته ای که باینری میدانند و دسته ای که باینری نمیدانند!

                  دیدگاه


                    #24
                    پاسخ : آموزش راه اندازی سنسور ds18b20

                    نوشته اصلی توسط hamedtaran
                    داداش خیلی باحالی، من قبلا میخواستم این سنسورو راه بندازم، ولی موفق نشدم، میشه همین پروژه ای که نوشتین رو بذارین تا با نحوه شروع کار با این سنسور آشنا بشیم؟ البته توضیحات شما کامل هستن ولی اگه یه مثال کامل (پروژه) ازش بذاری ممنون میشم و یه عمر دعات میکنم
                    کد:
                    http://uplod.ir/26pk75fwd1mf/DS18b20.zip.htm
                    موفق باشید
                    .The best question deserves a better answer
                    =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
                    «پناه»می برم «به خدا»
                    از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
                    محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

                    دیدگاه


                      #25
                      پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

                      نوشته اصلی توسط •.´™ مَسِِــــح`.•
                      با سلام
                      ابتدا دستور زیر رو اجرا کنید.
                      کد:
                      device=1wire_search(0xf0,rom_code)
                      در متغیر device تعداد rom کدهای دریافت شده ریخته میشه.
                      فرض کنیم میخایم rom code اولو روی lcd ببینیم
                      کد:
                      lcd_str(rom_code[0][0])
                      موفق باشی
                      ممنون مهندس...ولی این کد موقع اجرا ارور میده آخه! خودتون امتحان کردید؟ ممنون میشم اگه کد عملی و آزمایش شده این قسمت رو بازنویسی کنید.
                      متشکر

                      دیدگاه


                        #26
                        پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

                        کد:
                        http://www.uplooder.net/cgi-bin/dl.cgi?key=66787ba2fb492f1685331bbb105d3e54
                        .The best question deserves a better answer
                        =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
                        «پناه»می برم «به خدا»
                        از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
                        محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

                        دیدگاه


                          #27
                          پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

                          نوشته اصلی توسط •.´™ مَسِِــــح`.•
                          کد:
                          http://www.uplooder.net/cgi-bin/dl.cgi?key=66787ba2fb492f1685331bbb105d3e54
                          ممنونم مهندس ولی من باز یه مشکلی دارم....درسته که یه کد 64 بیتی مطابق با رام سنسور نشون داده میشه ولی چرا این کد با اون چیزی که مشخصات رام مدل سنسور در پروتیوس نشون میده یکسان نیست؟!

                          دیدگاه


                            #28
                            پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

                            البته با اجازتون برنامه رو یه کمی تغییر دادم به این شکل:
                            کد:
                               {
                               i=0;
                               for(b=0;b<7;b++){
                               sprintf(lcd,"%X",rom_codes[0][b]);
                               lcd_gotoxy(i,0);
                               lcd_puts(lcd);
                               i=i+2;
                               delay_ms(10);
                               }
                            کد رام درست نشون داده میشه ولی بعد از کد family سنسور، از آخر به اول نشون میده!!! :eek:

                            دیدگاه


                              #29
                              پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد وی&#16

                              نوشته اصلی توسط حسام اولاد دمشقیه
                              البته با اجازتون برنامه رو یه کمی تغییر دادم به این شکل:
                              کد:
                                 {
                                 i=0;
                                 for(b=0;b<7;b++){
                                 sprintf(lcd,"%X",rom_codes[0][b]);
                                 lcd_gotoxy(i,0);
                                 lcd_puts(lcd);
                                 i=i+2;
                                 delay_ms(10);
                                 }
                              کد رام درست نشون داده میشه ولی بعد از کد family سنسور، از آخر به اول نشون میده!!! :eek:
                              چک میکنم ببینم چرا اینجوریه
                              .The best question deserves a better answer
                              =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
                              «پناه»می برم «به خدا»
                              از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
                              محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

                              دیدگاه


                                #30
                                پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

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

                                دیدگاه

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