BeagleBone Black에서 C 언어를 사용하여 VL53L0X(TOF) 센서 I2C 주소를 변경하는 방법

BeagleBone Black에서 C 언어를 사용하여 VL53L0X(TOF) 센서 I2C 주소를 변경하는 방법

목적: BeagleBone Black Board(Debian OS)에서 C 언어를 사용하여 I2C 통신을 사용하여 4개의 VL53L0X(TOF) 센서의 데이터를 읽습니다.

단일 VL53L0X(TOF) 센서에 대한 c 코드를 구현했는데 다음과 같습니다.https://github.com/bitbank2/VL53L0X

위 링크에서:


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <tof.h> // time of flight sensor library
int main(int argc, char *argv[])
{
    int i;
    int iDistance;
    int model, revision;

    // For Raspberry Pi's, the I2C channel is usually 1
    // For other boards (e.g. OrangePi) it's 0
    i = tofInit(2, 0x29, 1); // 2=I2CBus, 0x29 i2c slave address, 1 = long range.
    
    if (i != 1)
    {
        return -1; // problem - quit
    }
    printf("VL53L0X device successfully opened.\n");
    i = tofGetModel(&model, &revision);
    usleep(50000); // 50ms
    printf("Model ID =%d,\n", model);
    printf("Revision ID =%d,\n", revision);

    for (i=0; i<1200; i++) // read values 20 times a second for 1 minute
    {
        iDistance = tofReadDistance();
        if (iDistance < 4096) // valid range?
            printf("Distance = %dmm\n", iDistance);
        usleep(50000); // 50ms
    }

return 0;
} /* main() */

하지만 내 지원서는4VL53L0X(TOF) 센서.

또는 c 코딩을 사용하여 솔루션을 얻는 다른 방법을 사용하십시오.

감사해요.

관련 정보