S2Project final failed code
Dependencies: QEI TB6612 VL53L0X
main.cpp@0:bcce413163a4, 2022-01-27 (annotated)
- Committer:
- sas638
- Date:
- Thu Jan 27 22:46:00 2022 +0000
- Revision:
- 0:bcce413163a4
- Child:
- 1:2173f1dbfe1c
used multi sensor
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sas638 | 0:bcce413163a4 | 1 | /* mbed Microcontroller Library |
sas638 | 0:bcce413163a4 | 2 | * Copyright (c) 2019 ARM Limited |
sas638 | 0:bcce413163a4 | 3 | * SPDX-License-Identifier: Apache-2.0 |
sas638 | 0:bcce413163a4 | 4 | */ |
sas638 | 0:bcce413163a4 | 5 | #include "mbed.h" |
sas638 | 0:bcce413163a4 | 6 | #include "VL53L0X.h" |
sas638 | 0:bcce413163a4 | 7 | #include "tb6612.h" |
sas638 | 0:bcce413163a4 | 8 | |
sas638 | 0:bcce413163a4 | 9 | I2C i2c(D14, D15); |
sas638 | 0:bcce413163a4 | 10 | VL53L0X vl_sensors[2] = {(&i2c),(&i2c)}; |
sas638 | 0:bcce413163a4 | 11 | BusOut vl_shutdown(D11,D12); |
sas638 | 0:bcce413163a4 | 12 | Serial usb(USBTX, USBRX, 115200); |
sas638 | 0:bcce413163a4 | 13 | TB6612 motorL(D8,D9,D10); |
sas638 | 0:bcce413163a4 | 14 | TB6612 motorR(D3,D4,D5); |
sas638 | 0:bcce413163a4 | 15 | |
sas638 | 0:bcce413163a4 | 16 | int main() |
sas638 | 0:bcce413163a4 | 17 | { |
sas638 | 0:bcce413163a4 | 18 | motorL.setSpeed(1.00); |
sas638 | 0:bcce413163a4 | 19 | motorR.setSpeed(1.00); |
sas638 | 0:bcce413163a4 | 20 | |
sas638 | 0:bcce413163a4 | 21 | usb.printf("Multiple VL53L0X\n\n\r"); |
sas638 | 0:bcce413163a4 | 22 | |
sas638 | 0:bcce413163a4 | 23 | uint8_t expander_shutdown_mask = 1; |
sas638 | 0:bcce413163a4 | 24 | for(uint8_t i = 0; i < 2 ; i++) { |
sas638 | 0:bcce413163a4 | 25 | vl_shutdown = expander_shutdown_mask; |
sas638 | 0:bcce413163a4 | 26 | expander_shutdown_mask = (expander_shutdown_mask << 1) + 1; |
sas638 | 0:bcce413163a4 | 27 | vl_sensors[i].init(); |
sas638 | 0:bcce413163a4 | 28 | vl_sensors[i].setDeviceAddress(0x40 + i); |
sas638 | 0:bcce413163a4 | 29 | vl_sensors[i].setModeContinuous(); |
sas638 | 0:bcce413163a4 | 30 | vl_sensors[i].startContinuous(); |
sas638 | 0:bcce413163a4 | 31 | } |
sas638 | 0:bcce413163a4 | 32 | uint16_t results[2]; |
sas638 | 0:bcce413163a4 | 33 | while(1) { |
sas638 | 0:bcce413163a4 | 34 | for(uint8_t i = 0; i < 2 ; i++) { |
sas638 | 0:bcce413163a4 | 35 | results[i] = vl_sensors[i].getRangeMillimeters(); |
sas638 | 0:bcce413163a4 | 36 | } |
sas638 | 0:bcce413163a4 | 37 | usb.printf("1: %4imm 2: %4imm\n\r", results[0], results[1]); |
sas638 | 0:bcce413163a4 | 38 | } |
sas638 | 0:bcce413163a4 | 39 | } |