اطلاعیه

Collapse
No announcement yet.

دماسنج با LM35 و خروجی رله

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

    #16
    پاسخ : دماسنج با LM35 و خروجی رله

    سلام خدمت همه دوستان
    من آماتور هستم
    میخواستم بدونم برنامه من چه مشکلی داره که وقتی به زیر برنامه Ziyad که میره end میشه مگه نباید توو حلقه بمونه تا شرط داخل حلقه برقرار بشه ؟؟؟
    اینم لینک
    به زبان بیسیک ( بسکام )
    بازم خدا رو شکر ...

    دیدگاه


      #17
      پاسخ : دماسنج با LM35 و خروجی رله

      نوشته اصلی توسط mosi_reali نمایش پست ها
      میخواستم بدونم برنامه من چه مشکلی داره که وقتی به زیر برنامه Ziyad که میره end میشه
      داخل do-loop نباید از goto استفاده کنی توی لوپ اول با goto پریدی به لیبل "زیاد" بار هم اونجا از داخل لوپ میخوای با گوتو برگردی

      دیدگاه


        #18
        پاسخ : دماسنج با LM35 و خروجی رله

        نوشته اصلی توسط kamy007 نمایش پست ها
        داخل do-loop نباید از goto استفاده کنی توی لوپ اول با goto پریدی به لیبل "زیاد" بار هم اونجا از داخل لوپ میخوای با گوتو برگردی
        مرسی از کمکتون
        مگه اینطوری نیست که تا شرط انجام نشده نباید از حلقه بیاد بیرون
        من نوشتم اگه D < B شد اون موقع برو توو اصلی
        غیر از اینه ؟؟؟
        بازم خدا رو شکر ...

        دیدگاه


          #19
          پاسخ : دماسنج با LM35 و خروجی رله

          حدودی یادم میاد برنامت چی بود
          برنامه مین رو نوشتی درسته . ولی اوناهایی که خارج از مین نوشتی رو تبدیل کن به ساب و از توی مین برنامه کال کن و با دستور رترن برگرد
          'asli --------------
          Do
          Debounce Pind.0 , 0 , Ziyad , Sub


          Loop
          '---------------------------


          Ziyad:
          Set Portc.0
          Here:
          If D > B Then Goto Here
          Return


          یا مثلا
          If B < D Then : Call Ziad 

          این روش صحیح برنامه نوبسیه از تو مین برنامه زیر برنامه ها را کال کن نه اینکه بهشون گوتو کن
          تمام کدهای بالا مثاله جهت روش برنامه نویسی و ربطی به اصل برنامه شما ندارد فقط برخی موارد مشابهه هست
          حالا همون برنامه قبلی را با call بنوییس و اپلود کن
          جدیدترین ویرایش توسط kamy007; ۱۹:۳۱ ۱۳۹۶/۱۰/۲۴.

          دیدگاه


            #20
            پاسخ : دماسنج با LM35 و خروجی رله

            نوشته اصلی توسط kamy007 نمایش پست ها
            حدودی یادم میاد برنامت چی بود
            برنامه مین رو نوشتی درسته . ولی اوناهایی که خارج از مین نوشتی رو تبدیل کن به ساب و از توی مین برنامه کال کن و با دستور رترن برگرد
            'asli --------------
            Do
            Debounce Pind.0 , 0 , Ziyad , Sub


            Loop
            '---------------------------


            Ziyad:
            Set Portc.0
            Here:
            If D > B Then Goto Here
            Return


            یا مثلا
            If B < D Then : Call Ziad 

            این روش صحیح برنامه نوبسیه از تو مین برنامه زیر برنامه ها را کال کن نه اینکه بهشون گوتو کن
            تمام کدهای بالا مثاله جهت روش برنامه نویسی و ربطی به اصل برنامه شما ندارد فقط برخی موارد مشابهه هست
            حالا همون برنامه قبلی را با call بنوییس و اپلود کن
            خیلی ممنون از پیگیری که میکنید
            من رفتم دستور رو همونطور که شما گفتید زدم دیدم ارور داد رفته یه سرچی زدم دیدم باید با دستور declare زیر برنامه رو معرفی کنی از این حرفا
            از اونجایی هم که تازه کار هستم نمیدونم باید چیکار کنم اما یه کارایی کردم
            برنامه رو تغییر دادم اما بازم وقتی میره توو زیاد end میشه
            راستی من خواستم از زیر برنامه زیاد اینه که انقدر اونجا بمونه تا مقدار d کوچکتر از b بشه بعد برگرد به برنامه اصلی
            اگه میشه بازم راهنمایی کنید که باید چیکار کنم
            با تشکر
            این لینک برنامه
            اینم فایل پروتیوس برای تست
            اینم برنامه
            [FONT=Yekan]$regfile = "m16adef.dat"[/FONT]$crystal = 1000000


            Config Lcd = 16 * 2
            Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.0 , Rs = Portd.1
            Config Adc = Single , Prescaler = Auto
            Config Portb = Input
            Config Portc = Output




            Dim A As Word
            Dim B As Byte
            B = 25
            Dim C As Byte
            C = 5
            Dim D As Byte




            Start Adc


            Cursor Off
            Cls
            Locate 1 , 1
            Lcd "be name khoda"
            Wait 2
            Cls


            Declare Sub Ziyad
            Declare Sub Asli




            Asli:
            Cls
            Do
            Debounce Pinb.0 , 1 , Damabala , Sub
            Debounce Pinb.1 , 1 , Damabala1 , Sub
            Debounce Pinb.2 , 1 , Damakam , Sub
            Debounce Pinb.3 , 1 , Damakam1 , Sub
            Locate 1 , 1
            Lcd "H=" ; B
            Locate 1 , 8
            Lcd "L=" ; C
            A = Getadc(0)
            D = A / 2
            Locate 2 , 1
            Lcd "Temp =" ; D ; "c "






            If B < D Then Call Ziyad


            Loop






            Damabala:
            Incr B
            Return


            Damabala1:
            Decr B
            Return




            Damakam:
            Incr C
            Return


            Damakam1:
            Decr C
            Return






            Ziyad:
            Set Portc.0


            If D < B Then Call Asli
            Return






            [FONT=Yekan]End[/FONT]
            جدیدترین ویرایش توسط mosi_reali; ۲۲:۴۴ ۱۳۹۶/۱۰/۲۶.
            بازم خدا رو شکر ...

            دیدگاه


              #21
              پاسخ : دماسنج با LM35 و خروجی رله

              Ziyad:
              Set Portc.0
              INJA_BASH:
              If D > B Then Call INJA_BASH
              Return

              خوبه همین که دنبلشو گرفتی فهمیدی ساب روتین چیه
              از ساب روتیین ریاد اومدی اصلی را کال کردی اشتباهه . از ساب نمیتونی مین(اصلی) برنامه رو کال کرد
              تست کن خبر بده؟ با چی تست میکنی؟ سیمولیشن داری دیگه؟

              کد بالا اشتباه شد این درسته
              Ziyad:
              Set Portc.0
              INJA_BASH:
              If D > B Then: GOTO INJA_BASH
              Return
              جدیدترین ویرایش توسط kamy007; ۲۳:۰۳ ۱۳۹۶/۱۰/۲۶.

              دیدگاه


                #22
                پاسخ : دماسنج با LM35 و خروجی رله

                خخ الان لینک برنامتو دید تو سیمولیشن صیر کن میفرستمش

                ادیت کردم خروجی بگیری از دما
                http://s9.picofile.com/file/8316925618/LM35.zip.html
                جدیدترین ویرایش توسط kamy007; ۰۰:۰۹ ۱۳۹۶/۱۰/۲۷.

                دیدگاه


                  #23
                  پاسخ : دماسنج با LM35 و خروجی رله

                  نوشته اصلی توسط kamy007 نمایش پست ها
                  خخ الان لینک برنامتو دید تو سیمولیشن صیر کن میفرستمش

                  ادیت کردم خروجی بگیری از دما
                  http://s9.picofile.com/file/8316925618/LM35.zip.html
                  سلام
                  خیلی ممنون از اینکه کمک میکنید
                  الان درست شد دما که بالاتر از حد مجاز میره فعال میشه فقط یه مشکلی هست شاید من این مشکل رو دارم وقتی دما رو پایین میارم یعنی توو حد مجاز میزارم بازم pinc.0 غیر فعال نمیشه ؟؟
                  بازم خدا رو شکر ...

                  دیدگاه


                    #24
                    پاسخ : دماسنج با LM35 و خروجی رله

                    نوشته اصلی توسط mosi_reali نمایش پست ها
                    وقتی دما رو پایین میارم یعنی توو حد مجاز میزارم بازم pinc.0 غیر فعال
                    اگر همون برنامست اینجاشو عوض کن
                    If B <= D Then Set Portc.0
                    If B => D Then Reset Portc.0

                    تو این حالت مساوی توی شرط لحاظ میشه
                    الته مساوی توی یک خط فقط باید یاشه خودت اون خط مناسب را انتخاب کن
                    جدیدترین ویرایش توسط kamy007; ۱۹:۲۰ ۱۳۹۶/۱۰/۲۸.

                    دیدگاه


                      #25
                      پاسخ : دماسنج با LM35 و خروجی رله

                      حالا تو عمل به یک مشکلی میخوری باید برای تنطیم حرارت یک ویندو window تعریف کنی مگرنه در عمل خروجی مدام خاموش روشن میشه البته فکر کنم تو برنامت بود

                      دیدگاه


                        #26
                        پاسخ : دماسنج با LM35 و خروجی رله

                        نوشته اصلی توسط kamy007 نمایش پست ها
                        حالا تو عمل به یک مشکلی میخوری باید برای تنطیم حرارت یک ویندو window تعریف کنی مگرنه در عمل خروجی مدام خاموش روشن میشه البته فکر کنم تو برنامت بود
                        سلام مجدد
                        یه مدت نبودم
                        الان دوباره دارم ادامه میدم
                        برنامه رو این شکلی نوشتم ( لینک ) اما توو اینجا باش نمیمونه میاد بیرون و end میشه.
                        ؟؟؟
                        بازم خدا رو شکر ...

                        دیدگاه


                          #27
                          پاسخ : دماسنج با LM35 و خروجی رله

                          سلام دوستان. میشه یکی توضیح بده تو محیط کد ویژن بعد از اینکه دما سنج رو ساختیم چطور میشه رو یه دمای خاص یه رله رو فعال کرد؟

                          دیدگاه


                            #28
                            پاسخ : دماسنج با LM35 و خروجی رله

                            سلام دوستان
                            چطور داخل حلقه (do-loop) یه بازه زمانی ایجاد کنم که حلقه متوقف نشه و به کار خودش ادامه بده ؟
                            بازم خدا رو شکر ...

                            دیدگاه


                              #29
                              Re: دماسنج با LM35 و خروجی رله

                              با سلام
                              دیدم که این تایپیک باز هست گفتم تایپیک جدید نزنم
                              من یه مدار شبیه همین مداری که دوستانمون در بالا درست کردن رو با مگا 8 به عنوان پروژه ترم اول هنرستانمون درست کردم که جالب هستش و براتون میزارم
                              مشکل اصلی این مدار LM35 هستش که دقیق نیست اما میشه با سنسور های دیگه تعویضش کرد (با تغییرات اندک توی برنامه)
                              اینم فایل بسکام
                              فایل
                              این هم فایل پروتئوس 8.6
                              فایل
                              فایل پرتئوس شامل PCB با دوتا ترک ناقص هست که باید جامپر گذاشت
                              دوتا رله داره که 3 پین تیغه های رله کاملا در دسترس هستند
                              با دکمه های موجود میشه حداقل و حداکثر دما رو تنظیم کرد
                              اگر به 1 درجه بالا تر از حداکثر دما برسه یک رله روشن
                              دمای عادی هر دو رله خاموش
                              یک درجه از دمای حداقل کمتر رله دیگری روشن و تا دو درجه بالا تر از حداقل دما میرسونه و رله خاموش میشه
                              برای نیمه اتوماسیون کردن دمای یه محیط خوب عمل میکنه
                              باگ های مدار:
                              توانایی زیادتر کردن دما حداقل از حداکثر دما با دکمه های مدار
                              توانایی کمتر کردن دمای حداکثر از حداقل با دکمه های مدار
                              اگر این دو باگ رو برطرف کردم همینجا فایل جدید رو قرار میدم
                              راستی
                              برای ارتقای مدار چه چیزی پیشنهاد میدین؟
                              این مشکل رو تجربه کردم
                              یا اینکه از نزدیک دیدم و دارم نظر میدم
                              بعضی ها به اشتباه فکر میکنن من تعمیر کارم و دارم راه حل میگم

                              دیدگاه


                                #30
                                پاسخ : Re: دماسنج با LM35 و خروجی رله

                                نوشته اصلی توسط maziar ashouri نمایش پست ها
                                با سلام
                                دیدم که این تایپیک باز هست گفتم تایپیک جدید نزنم
                                من یه مدار شبیه همین مداری که دوستانمون در بالا درست کردن رو با مگا 8 به عنوان پروژه ترم اول هنرستانمون درست کردم که جالب هستش و براتون میزارم
                                مشکل اصلی این مدار LM35 هستش که دقیق نیست اما میشه با سنسور های دیگه تعویضش کرد (با تغییرات اندک توی برنامه)
                                اینم فایل بسکام
                                فایل
                                این هم فایل پروتئوس 8.6
                                فایل
                                فایل پرتئوس شامل PCB با دوتا ترک ناقص هست که باید جامپر گذاشت
                                دوتا رله داره که 3 پین تیغه های رله کاملا در دسترس هستند
                                با دکمه های موجود میشه حداقل و حداکثر دما رو تنظیم کرد
                                اگر به 1 درجه بالا تر از حداکثر دما برسه یک رله روشن
                                دمای عادی هر دو رله خاموش
                                یک درجه از دمای حداقل کمتر رله دیگری روشن و تا دو درجه بالا تر از حداقل دما میرسونه و رله خاموش میشه
                                برای نیمه اتوماسیون کردن دمای یه محیط خوب عمل میکنه
                                باگ های مدار:
                                توانایی زیادتر کردن دما حداقل از حداکثر دما با دکمه های مدار
                                توانایی کمتر کردن دمای حداکثر از حداقل با دکمه های مدار
                                اگر این دو باگ رو برطرف کردم همینجا فایل جدید رو قرار میدم
                                راستی
                                برای ارتقای مدار چه چیزی پیشنهاد میدین؟
                                سلام
                                نوشتید که lm35 دقیق نیست خوب اینو بگم که اتفاقا سنسور lm35 به خاطر کیفیت ساختی که داره دماش دقیق تر از سنسور های دیجیتاله مثلا سنسور 18b20 اگه دیتاشیتشو ببینید تا 2 درجه خطا داره والبته اینم بگم هر سنسوری به جایی کاربرد خودشو داره
                                موفق باشید
                                Proudly @real_ahmadi
                                #real_ahmadi

                                واسه اسمت بجنگ

                                دیدگاه

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