اطلاعیه

Collapse
No announcement yet.

VCNL4000-I2C کمک در مورد سنسور

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

    VCNL4000-I2C کمک در مورد سنسور

    با سلام سنسور دیجیتال پروکسیمیتی VCNL4000 با باس i2c کار میکنه
    ولی نمیدونم چرا جواب نمیده و هیچ دیتایی برنمیگردونه
    برای کسایی که با این سنسور تجربه دارن میشه بگن چیه
    یه کد ساده برای خوندن ID گزاشتم

    $regfile = "m8def.dat"
    $crystal = 8000000



    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Rs = Portc.5 , E = Portc.4 , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0



    Config Scl = Portb.1

    Config Sda = Portb.2

    I2cinit


    Const Vcnl_w = &H26
    Const Vcnl_r = &H27

    Dim Id As Byte

    Waitms 50

    Cursor Off
    Cls
    Lcd "VCNL4000"
    Locate 2 , 1
    Lcd "Proximity"


    Wait 1
    Home
    Do


    I2cstart

    I2cwbyte &H13

    I2cwbyte &H81

    I2cstart

    I2cwbyte Vcnl_r

    I2crbyte Id , Nack

    I2cstop




    Home
    Lcd "ID=" ; Id ; " "


    Waitms 500



    Loop

    End
    مهم نیست که چه اندیشه ای در سر و چه ترسی در دل دارید؛ مهم آن است که بیکار ننشینید و دست به کاری بزنید و وارد میدان عمل بشوید.

    نمی توانید به کودکی بیاموزید که از خود مواظبت کند، مگر آنکه او را آزاد بگذارید تا برای مواظبت از خود بکوشد؛ ممکن است اشتباه کند، ولی دانایی او از میان همین اشتباهات سرچشمه می گیرد.

    #2
    پاسخ : VCNL4000-I2C کمک در مورد سنسور

    میشه بیشتر در مورد این سنسور توضیح بدید؟
    www.gam-co.blogsky.com

    دیدگاه


      #3
      پاسخ : VCNL4000-I2C کمک در مورد سنسور

      دو خط پایین تر از خط Do نوشتی :
      I2cwbyte &H13

      این دستور رو باید عوض کنی . درستش :
      I2cwbyte &H26
      یا
      I2cwbyte Vcnl_w

      هست

      دیدگاه


        #4
        پاسخ : VCNL4000-I2C کمک در مورد سنسور

        نوشته اصلی توسط یوسف شه نهاد
        دو خط پایین تر از خط Do نوشتی :
        I2cwbyte &H13

        این دستور رو باید عوض کنی . درستش :
        I2cwbyte &H26
        یا
        I2cwbyte Vcnl_w

        هست
        چرا مگه تو i2c اول آدرس slave رو نمیفرستیم
        مهم نیست که چه اندیشه ای در سر و چه ترسی در دل دارید؛ مهم آن است که بیکار ننشینید و دست به کاری بزنید و وارد میدان عمل بشوید.

        نمی توانید به کودکی بیاموزید که از خود مواظبت کند، مگر آنکه او را آزاد بگذارید تا برای مواظبت از خود بکوشد؛ ممکن است اشتباه کند، ولی دانایی او از میان همین اشتباهات سرچشمه می گیرد.

        دیدگاه


          #5
          پاسخ : VCNL4000-I2C کمک در مورد سنسور

          نوشته اصلی توسط SeGMeX
          چرا مگه تو i2c اول آدرس slave رو نمیفرستیم
          آره اما آدرس slave رو اشتباه نوشتی . آدرس slave یک عدد 7 بیتیه و بیت هشتم رو صفر باید بزاری جلوش تا بنویسی یا یک بزاری جلوش تا بخونی
          وقتی یه صفر بزاری جلوی آدرس در واقع عدد آدرس دو برابر میشه و 13 تبدیل میشه به 26

          خود کد هم نوشته :
          Const Vcnl_w = &H26

          این همون آدرس نوشتن توی slave هست

          دیدگاه

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