test multi VL53

Dependencies:   mbed VL53L0X

Committer:
bouaziz
Date:
Tue Feb 15 14:52:28 2022 +0000
Revision:
1:1e2328afe387
Parent:
0:6507f9fee04d
test VL53 Polytech paris Saclay;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Mateusjesus 0:6507f9fee04d 1 //Multiple Sensors
Mateusjesus 0:6507f9fee04d 2 #include"mbed.h"
Mateusjesus 0:6507f9fee04d 3 #include"VL53L0X.h"
Mateusjesus 0:6507f9fee04d 4 uint16_t measure[3] = {0,0,0};
Mateusjesus 0:6507f9fee04d 5 int zero_um[3] = {0,0,0};
Mateusjesus 0:6507f9fee04d 6 int total = 0;
Mateusjesus 0:6507f9fee04d 7 #define DIS_MAX 500; //Distância maxima a partir da qual o inimigo será detectado
Mateusjesus 0:6507f9fee04d 8 I2C i2c(p9, p10);
bouaziz 1:1e2328afe387 9 VL53L0X v1_sensors[2] = {(&i2c),(&i2c)};
bouaziz 1:1e2328afe387 10 DigitalOut v1_shutdown(p8);
bouaziz 1:1e2328afe387 11 //Serial bt(p28, p27);
Mateusjesus 0:6507f9fee04d 12 void Search()
Mateusjesus 0:6507f9fee04d 13 {
bouaziz 1:1e2328afe387 14
bouaziz 1:1e2328afe387 15 v1_shutdown=0;
bouaziz 1:1e2328afe387 16 wait(0.1);
bouaziz 1:1e2328afe387 17 v1_sensors[0].init();
bouaziz 1:1e2328afe387 18 v1_sensors[0].setDeviceAddress(0x50/2);
bouaziz 1:1e2328afe387 19 v1_sensors[0].setModeContinuous();
bouaziz 1:1e2328afe387 20 v1_sensors[0].startContinuous();
bouaziz 1:1e2328afe387 21 v1_shutdown=1;
bouaziz 1:1e2328afe387 22 wait(0.1);
bouaziz 1:1e2328afe387 23 v1_sensors[1].init();
bouaziz 1:1e2328afe387 24 v1_sensors[1].setModeContinuous();
bouaziz 1:1e2328afe387 25 v1_sensors[1].startContinuous();
bouaziz 1:1e2328afe387 26
bouaziz 1:1e2328afe387 27 short addr=0;
bouaziz 1:1e2328afe387 28 char tb[2],ack;
bouaziz 1:1e2328afe387 29 printf("START\r\n");
bouaziz 1:1e2328afe387 30 while(addr<256) {
bouaziz 1:1e2328afe387 31 ack = i2c.write(addr,tb,1);
bouaziz 1:1e2328afe387 32 wait_us(100);
bouaziz 1:1e2328afe387 33 if(!ack) {
bouaziz 1:1e2328afe387 34 printf("xxxI2C found @ %x\r\n",addr);
bouaziz 1:1e2328afe387 35 }
bouaziz 1:1e2328afe387 36 addr+=2;
Mateusjesus 0:6507f9fee04d 37 }
bouaziz 1:1e2328afe387 38 printf("stop\r\n");
Mateusjesus 0:6507f9fee04d 39 }
Mateusjesus 0:6507f9fee04d 40 int main()
Mateusjesus 0:6507f9fee04d 41 {
bouaziz 1:1e2328afe387 42 Search();
bouaziz 1:1e2328afe387 43 while(1){
bouaziz 1:1e2328afe387 44 for(uint8_t i = 0; i < 2 ; i++){
bouaziz 1:1e2328afe387 45 measure[i]=v1_sensors[i].getRangeMillimeters();
bouaziz 1:1e2328afe387 46 wait(0.001);
bouaziz 1:1e2328afe387 47 printf("mesure[%u]= %u ",i&0xFF,measure[i]);
bouaziz 1:1e2328afe387 48 }
bouaziz 1:1e2328afe387 49 printf("\r\n");
bouaziz 1:1e2328afe387 50 wait(0.25);
bouaziz 1:1e2328afe387 51 // bt.printf("%i \n\r",total);
Mateusjesus 0:6507f9fee04d 52 }
Mateusjesus 0:6507f9fee04d 53 }