test multi VL53

Dependencies:   mbed VL53L0X

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 //Multiple Sensors
00002 #include"mbed.h"
00003 #include"VL53L0X.h"
00004 uint16_t measure[3] = {0,0,0};
00005 int zero_um[3] = {0,0,0};
00006 int total = 0;
00007 #define DIS_MAX 500; //Distância maxima a partir da qual o inimigo será detectado
00008 I2C i2c(p9, p10);
00009 VL53L0X v1_sensors[2] = {(&i2c),(&i2c)};
00010 DigitalOut v1_shutdown(p8);
00011 //Serial bt(p28, p27);
00012 void Search()
00013 {
00014     
00015     v1_shutdown=0;
00016     wait(0.1);
00017     v1_sensors[0].init();
00018     v1_sensors[0].setDeviceAddress(0x50/2);
00019     v1_sensors[0].setModeContinuous();
00020     v1_sensors[0].startContinuous();
00021     v1_shutdown=1;
00022     wait(0.1);
00023      v1_sensors[1].init();
00024     v1_sensors[1].setModeContinuous();
00025     v1_sensors[1].startContinuous();
00026     
00027         short addr=0;
00028     char tb[2],ack;
00029      printf("START\r\n");
00030    while(addr<256) {  
00031         ack = i2c.write(addr,tb,1);
00032         wait_us(100);
00033         if(!ack) {
00034                 printf("xxxI2C found @ %x\r\n",addr);
00035         }
00036         addr+=2;
00037     }
00038     printf("stop\r\n");
00039 }
00040 int main()
00041 {
00042     Search();
00043     while(1){
00044         for(uint8_t i = 0; i < 2 ; i++){
00045             measure[i]=v1_sensors[i].getRangeMillimeters();
00046             wait(0.001);
00047             printf("mesure[%u]= %u  ",i&0xFF,measure[i]);
00048         }
00049         printf("\r\n");
00050        wait(0.25);
00051        // bt.printf("%i \n\r",total);
00052     }
00053 }