Calculo para utilizar o VL53L0X

Dependencies:   mbed VL53L0X

Committer:
Mateusjesus
Date:
Thu Jul 23 22:23:41 2020 +0000
Revision:
0:6507f9fee04d
VL530X

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);
Mateusjesus 0:6507f9fee04d 9 VL53L0X v1_sensors[3] = {(&i2c),(&i2c),(&i2c)};
Mateusjesus 0:6507f9fee04d 10 BusOut v1_shutdown(p11,p12,p13);
Mateusjesus 0:6507f9fee04d 11 Serial bt(p28, p27);
Mateusjesus 0:6507f9fee04d 12 void Search()
Mateusjesus 0:6507f9fee04d 13 {
Mateusjesus 0:6507f9fee04d 14 int i;
Mateusjesus 0:6507f9fee04d 15 uint8_t expander_shutdown_mask = 1;
Mateusjesus 0:6507f9fee04d 16 for(uint8_t i=0;i<3;i++)
Mateusjesus 0:6507f9fee04d 17 {
Mateusjesus 0:6507f9fee04d 18 v1_shutdown=expander_shutdown_mask;
Mateusjesus 0:6507f9fee04d 19 expander_shutdown_mask = (expander_shutdown_mask << 1) + 1;
Mateusjesus 0:6507f9fee04d 20 v1_sensors[i].init();
Mateusjesus 0:6507f9fee04d 21 v1_sensors[i].setDeviceAddress(0x40 + i);
Mateusjesus 0:6507f9fee04d 22 v1_sensors[i].setModeContinuous();
Mateusjesus 0:6507f9fee04d 23 v1_sensors[i].startContinuous();
Mateusjesus 0:6507f9fee04d 24 }
Mateusjesus 0:6507f9fee04d 25 for(uint8_t i = 0; i < 3 ; i++)
Mateusjesus 0:6507f9fee04d 26 {
Mateusjesus 0:6507f9fee04d 27 measure[i]=v1_sensors[i].getRangeMillimeters();
Mateusjesus 0:6507f9fee04d 28 wait(0.001);
Mateusjesus 0:6507f9fee04d 29 }
Mateusjesus 0:6507f9fee04d 30 for (i=0; i<3; i++)
Mateusjesus 0:6507f9fee04d 31 {
Mateusjesus 0:6507f9fee04d 32 if (measure[i] < 100) {zero_um[i] = 1;}
Mateusjesus 0:6507f9fee04d 33 else {zero_um[i] = 0;}
Mateusjesus 0:6507f9fee04d 34 }
Mateusjesus 0:6507f9fee04d 35 total = zero_um[0]*100 + zero_um[1]*10 + zero_um[2];
Mateusjesus 0:6507f9fee04d 36 }
Mateusjesus 0:6507f9fee04d 37 int main()
Mateusjesus 0:6507f9fee04d 38 {
Mateusjesus 0:6507f9fee04d 39 while(1)
Mateusjesus 0:6507f9fee04d 40 {
Mateusjesus 0:6507f9fee04d 41 Search();
Mateusjesus 0:6507f9fee04d 42 bt.printf("%i \n\r",total);
Mateusjesus 0:6507f9fee04d 43 }
Mateusjesus 0:6507f9fee04d 44 }