اطلاعیه

Collapse
No announcement yet.

مشکل در کار با آلتراسونیک (srf05)

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

    مشکل در کار با آلتراسونیک (srf05)

    سلام دوستان :
    خسته نباشید
    من با سنسور آلتراسونیک srf05 کار میکنم و چند تا برنامه هم از انجمن گرفتم و هم از سایت دیگه
    نمونه کد خوب با زبان بسکام دارین شما اون رو امتحان کنم ؟؟؟ :angry: :angry: :angry: :angry:
    این برنامه ای که امتجان کردم :
    کد:
    $regfile = "m16adef.dat"
    $crystal = 8000000
    
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Dim A As Integer : Dim B As Integer : Dim X As Integer
    
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Config Porta = Output : Config Portc = Output
    
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2
    
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Cursor Off
    Cls
    Locate 1 , 1 : Lcd "Loding..."
    Locate 2 , 1 : Lcd "ULTERASOINC"
    Waitms 2000
    Cls
    
    Config Timer0 = Timer , Prescale = 8
    Enable Timer0
    Enable Ovf0
    On Ovf0 Ovf
    
    Config Int0 = Rising
    On Int0 Interrupt
    Enable Int0
    
    Enable Interrupts
    
    A = 0
    Timer0 = 0
    Start Timer0
    '------------------------- SEND PULSE -----------------------------'
    Do
      Porta.0 = 1
      Waitus 12
      Porta.0 = 0
      Waitus 12
    Loop
    '------------------------------------------------------------------'
    End
    '-------------------------- INTERRUPT -----------------------------'
    Interrupt:
      Reset Porta.0
      Stop Timer0
    
      If A = 0 Then
       A = Timer0
      Else
       A = A * 256 : A = A + Timer0
       'Cls : Locate 2 , 3 : Lcd "out of range" ; A
      End If
      A = A / 100
      Cls : Home : Lcd "Distance:" ; A ; " cm"
      A = 0
      Waitms 500
      Timer0 = 0 : Start Timer0
    Return
    
    '-------------------------------------------------------------------'
    
    '------------------------- OVF TIMER0 ------------------------------'
    Ovf:
      Stop Timer0 : Timer0 = 0
      Incr A
      Start Timer0
    Return
    
    '-------------------------------------------------------------------'
    آرزوی سرافرازی برای ایران عزیز . . .



    #2
    پاسخ : مشکل در کار با آلتراسونیک (srf05)

    دوستان مدار رو هم درست بستم ، روی lcd عدد 0 رو فقط نشون میده
    وقتی srf05 رو بر میدارم اعداد رندم تغییر میکنه . :angry: :angry: :angry: :angry: :angry:
    این را هم امتحان کردم :
    کد:
    $regfile = "m16adef.dat"
    $crystal = 8000000
    
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Pinb.0 , Db5 = Pinb.1 , Db6 = Pinb.2 , Db7 = Pinb.3 , Rs = Pinb.4 , E = Pinb.5
    Cursor Off
    Cls
    
    Config Portd.7 = Output                   'tarife paye haye eco va trig
    Config Pind.6 = Input
    Dim A As Word
    Dim B As Single
    Dim F As String * 10                    'tarife moteghayer
    Dim E As Byte
    Dim C As Byte
    C = 0
    Cls
    Locate 1 , 1
    Lcd "Diginic.net"
    Waitms 500
    
    Do
    Toggle Portb.0
    Toggle Portb.1
    
    Pulseout Portd , 7 , C                   'ersale pulse
    Pulsein A , Pind , 6 , 1                  'daryafte pulse
    B = A * 0.1735
    F = Fusing(b , "&.&&")
    
    Cls
    Home
    Lcd "distance:" ; F ; "cm"
    Locate 2 , 1
    Lcd "WWW.Diginic.Net"
    Waitms 300
    
    Loop
    End
    آرزوی سرافرازی برای ایران عزیز . . .


    دیدگاه


      #3
      پاسخ : مشکل در کار با آلتراسونیک (srf05)

      سلام
      این برنامه را تست کنید
      من خودم جواب گرفتم

      کد:
      $regfile = "m16def.dat"
      $crystal = 8000000
      Config Lcd = 16 * 2
      Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , Rs = Porta.2 , E = Porta.3
      Dim D As Word
      Config Portd.2 = Output
      Config Portd.0 = Output
      Config Portd.1 = Input
      Portb.0 = 0
      D = 4
      Cursor Off
      Cls
      Locate 1 , 1
      Lcd "Distance is : "
      Srf05:
      Pulseout Portd , 0 , 20
      Pulsein D , Pind , 1 , 1
      D = D * 4
      D = D / 5
      D = D * 2
      Locate 2 , 1
      Lcd D
      Lcd " CM"
      Waitms 220
      Cls
      Goto Srf05
      End
      *****عيب جامعه اين است که همه مي خواند آدم مهمي باشند ولي هيچ کس نمي خواهد فرد مفيدي باشد.*****
      http://electerodl.ir/forum

      دیدگاه


        #4
        پاسخ : مشکل در کار با آلتراسونیک (srf05)

        سلام
        اینقدر ما با این ماژول ور رفتیم آخرش یکی پیشنهاد داد شاید ماژول مشکل داشته باشه .
        چون همه نمونه کد ها درست بودند .
        ما هم رفتیم و یک ماژول دیگه خریدیم دیدیم بله ماژول مشکل داشته است !!!!
        شمام اگه نمونه کدهات درستند مطمئنا به همون مشکل دچار شده اید .

        دیدگاه


          #5
          پاسخ : مشکل در کار با آلتراسونیک (srf05)

          سلام دوستان :
          من با SRF05 دارم و با مد 1 راه اندازیش کردم
          ( VCC=5
          GND=GND
          TRIGGER=INPUT
          ECHO=OUTPUT
          )
          و با چند تا برنامه امتحان کردم جواب نداد ، حالا می خواهم خود ماژول را تست کنم ،
          با میکرو یک پالس ایجاد میکنم و به پایه ی TRIGGER میدم ؛ و از پایه ی ECHO خروجی میگرم و با یک مقاومت به LED میدم ( زمین و VCC هم وصل اند ) ولی باز هم ماژول کار نمیکنه !!!!! :cry:
          آیا روش تست کردن من اشتباهه یا ماژول خرابه ؟؟؟؟ :surprised:
          تازه خریدمش آخه !!!!!!!!!!!! :sad:
          آرزوی سرافرازی برای ایران عزیز . . .


          دیدگاه


            #6
            پاسخ : مشکل در کار با آلتراسونیک (srf05)

            باسلام.من این ماژول رو تهیه کردم ولی با چندین برنامه مختلف, بیش از 270 سانتی متر جواب نگرفتم و بیشتر از این بازه, عدد پرت نشون میده.آیا مشکل از ماژوله که با کیفیت نیست؟

            دیدگاه

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