kazushiro tanimoto
/
VL53L0A1-test
test
Fork of test by
Diff: main.cpp
- Revision:
- 9:fd46a7024326
- Parent:
- 8:5f1b4151c9e4
diff -r 5f1b4151c9e4 -r fd46a7024326 main.cpp --- a/main.cpp Wed Feb 01 09:30:48 2017 +0000 +++ b/main.cpp Wed Feb 01 16:39:04 2017 +0000 @@ -7,6 +7,10 @@ static X_NUCLEO_53L0A1 *board=NULL; Serial pc(USBTX, USBRX); +Serial pc2(D1,D0); + + +DigitalOut myled(LED1); int main() @@ -14,33 +18,45 @@ int status,i,add,ds[12]; uint32_t distance; pc.baud(115200); + pc2.baud(115200); DevI2C *device_i2c =new DevI2C(VL53L0_I2C_SDA, VL53L0_I2C_SCL); board=X_NUCLEO_53L0A1::Instance(device_i2c, A2, D8, D2); status=board->InitBoard(); - if(status) { printf("Failed to init board!\n\r"); return 0; } for(i = 0; i <= 10; i++) { ds[i] = 0; } - + myled = 1; while(1) { - for(i = 0; i <= 9; i++) { + for(i = 0; i <= 2; i++) { ds[i] = ds [i+1]; } status = board->sensor_centre->GetDistance(&distance); - ds[9] = distance; - if(ds[9] == 0){ - ds[9] = ds[8]; + ds[2] = distance; + if(ds[2] == 0){ + ds[2] = ds[1]; } - for(i = 0; i <= 9; i++) { + for(i = 0; i <= 2; i++) { add = ds[i] + add; } - add = add/10; - printf("%d\n\r", add); + add = add/30; + + pc.printf("pc%03d\r\n", add); + pc2.printf("a%03d", add); + + + if(add > 4) + { + myled = 1; + } + else + { + myled = 0; + } } }