صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از 1 به 10 از 19
Like Tree1 لایک

موضوع: اشکال در راه اندازی vl53l0x

  1. #1
    Junior Member
    تاریخ عضویت
    Oct 2017
    نوشته ها
    10

    اشکال در راه اندازی vl53l0x

    با عرض سلام و ادب
    دوروز پیش این ماژول فاصله سنج لیزری VL53L0X با قابلیت سنجش تا 2 متر
    دستم رسید.
    به آردوینو وصلش کردم و از لایبرری آدافروت و چند تا لایبرری دیگه هم استفاده کردم ولی همش چندتا عدد تکراری نشون میده و بعد قطع میشه یا هیچی نشون نمیده.
    میشه راهنماییم کنید؟
    ممکنه که ماژوئل خراب باشه؟
    خیلی برام مهمه
    خواهش میکنم راهنماییم کنید
    untitled.jpg

  2. #2
    Senior Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    153
    در برنامه ای که استفاده کردید از پروتکل IIC استفاده کردید ( کتابخونه wire.h رو صدا زدید ) در نتیجه باید از پینهای sda و scl ماژول استفاده کنید و اگه از آردوینو Uno استفاده میکنید پینهای I2c پینهای آنالوگ A4 و A5 هستش .

  3. #3
    Junior Member
    تاریخ عضویت
    Oct 2017
    نوشته ها
    10
    نقل قول نوشته اصلی توسط Ahmad110 نمایش پست ها
    در برنامه ای که استفاده کردید از پروتکل IIC استفاده کردید ( کتابخونه wire.h رو صدا زدید ) در نتیجه باید از پینهای sda و scl ماژول استفاده کنید و اگه از آردوینو Uno استفاده میکنید پینهای I2c پینهای آنالوگ A4 و A5 هستش .
    از حسن توجه شما سپاسگزارم
    بله همونطوری که فرمودید عمل کردم
    الان این پیام رو میده:
    untitled.jpg
    امکان داره خود ماژول مشکل دار باشه؟
    خواهش میکنم راهنماییم کنید تا درستش کنم
    چون بودجه ندارم دوباره تهیه کنم
    ممنونم ازتون

  4. #4
    Junior Member
    تاریخ عضویت
    Oct 2017
    نوشته ها
    10
    توی ویدیوی آدافروت سنسور لیزرش روشن میشه موقع سنس کردن
    این اصلا هیچ عکس العملی نشون نمیده

  5. #5
    Senior Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    153
    نقل قول نوشته اصلی توسط usher نمایش پست ها
    از حسن توجه شما سپاسگزارم
    بله همونطوری که فرمودید عمل کردم
    الان این پیام رو میده:
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Untitled.jpg
مشاهده: 21
حجم: 75.4 کیلو بایت
    امکان داره خود ماژول مشکل دار باشه؟
    خواهش میکنم راهنماییم کنید تا درستش کنم
    چون بودجه ندارم دوباره تهیه کنم
    ممنونم ازتون
    مطمئن هستید که پایه ها رو درست متصل کردید ؟
    اگه امکان داره برنامه رو هم بزارید چون تو عکس چیزی مشخص نیست .

  6. #6
    Junior Member
    تاریخ عضویت
    Oct 2017
    نوشته ها
    10
    نقل قول نوشته اصلی توسط Ahmad110 نمایش پست ها
    مطمئن هستید که پایه ها رو درست متصل کردید ؟
    اگه امکان داره برنامه رو هم بزارید چون تو عکس چیزی مشخص نیست .
    بله
    تصویر وایرینگ:
    img_20171013_203034.jpg
    img_20171013_203050.jpg

    کدهای آدافروت:
    کد:
    #include "Adafruit_VL53L0X.h"
    
    Adafruit_VL53L0X lox = Adafruit_VL53L0X();
    
    void setup() {
      Serial.begin(115200);
    
      // wait until serial port opens for native USB devices
      while (! Serial) {
        delay(1);
      }
      
      Serial.println("Adafruit VL53L0X test");
      if (!lox.begin()) {
        Serial.println(F("Failed to boot VL53L0X"));
        while(1);
      }
      // power 
      Serial.println(F("VL53L0X API Simple Ranging example\n\n")); 
    }
    
    
    void loop() {
      VL53L0X_RangingMeasurementData_t measure;
        
      Serial.print("Reading a measurement... ");
      lox.rangingTest(&measure, false); // pass in 'true' to get debug data printout!
    
      if (measure.RangeStatus != 4) {  // phase failures have incorrect data
        Serial.print("Distance (mm): "); Serial.println(measure.RangeMilliMeter);
      } else {
        Serial.println(" out of range ");
      }
        
      delay(100);
    }
    کدهای پائولو:
    کد:
    /* This example shows how to use continuous mode to take
    range measurements with the VL53L0X. It is based on
    vl53l0x_ContinuousRanging_Example.c from the VL53L0X API.
    
    The range readings are in units of mm. */
    
    #include <Wire.h>
    #include <VL53L0X.h>
    
    VL53L0X sensor;
    
    void setup()
    {
      Serial.begin(9600);
      Wire.begin();
    
      sensor.init();
      sensor.setTimeout(500);
    
      // Start continuous back-to-back mode (take readings as
      // fast as possible).  To use continuous timed mode
      // instead, provide a desired inter-measurement period in
      // ms (e.g. sensor.startContinuous(100)).
      sensor.startContinuous();
    }
    
    void loop()
    {
      Serial.print(sensor.readRangeContinuousMillimeters());
      if (sensor.timeoutOccurred()) { Serial.print(" TIMEOUT"); }
    
      Serial.println();
    }

  7. #7
    Senior Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    153
    ممکنه آدرس پیشفرض I2c درست نباشه . اول از طریق لینکی که بهتون دادم ، آدرس i2c برد رو پیدا کنید و آدرس رو در مثال اعمال کنید تا ماژول شروع به کار کنه .

    کد i2c scanner

  8. #8
    Junior Member
    تاریخ عضویت
    Oct 2017
    نوشته ها
    10
    نقل قول نوشته اصلی توسط Ahmad110 نمایش پست ها
    ممکنه آدرس پیشفرض I2c درست نباشه . اول از طریق لینکی که بهتون دادم ، آدرس i2c برد رو پیدا کنید و آدرس رو در مثال اعمال کنید تا ماژول شروع به کار کنه .

    کد i2c scanner
    ازتون ممنونم بابت وقتی که برام میذارید
    همونطوری که فرمودید آدرسش رو گرفتم:
    I2C device found at address 0x29 !
    و بعد توی کد گذاشتم:

    void setup() {
    Serial.begin(115200);
    #define VL53L0X_I2C_ADDR 0x29;
    ولی باز میگه:
    Failed to boot VL53L0X
    موندم چیکار کنم.
    یک شنبه باید کارو تحویل بدم!
    تاز اگه این ماژول سالم باشه
    اگه نبود آفتاب رایانه فکر نکنم پسش بگیره چون امروز 48 ساعتش تموم شد و جمعه بود.
    پسش هم بگیره تا بره و بیاد یک شنبه رو رد کردم
    یعنی داغونما

  9. #9
    Senior Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    153
    اگه خروجی آدرس بهتون داده یعنی برد سالمه و مشکل تو برنامه هستش . تو آموزش آدافروت هم آدرس پیشفرض 0x29 هستش .
    با برنامه زیر یه بار تست کنید ببینید که بازم همون ارور رو میگیرید ؟
    کد:
    #include "Adafruit_VL53L0X.h"
    
    
    Adafruit_VL53L0X lox = Adafruit_VL53L0X();
    
    
    void setup() {
    
      Serial.begin(115200);
    
      //lox.begin(0x29);
    
    
      // wait until serial port opens for native USB devices
    
      while (! Serial) {
    
        delay(1);
    
      }
      
    
      Serial.println("Adafruit VL53L0X test");
    
      if (!lox.begin(0x29)) {
    
        Serial.println(F("Failed to boot VL53L0X"));
    
        while(1);
    
      }
    
      // power 
    
      Serial.println(F("VL53L0X API Simple Ranging example\n\n")); 
    
    }
    
    
    
    
    
    void loop() {
    
      VL53L0X_RangingMeasurementData_t measure;
    
        
    
      Serial.print("Reading a measurement... ");
    
      lox.rangingTest(&measure, false); // pass in 'true' to get debug data printout!
    
    
    
      if (measure.RangeStatus != 4) {  // phase failures have incorrect data
    
        Serial.print("Distance (mm): "); Serial.println(measure.RangeMilliMeter);
    
      } else {
    
        Serial.println(" out of range ");
    
      }
        
      delay(100);
    
    }

  10. #10
    Junior Member
    تاریخ عضویت
    Oct 2017
    نوشته ها
    10
    نقل قول نوشته اصلی توسط Ahmad110 نمایش پست ها
    اگه خروجی آدرس بهتون داده یعنی برد سالمه و مشکل تو برنامه هستش . تو آموزش آدافروت هم آدرس پیشفرض 0x29 هستش .
    با برنامه زیر یه بار تست کنید ببینید که بازم همون ارور رو میگیرید ؟
    کد:
    #include "Adafruit_VL53L0X.h"
    
    
    Adafruit_VL53L0X lox = Adafruit_VL53L0X();
    
    
    void setup() {
    
      Serial.begin(115200);
    
      //lox.begin(0x29);
    
    
      // wait until serial port opens for native USB devices
    
      while (! Serial) {
    
        delay(1);
    
      }
      
    
      Serial.println("Adafruit VL53L0X test");
    
      if (!lox.begin(0x29)) {
    
        Serial.println(F("Failed to boot VL53L0X"));
    
        while(1);
    
      }
    
      // power 
    
      Serial.println(F("VL53L0X API Simple Ranging example\n\n")); 
    
    }
    
    
    
    
    
    void loop() {
    
      VL53L0X_RangingMeasurementData_t measure;
    
        
    
      Serial.print("Reading a measurement... ");
    
      lox.rangingTest(&measure, false); // pass in 'true' to get debug data printout!
    
    
    
      if (measure.RangeStatus != 4) {  // phase failures have incorrect data
    
        Serial.print("Distance (mm): "); Serial.println(measure.RangeMilliMeter);
    
      } else {
    
        Serial.println(" out of range ");
    
      }
        
      delay(100);
    
    }

    این بار این پیامو داد:

    Adafruit VL53L0X test
    VL53L0X Info:
    Device Name: VL53L0X TS0, Type: VL53L0X, ID:
    Rev Major: 1, Minor: 0
    Error expected cut 1.1 but found 1,0
    VL53L0X Error: -5
    Failed to boot VL53L0X

صفحه 1 از 2 12 آخرینآخرین

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO