![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Lidar Ares
Dependencies: mbed AX12 VL53L0X
main.cpp
00001 #include "main.h" 00002 00003 /* VL53L0X */ 00004 I2C i2c(D4, D5); 00005 VL53L0X vl_sensors[2] = {(&i2c),(&i2c)}; 00006 BusOut vl_shutdown(D12,D13); 00007 00008 /* PC */ 00009 Serial pc(USBTX, USBRX, 9600); 00010 Serial ihm(PA_9, PA_10, 9600); 00011 00012 int main(void) 00013 { 00014 pc.printf("23-03-21_Sensors_and_serial\n\r"); 00015 00016 /* Init VL53L0X */ 00017 uint8_t expander_shutdown_mask = 1; 00018 00019 for(uint8_t i = 0; i < 2 ; i++) { 00020 vl_shutdown = expander_shutdown_mask; 00021 expander_shutdown_mask = (expander_shutdown_mask << 1) + 1; 00022 vl_sensors[i].init(); 00023 vl_sensors[i].setDeviceAddress(0x40 + i); 00024 vl_sensors[i].setModeContinuous(); 00025 vl_sensors[i].startContinuous(); 00026 } 00027 00028 //uint16_t results[2]; 00029 float results[2] = {0}; 00030 00031 /* Init AX-12 */ 00032 AX12 myax12(PA_2, PA_3, 2, 250000); // ID = 2 pour le prototype de Lidar 00033 00034 while(1) { 00035 for(float k = AX12_POS_MIN; k <= AX12_POS_MAX; k=k+AX12_POS_JUMP) { 00036 for(int i = 0; i < 2 ; i++) { 00037 //wait(AX12_TIME_JUMP); 00038 results[i] = (float)vl_sensors[i].getRangeMillimeters(); 00039 } 00040 00041 myax12.SetGoal(k); // go to 0 degrees 00042 //pc.printf("k: %f 1: %fmm 2: %fmm \n\r", k, results[0], results[1]); 00043 ihm.printf("%f %f %f\n",k,results[0],results[1]); 00044 wait(AX12_TIME_JUMP); 00045 } 00046 00047 for(float k = AX12_POS_MAX; k >= AX12_POS_MIN; k=k-AX12_POS_JUMP) { 00048 for(int i = 0; i < 2 ; i++) { 00049 //wait(AX12_TIME_JUMP); 00050 results[i] = (float)vl_sensors[i].getRangeMillimeters(); 00051 } 00052 00053 myax12.SetGoal(k); // go to 0 degrees 00054 //pc.printf("k: %f 1: %fmm 2: %fmm \n\r", k, results[0], results[1]); 00055 ihm.printf("%f %f %f\n",k,results[0],results[1]); 00056 wait(AX12_TIME_JUMP); 00057 } 00058 } 00059 } 00060 00061
Generated on Thu Jul 28 2022 06:36:51 by
![doxygen](doxygen.png)