test multi VL53

Dependencies:   mbed VL53L0X

Files at this revision

API Documentation at this revision

Comitter:
bouaziz
Date:
Tue Feb 15 14:52:28 2022 +0000
Parent:
0:6507f9fee04d
Commit message:
test VL53 Polytech paris Saclay;

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Thu Jul 23 22:23:41 2020 +0000
+++ b/main.cpp	Tue Feb 15 14:52:28 2022 +0000
@@ -6,39 +6,48 @@
 int total = 0;
 #define DIS_MAX 500; //Distância maxima a partir da qual o inimigo será detectado
 I2C i2c(p9, p10);
-VL53L0X v1_sensors[3] = {(&i2c),(&i2c),(&i2c)};
-BusOut v1_shutdown(p11,p12,p13);
-Serial bt(p28, p27);
+VL53L0X v1_sensors[2] = {(&i2c),(&i2c)};
+DigitalOut v1_shutdown(p8);
+//Serial bt(p28, p27);
 void Search()
 {
-    int i;
-    uint8_t expander_shutdown_mask = 1;
-    for(uint8_t i=0;i<3;i++)
-    {
-    v1_shutdown=expander_shutdown_mask;
-    expander_shutdown_mask = (expander_shutdown_mask << 1) + 1;
-    v1_sensors[i].init();
-    v1_sensors[i].setDeviceAddress(0x40 + i);
-    v1_sensors[i].setModeContinuous();
-    v1_sensors[i].startContinuous();
+    
+    v1_shutdown=0;
+    wait(0.1);
+    v1_sensors[0].init();
+    v1_sensors[0].setDeviceAddress(0x50/2);
+    v1_sensors[0].setModeContinuous();
+    v1_sensors[0].startContinuous();
+    v1_shutdown=1;
+    wait(0.1);
+     v1_sensors[1].init();
+    v1_sensors[1].setModeContinuous();
+    v1_sensors[1].startContinuous();
+    
+        short addr=0;
+    char tb[2],ack;
+     printf("START\r\n");
+   while(addr<256) {  
+        ack = i2c.write(addr,tb,1);
+        wait_us(100);
+        if(!ack) {
+                printf("xxxI2C found @ %x\r\n",addr);
+        }
+        addr+=2;
     }
-    for(uint8_t i = 0; i < 3 ; i++)
-    {
-            measure[i]=v1_sensors[i].getRangeMillimeters();
-            wait(0.001);
-    }
-    for (i=0; i<3; i++) 
-    {
-    if (measure[i] < 100) {zero_um[i] = 1;}
-    else {zero_um[i] = 0;}
-    }
-    total = zero_um[0]*100 + zero_um[1]*10 + zero_um[2];  
+    printf("stop\r\n");
 }
 int main()
 {
-    while(1)
-    {
-        Search();
-        bt.printf("%i \n\r",total);
+    Search();
+    while(1){
+        for(uint8_t i = 0; i < 2 ; i++){
+            measure[i]=v1_sensors[i].getRangeMillimeters();
+            wait(0.001);
+            printf("mesure[%u]= %u  ",i&0xFF,measure[i]);
+        }
+        printf("\r\n");
+       wait(0.25);
+       // bt.printf("%i \n\r",total);
     }
 }
\ No newline at end of file