test multi VL53
main.cpp@1:1e2328afe387, 2022-02-15 (annotated)
- 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?
| User | Revision | Line number | New 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 | } |