اطلاعیه

Collapse
No announcement yet.

مشکل با رسم نمودار دما در glcd

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

    مشکل با رسم نمودار دما در glcd

    ---------------------
    سلام
    من سورس زیر برای رسم نمودار استفاده کردم و بجای lm 35 از سنسور sht11استعاده کردم و متغیر هام هم از نوع single انتخاب کردم
    حالا وقتی گراف رسم میشه از اخرین ستون شروع به رسم میکنه اونم به صورت بر عکس ،هر چی اعداد و دستکاری کردم نشد میشه کسی راهنمای کنه؟



    $regfile = "m16def.dat"

    $crystal = 8000000

    $hwstack = 64

    $swstack = 64

    $framesize = 64



    Config Adc = Single , Prescaler = Auto , Reference = Internal
    Enable Adc
    Start Adc
    Dim W As Word
    $lib "glcdKS108.lbx"
    Config Graphlcd = 128 * 64sed , Dataport = Portb , Controlport = Portc , Ce = 4 , Ce2 = 3 , Cd = 0 , Rd = 1 , Reset = 5 , Enable = 2
    '--------------------------------------------------------------
    Dim A As Byte , B As Byte
    Dim X1 As Byte , X2 As Byte , Y1 As Byte , Y2 As Byte
    Dim Arr(26) As Byte , Temp(26) As Byte
    Dim S As Byte
    Dim Index As Byte
    Dim Index2 As Byte
    Dim Tmp As Byte
    '-------------------- Main Prog Start Here:
    Cls
    Set Portb.0
    Waitms 50
    Reset Portb.0
    Do
    Cls
    Showpic 0 , 0 , Pic1
    '=================== First Graph =====================
    For X1 = 0 To 120 Step 5
    Incr Index
    Y1 = Arr(index)
    Y2 = Arr(index + 1)
    X2 = X1 + 5
    Line(x1 , Y1) -(x2 , Y2) , 255
    Next X1
    Index = 0
    '================ Update Graph ====================
    For Tmp = 1 To 26 'Copy Arr
    Temp(tmp) = Arr(tmp)
    Next Tmp
    Arr(1) = Temp(2) 'Shift Arr
    For Tmp = 2 To 25
    S = Tmp + 1
    Arr(tmp) = Temp(s)
    Next Tmp
    W = Getadc(0)
    W = W / 16 'Max: 1024/16=64
    Arr(26) = W
    Waitms 500 'Scan Speed
    Loop
    End
    Pic1:
    $bgf "Grid.bgf"
    { خلاف قوانین - پاک شد }

    #2
    پاسخ : مشکل با رسم نمودار دما در glcd

    نوشته اصلی توسط mostafaserial
    ---------------------
    سلام
    من سورس زیر برای رسم نمودار استفاده کردم و بجای lm 35 از سنسور sht11استعاده کردم و متغیر هام هم از نوع single انتخاب کردم
    حالا وقتی گراف رسم میشه از اخرین ستون شروع به رسم میکنه اونم به صورت بر عکس ،هر چی اعداد و دستکاری کردم نشد میشه کسی راهنمای کنه؟



    $regfile = "m16def.dat"

    $crystal = 8000000

    $hwstack = 64

    $swstack = 64

    $framesize = 64



    Config Adc = Single , Prescaler = Auto , Reference = Internal
    Enable Adc
    Start Adc
    Dim W As Word
    $lib "glcdKS108.lbx"
    Config Graphlcd = 128 * 64sed , Dataport = Portb , Controlport = Portc , Ce = 4 , Ce2 = 3 , Cd = 0 , Rd = 1 , Reset = 5 , Enable = 2
    '--------------------------------------------------------------
    Dim A As Byte , B As Byte
    Dim X1 As Byte , X2 As Byte , Y1 As Byte , Y2 As Byte
    Dim Arr(26) As Byte , Temp(26) As Byte
    Dim S As Byte
    Dim Index As Byte
    Dim Index2 As Byte
    Dim Tmp As Byte
    '-------------------- Main Prog Start Here:
    Cls
    Set Portb.0
    Waitms 50
    Reset Portb.0
    Do
    Cls
    Showpic 0 , 0 , Pic1
    '=================== First Graph =====================
    For X1 = 0 To 120 Step 5
    Incr Index
    Y1 = Arr(index)
    Y2 = Arr(index + 1)
    X2 = X1 + 5
    Line(x1 , Y1) -(x2 , Y2) , 255
    Next X1
    Index = 0
    '================ Update Graph ====================
    For Tmp = 1 To 26 'Copy Arr
    Temp(tmp) = Arr(tmp)
    Next Tmp
    Arr(1) = Temp(2) 'Shift Arr
    For Tmp = 2 To 25
    S = Tmp + 1
    Arr(tmp) = Temp(s)
    Next Tmp
    W = Getadc(0)
    W = W / 16 'Max: 1024/16=64
    Arr(26) = W
    Waitms 500 'Scan Speed
    Loop
    End
    Pic1:
    $bgf "Grid.bgf"
    سلام من بیسیک کار نکردم ولی نقطه 0و0 lcd سمت چپ و بالا شروع میشه باید مختصات نقطه و درست محاسبه کنی که کار سختی نیست اگه یکم روش فکر کنی
    موفق باشی

    دیدگاه


      #3
      پاسخ : مشکل با رسم نمودار دما در glcd

      سلام
      ممنون اینارو میدونم ولی بازم نمیشه نمیدونم شاید بخاطر متغیر باشه؟؟
      { خلاف قوانین - پاک شد }

      دیدگاه


        #4
        پاسخ : مشکل با رسم نمودار دما در glcd

        نوشته اصلی توسط mostafaserial
        سلام
        ممنون اینارو میدونم ولی بازم نمیشه نمیدونم شاید بخاطر متغیر باشه؟؟
        احتمالا یه جای کار بی دقتی شده من چند روز پیش همینکارو کردم
        مقدار متغیرم و نسبت گرفتم به تعداد سطر و ستون lcd ایم و نقطه گذاشتم ...مثلا اگه دمات 25 درجه هست ببین ستونت چندتا خونه داره نسبت بگیر ... و این نکته و باید رعایت کنی : چون 0 محور عمودی از بالا شروع میشه باید مقدارتو از ماکسیمم ستونت کم کنی یعنی فرض اگه 100 ماکسیمم عمودیت باشیه باید روی lcd 75 رو نقطه بزاری که نزولی نشون نده

        دیدگاه

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