اطلاعیه

Collapse
No announcement yet.

مشگل در نگه داشتن دما ثابت در محدوده منفی

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

    #91
    پاسخ : مشگل در نگه داشتن دما ثابت در محدوده منفی

    آقای صفر نژاد
    ببین این کد رو پیدا کن
    Sub Segment
    Set Portc.5
    Set Portc.4
    Set Portc.3
    Set Portc.2
    Set Portc.1
    Reset Portc.0
    Portb = Lookup(p(1) , Temp_data)
    If T < 10 Then Portb = Portb Or &H80
    If T < 0 Then Portb = &H40
    [glow=red,2,300]Waitms 1[/glow]
    و waitms 4 رو به 1 تغییر بده تا مشکل پر پر زدن کم بشه یا کلا برطرف بشه
    بعدش برای تست اینکه چرا سون سگمنتای اعشار نشون داده نمی شن می تونی همین waitms رو رو 100 بزاری و اونوقت اگه دوباره روشن نشن بدون که مشکل سخت افزاریه نه نرم افزاری فقط یادت باشه 6 تا waitms4 وجود داره که همشون رو باید به 1 تغییر بدی
    برد جوجه کشی:
    مطالعه پست 1 (حتما مطالعه کنید)


    مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

    دانلود

    توجه:
    این برد نیمه صنعتی و خانگی هست...
    برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

    آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

    دیدگاه


      #92
      پاسخ : مشگل در نگه داشتن دما ثابت در محدوده منفی

      نوشته اصلی توسط mohammad...
      آقای صفر نژاد
      ببین این کد رو پیدا کن
      Sub Segment
      Set Portc.5
      Set Portc.4
      Set Portc.3
      Set Portc.2
      Set Portc.1
      Reset Portc.0
      Portb = Lookup(p(1) , Temp_data)
      If T < 10 Then Portb = Portb Or &H80
      If T < 0 Then Portb = &H40
      [glow=red,2,300]Waitms 1[/glow]
      و waitms 4 رو به 1 تغییر بده تا مشکل پر پر زدن کم بشه یا کلا برطرف بشه
      بعدش برای تست اینکه چرا سون سگمنتای اعشار نشون داده نمی شن می تونی همین waitms رو رو 100 بزاری و اونوقت اگه دوباره روشن نشن بدون که مشکل سخت افزاریه نه نرم افزاری فقط یادت باشه 6 تا waitms4 وجود داره که همشون رو باید به 1 تغییر بدی
      WAITMS رو از چهار به 100 بزارم ؟
      یا از 4 به 1 ؟

      دیدگاه


        #93
        پاسخ : مشگل در نگه داشتن دما ثابت در محدوده منفی

        نوشته اصلی توسط mohammad safarnejad
        WAITMS رو از چهار به 100 بزارم ؟
        یا از 4 به 1 ؟
        اول برای تست رو 100 بزار و ببین اون قسمت اعشار نشون داده میشن یا نه بعد این می تونی رو 1 بزاری
        برد جوجه کشی:
        مطالعه پست 1 (حتما مطالعه کنید)


        مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

        دانلود

        توجه:
        این برد نیمه صنعتی و خانگی هست...
        برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

        آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

        دیدگاه


          #94
          پاسخ : مشگل در نگه داشتن دما ثابت در محدوده منفی

          گذاشتم فقط دو رقم نشون داده میشه
          یعنی سخت افزاریه؟

          دیدگاه


            #95
            پاسخ : مشگل در نگه داشتن دما ثابت در محدوده منفی

            نوشته اصلی توسط mohammad safarnejad
            گذاشتم فقط دو رقم نشون داده میشه
            یعنی سخت افزاریه؟
            رو 1000 هم بزار اگه درست نشد بله دیگه سخت افزاریه همونطورم که می بینی تو پرتیوس کار می کنه
            یه چیز دیگه اینکه با اهم متر پایه های سون سگمنتا رو چک کن سالم باشن ولتاژی که به پایه های سون سگمن می رسن رو با مولتی متر اندازه بگیر
            ممکنه اون سون سگمنتا نتونند ولتاژ 5 ولت رو تحمل کنند و بسوزن
            شما اینایی رو که گفتم انجام بدین ببینیم چی به چیه
            برد جوجه کشی:
            مطالعه پست 1 (حتما مطالعه کنید)


            مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

            دانلود

            توجه:
            این برد نیمه صنعتی و خانگی هست...
            برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

            آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

            دیدگاه


              #96
              پاسخ : مشگل در نگه داشتن دما ثابت در محدوده منفی

              نوشته اصلی توسط mohammad...
              رو 1000 هم بزار اگه درست نشد بله دیگه سخت افزاریه همونطورم که می بینی تو پرتیوس کار می کنه
              یه چیز دیگه اینکه با اهم متر پایه های سون سگمنتا رو چک کن سالم باشن ولتاژی که به پایه های سون سگمن می رسن رو با مولتی متر اندازه بگیر
              ممکنه اون سون سگمنتا نتونند ولتاژ 5 ولت رو تحمل کنند و بسوزن
              شما اینایی رو که گفتم انجام بدین ببینیم چی به چیه
              سگمنت ها سالمه
              سخت افزارشم تست کردم
              به نظرتون مشگل از کجا میتونه باشه ؟
              مشگل از بافر هم نیس چون اگه اونطور بود اعداد اول هم نشون نمیداد
              راستی دما باز رو 85 قفل کرد چرا؟

              دیدگاه


                #97
                پاسخ : مشگل در نگه داشتن دما ثابت در محدوده منفی

                نوشته اصلی توسط mohammad safarnejad
                سگمنت ها سالمه
                سخت افزارشم تست کردم
                به نظرتون مشگل از کجا میتونه باشه ؟
                مشگل از بافر هم نیس چون اگه اونطور بود اعداد اول هم نشون نمیداد
                راستی دما باز رو 85 قفل کرد چرا؟
                نه دیگه اگه مشکل از برنامه باشه وقتی که رو 100 یا 1000 میزاری باید سون سگمنتا نوبتی روشن و خاموش شن
                باید حوصله خرج بدی و کاری که میگم بکنی
                این برنامه شمارش 5 هست شماره گذاشتم بعد قاطی نشه
                این پروگرام کن
                تو این برنامه باید مشکل قفل رو 85 برطرف بشه البته این برنامه رو بیشتر برای تست سون سگمنا تغییر دادم اگه سون سگمنتا همگی به طور کامل به میکرو وصل باشن باید نوبتی عدد 8 از اول شروع و تا آخرین سون سگمنت بره
                اگه نره مشکل از یه جای دیگه هست
                [code=vb]$regfile = "m16def.dat"
                $crystal = 2000000
                Config Lcdpin = Pin , Rs = Porta.7 , E = Porta.6 , Db4 = Porta.5 , Db5 = Porta.4 , _
                Db6 = Porta.3 , Db7 = Porta.2
                Config Lcd = 16 * 2
                Cursor Off
                Config Single = Scientific , Digits = 1
                Config 1wire = Portd.7
                Dim Ss As String * 30
                Dim Temp As String * 6
                Dim Temp1 As String * 6
                Dim Temp2 As String * 6
                Dim I1 As Integer
                Dim I2 As Integer
                Dim I11 As Single
                Dim I22 As Single
                Dim Dsid1(8) As Byte
                Dim Dsid2(8) As Byte
                '############################################ ##################################'
                Dim L As Single
                Dim H As Single
                Dim Ll As String * 4
                Dim Hh As String * 4
                Dim T As Single
                Dim T1 As Single
                Dim T2 As Single
                Dim Dt As Single
                Dim F As Byte , V As Byte , Kilid As Byte
                Dim String_s As String * 3 , String_a As String * 2 , Sr(5) As String * 1 , P(5) As Integer
                Dim Val_s As Single , D1 As Word , D2 As Word
                Dim Cont(5) As Byte , I As Integer , N As Byte , Ul As String * 6
                Dim Pg As Single
                Declare Sub Segment
                '############################################ ##################################'
                Dsid1(1) = 1wsearchfirst()
                '**************'
                Config Portb = Output
                Config Portc = Output
                Config Portd.2 = Output
                Config Portd.0 = Output
                Config Porta.1 = Output
                Config Porta.0 = Output
                Config Portd.1 = Input
                Config Portd.5 = Input
                Config Portd.6 = Input
                Config Portd.4 = Input
                Config Portd.3 = Input
                '**************'
                Set Porta.1
                Cls
                Locate 1 , 4
                Lcd "AZAR NOGA"
                Wait 5

                Submain:
                Set Porta.1
                F = 1
                Cls
                Cursor Off
                Readeeprom L , 1
                Waitms 5
                Readeeprom H , 8
                Waitms 5
                Readeeprom Kilid , 12
                Waitms 5
                Ll = Fusing(l , "#.#&quot
                Do
                If Pind.5 = 0 And F = 0 Then Goto Settempon
                1wreset
                1wwrite &HCC
                1wwrite &H44
                '=================================
                For N = 0 To 20
                Segment
                Next
                If Err = 1 Then
                Cls
                Locate 1 , 4
                Lcd "No DS18B20"
                Wait 1
                Portb = &H00
                Else
                '---------------------------------'
                1wreset
                1wwrite &H55
                1wverify Dsid1(1)
                1wwrite &HBE
                I1 = 1wread(2)
                '---------------------------------'
                Segment
                '---------------------------------'
                Ss = ""
                I11 = I1 \ 16
                Ss = Fusing(i11 , "#.##&quot
                Temp1 = Ss
                Segment
                Dt = Val(temp1)
                T1 = Dt
                Segment
                If Kilid = 0 Then T = T1
                If Kilid = 1 Then T = T2
                If Pind.6 = 0 And V = 0 Then
                Incr Kilid
                If Kilid > 1 Then Kilid = 0
                V = 1
                Writeeeprom Kilid , 12
                Waitms 5
                Cls
                Waitms 300
                Cls
                End If
                Segment

                If Pind.6 = 1 Then V = 0
                Locate 1 , 1
                If Kilid = 0 Then
                Lcd "Temp=" ; Temp1 ; Chr(223) ; "C "
                Temp = Temp1
                End If
                Segment
                If Kilid = 1 Then
                Lcd "Temp=" ; Temp2 ; ":" ; ; Chr(223) ; "C "
                Temp = Temp2
                End If
                Segment
                '====================7segment formol==
                If T < 0 Then
                Pg = Abs(t)
                Else
                Pg = -1
                End If
                If T >= 100 Then String_s = Left(temp , 3)
                If T >= 10 And T < 100 Then String_s = Left(temp , 2)
                If T < 10 Then String_s = Left(temp , 1)
                String_a = Right(temp , 2)
                Segment
                If T < 10 And T >= 0 Then
                Cont(1) = 1 : Cont(2) = 4 : Cont(3) = 5 : Cont(4) = 20 : Cont(5) = 20
                Elseif T >= 10 And T < 100 Then
                Cont(1) = 1 : Cont(2) = 2 : Cont(3) = 4 : Cont(4) = 5 : Cont(5) = 20
                Elseif T >= 100 Then
                Cont(1) = 1 : Cont(2) = 2 : Cont(3) = 3 : Cont(4) = 4 : Cont(5) = 5
                End If
                Segment
                If Pg >= 10 And Pg < 100 Then String_s = Mid(temp , 2 , 2)
                If Pg < 10 And Pg >= 0 Then String_s = Mid(temp , 2 , 1)
                String_a = Right(temp , 2)
                Segment
                If Pg < 10 And Pg >= 0 Then
                Cont(1) = 30 : Cont(2) = 1 : Cont(3) = 4 : Cont(4) = 5 : Cont(5) = 20
                Elseif Pg >= 10 And Pg < 100 Then
                Cont(1) = 30 : Cont(2) = 2 : Cont(3) = 3 : Cont(4) = 4 : Cont(5) = 5
                End If
                Segment
                Sr(1) = Left(string_s , 1)
                If T => 0 Then Sr(2) = Mid(string_s , 2 , 1)
                If T < 0 Then Sr(2) = Left(string_s , 1 )
                Segment
                Sr(3) = Right(string_s , 1)
                Sr(4) = Left(string_a , 1)
                Sr(5) = Right(string_a , 1)
                Segment
                P(1) = Val(sr(cont(1)))
                P(2) = Val(sr(cont(2)))
                P(3) = Val(sr(cont(3)))
                P(4) = Val(sr(cont(4)))
                P(5) = Val(sr(cont(5)))
                '============================
                Segment
                Locate 2 , 1
                Lcd "Temp Off:" ; L ; Chr(223) ; "C "
                Segment
                End If
                Deflcdchar 1 , 31 , 28 , 29 , 29 , 13 , 19 , 27 , 27
                Segment
                If T > L And T < H Then
                End If
                Segment
                '=================Gharm Shodan '
                If T > L Then
                Locate 1 , 16
                Lcd "*"
                Segment
                Set Portd.2
                Set Porta.0
                Reset Portd.0
                For N = 0 To 34
                Segment
                Next
                Else
                Locate 1 , 14
                Lcd " "
                Segment
                Reset Portd.2
                Reset Porta.0
                For N = 0 To 10
                Segment
                Next
                End If
                If Pind.5 = 1 Then F = 0
                Segment
                '=============
                Loop
                '###############################temp control####################################
                Settempon:
                Portb = &H00
                F = 1
                Cursor Off
                Locate 1 , 1
                Cls
                Lcd "Set Temp Off"
                Do
                Waitms 100
                If Pind.3 = 0 Then L = L + 0.1
                If Pind.4 = 0 Then L = L -0.1
                If Pind.5 = 0 And F = 0 Then
                Cls
                Lcd " SAVING..."
                Waitms 700
                Writeeeprom L , 1
                Waitms 5
                Cls
                Goto Submain
                End If
                Locate 2 , 1
                Lcd "Temp Off = " ; L ; Chr(0) ; "c "
                If Pind.5 = 1 Then F = 0
                Waitms 120
                Loop
                '############################7Segment module####################################
                Sub Segment
                Set Portc.5
                Set Portc.4
                Set Portc.3
                Set Portc.2
                Set Portc.1
                Reset Portc.0
                Portb = Lookup(p(1) , Temp_data)
                If T < 10 Then Portb = Portb Or &H80
                If T < 0 Then Portb = &H40
                Portb = &HFF
                Waitms 100
                '=============
                Set Portc.5
                Set Portc.4
                Set Portc.3
                Set Portc.2
                Set Portc.0
                Reset Portc.1
                Portb = Lookup(p(2) , Temp_data)
                If T => 10 And T < 100 Then Portb = Portb Or &H80
                If Pg < 10 And Pg > 0 Then Portb = Portb Or &H80
                Portb = &hff
                Waitms 100
                '=============
                Set Portc.5
                Set Portc.4
                Set Portc.3
                Set Portc.1
                Set Portc.0
                Reset Portc.2
                If Cont(3) <> 20 Then Portb = Lookup(p(3) , Temp_data)
                If T >= 100 Then Portb = Portb Or &H80
                If Pg => 10 And Pg < 100 Then Portb = Portb Or &H80
                If Cont(3) = 20 Then Portb = &H39
                Portb = &HFF
                Waitms 100
                '=============
                Set Portc.5
                Set Portc.4
                Set Portc.2
                Set Portc.1
                Set Portc.0
                Reset Portc.3
                If Cont(4) <> 20 Then Portb = Lookup(p(4) , Temp_data)
                If Cont(4) = 20 And Cont(3) <> 20 And T => 0 Then
                Portb = &H39
                Elseif Cont(4) = 20 Then
                Portb = &H00
                End If
                If Pg >= 100 Then Portb = Portb Or &H80
                Portb = &HFF
                Waitms 100
                '=============
                Set Portc.5
                Set Portc.3
                Set Portc.2
                Set Portc.1
                Set Portc.0
                Reset Portc.4
                If Cont(5) <> 20 Then Portb = Lookup(p(5) , Temp_data)
                If Cont(5) = 20 And Cont(4) <> 20 Then
                Portb = &H39
                Elseif Cont(5) = 20 Then
                Portb = &H00
                End If
                Portb = &HFF
                Waitms 100
                '=============
                Set Portc.4
                Set Portc.3
                Set Portc.2
                Set Portc.1
                Set Portc.0
                Reset Portc.5
                If Cont(5) = 20 Then Portb = &B0000000
                If Cont(5) <> 20 Then Portb = &H39
                Portb = &hff
                Waitms 100
                '=============
                End Sub
                '#############################eeprom data#######################################
                Temp_data:
                Data &H3F , &H06 , &H5B , &H4F , &H66 , &H6D , &H7D , &H07 , &H7F , &H6F
                '############################################ ###################################
                Dta:
                $eeprom
                Data 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16
                $data[/code]
                اینو پروگرام کن و ببین سون سگمنتا همشون روشن میشن یا نه
                یه چیز دیگه زمان برنامه یکم کند هست این برنامه برای تست سون سگمنتاست
                برد جوجه کشی:
                مطالعه پست 1 (حتما مطالعه کنید)


                مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

                دانلود

                توجه:
                این برد نیمه صنعتی و خانگی هست...
                برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

                آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

                دیدگاه


                  #98
                  پاسخ : مشگل در نگه داشتن دما ثابت در محدوده منفی

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

                  دیدگاه


                    #99
                    پاسخ : مشگل در نگه داشتن دما ثابت در محدوده منفی

                    نوشته اصلی توسط mohammad safarnejad
                    ممنون
                    مثل قبلا دو سگمنت اول و سگمنت وسط دوم چشمک میزنه
                    اخه من سخت افزار رو کلا دوباره چک کردم درسته دیونه شدم دیگه
                    پایه ی یکی از اون سون سگمنتایی که روشن نمی شن رو پیدا کن کاتدشو میگم
                    بعد تو بسکام تو حلقه ی do loop اون پایه رو صفر کن و همونطور portb رو هم یک کن اگه درست باشه روشن میشه اگه نباشه روشن نمیشه
                    منم دیوونه شدم
                    دیگه رفع این مشکل به خلاقیت خودت برمیگرده چون من به سخت افزار دسترسی ندارم شما بهتر می تونین تشخیص بدین که مشکل از کجاست
                    برد جوجه کشی:
                    مطالعه پست 1 (حتما مطالعه کنید)


                    مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

                    دانلود

                    توجه:
                    این برد نیمه صنعتی و خانگی هست...
                    برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

                    آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

                    دیدگاه


                      پاسخ : مشگل در نگه داشتن دما ثابت در محدوده منفی

                      نوشته اصلی توسط mohammad...
                      پایه ی یکی از اون سون سگمنتایی که روشن نمی شن رو پیدا کن کاتدشو میگم
                      بعد تو بسکام تو حلقه ی do loop اون پایه رو صفر کن و همونطور portb رو هم یک کن اگه درست باشه روشن میشه اگه نباشه روشن نمیشه
                      منم دیوونه شدم
                      دیگه رفع این مشکل به خلاقیت خودت برمیگرده چون من به سخت افزار دسترسی ندارم شما بهتر می تونین تشخیص بدین که مشکل از کجاست
                      دقیقا متوجه منظورت نشدم
                      مثلا portc.2 رو چیکار کنم؟

                      دیدگاه


                        پاسخ : مشگل در نگه داشتن دما ثابت در محدوده منفی

                        نوشته اصلی توسط mohammad safarnejad
                        دقیقا متوجه منظورت نشدم
                        مثلا portc.2 رو چیکار کنم؟
                        مثلا portc.4 رو صفر کن
                        بعد portb=&B11111111 قرار بده
                        می تونی از portc.0 شروع کنی مثلا اول پایه ی پورت سی در صفر رو صفر کن مرحله ی بعد portc.1 رو و ادامه بده تا ببینیم اون سون سگمنتا روشن می شن یا نه
                        این دستورات باید داخل do loop باشن
                        برد جوجه کشی:
                        مطالعه پست 1 (حتما مطالعه کنید)


                        مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

                        دانلود

                        توجه:
                        این برد نیمه صنعتی و خانگی هست...
                        برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

                        آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

                        دیدگاه


                          پاسخ : مشگل در نگه داشتن دما ثابت در محدوده منفی

                          نوشته اصلی توسط mohammad...
                          مثلا portc.4 رو صفر کن
                          بعد portb=&B11111111 قرار بده
                          می تونی از portc.0 شروع کنی مثلا اول پایه ی پورت سی در صفر رو صفر کن مرحله ی بعد portc.1 رو و ادامه بده تا ببینیم اون سون سگمنتا روشن می شن یا نه
                          این دستورات باید داخل do loop باشن
                          یعنی خودم do loop بزارم
                          کجا؟
                          منطورم اینه که قبل sub segment بزارم یا قبلش

                          دیدگاه


                            پاسخ : مشگل در نگه داشتن دما ثابت در محدوده منفی

                            راستی بازم رو 85 قفله

                            دیدگاه


                              پاسخ : مشگل در نگه داشتن دما ثابت در محدوده منفی

                              نوشته اصلی توسط mohammad safarnejad
                              یعنی خودم do loop بزارم
                              کجا؟
                              منطورم اینه که قبل sub segment بزارم یا قبلش
                              نه دیگه do loop تو برنامه هست باید کد رو داخلش بزاری
                              بی خیال
                              این ساده ترین کد برای تست سون سگمنته که همه سگمنتا اگه سالم باشن یا درست وصل شده باشن روشن میشن
                              این کد رو حتما امتحان کن
                              [code=vb]$regfile = "m16def.dat"
                              $crystal = 2000000
                              Config Portb = Output
                              Config Portc = Output

                              Do
                              Portc = &B00000000
                              Portb = &B11111111
                              Loop
                              [/code]

                              اضافه شده در تاریخ :
                              نوشته اصلی توسط mohammad safarnejad
                              راستی بازم رو 85 قفله
                              اون قفله رو بیخیالش شو اول سون سگمنتا رو درست کنیم بعد نوبت اونم می رسه
                              برد جوجه کشی:
                              مطالعه پست 1 (حتما مطالعه کنید)


                              مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

                              دانلود

                              توجه:
                              این برد نیمه صنعتی و خانگی هست...
                              برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

                              آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

                              دیدگاه


                                پاسخ : مشگل در نگه داشتن دما ثابت در محدوده منفی

                                آقا محمد فقط اولی و دومی روشن میشه
                                باید چیکار کنم؟

                                دیدگاه

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