distance sensor
This commit is contained in:
parent
c39fd0727c
commit
c21b033c48
3 changed files with 31 additions and 6 deletions
11
controller/Cargo.lock
generated
11
controller/Cargo.lock
generated
|
@ -318,6 +318,7 @@ dependencies = [
|
|||
"st7789",
|
||||
"static_cell",
|
||||
"usbd-hid",
|
||||
"vl53l0x",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -2397,6 +2398,16 @@ version = "0.9.5"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
|
||||
|
||||
[[package]]
|
||||
name = "vl53l0x"
|
||||
version = "1.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e943add0e260b9f7030223a74bf30d8bb020747a4a3472c281bab1562046f078"
|
||||
dependencies = [
|
||||
"embedded-hal 1.0.0",
|
||||
"nb 0.1.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "void"
|
||||
version = "1.0.2"
|
||||
|
|
|
@ -60,6 +60,7 @@ embedded-sdmmc = "0.7.0"
|
|||
bt-hci = { version = "0.1.0", default-features = false, features = ["defmt"] }
|
||||
hex = { version = "0.4.3", default-features=false }
|
||||
mpu6050 = { git = "https://git.ank.dev/ank/mpu6050" }
|
||||
vl53l0x = "1.0.1"
|
||||
|
||||
|
||||
[profile.release]
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
mod vl53l0;
|
||||
|
||||
use core::array;
|
||||
use core::borrow::BorrowMut;
|
||||
use core::fmt::Formatter;
|
||||
use core::panic::PanicInfo;
|
||||
use core::str::from_utf8;
|
||||
|
@ -40,6 +41,7 @@ use vl53l0::RegAddr::*;
|
|||
bind_interrupts!(struct Irqs {
|
||||
PIO0_IRQ_0 => InterruptHandler<PIO0>;
|
||||
I2C0_IRQ => embassy_rp::i2c::InterruptHandler<embassy_rp::peripherals::I2C0>;
|
||||
I2C1_IRQ => embassy_rp::i2c::InterruptHandler<embassy_rp::peripherals::I2C1>;
|
||||
USBCTRL_IRQ => embassy_rp::usb::InterruptHandler<USB>;
|
||||
});
|
||||
|
||||
|
@ -87,10 +89,18 @@ async fn main(spawner: Spawner) {
|
|||
let sda = p.PIN_20;
|
||||
let scl = p.PIN_21;
|
||||
let config = embassy_rp::i2c::Config::default();
|
||||
let mut bus = embassy_rp::i2c::I2c::new_async(p.I2C0, scl, sda, Irqs, config);
|
||||
let bus = embassy_rp::i2c::I2c::new_async(p.I2C0, scl, sda, Irqs, config);
|
||||
|
||||
let sda = p.PIN_26;
|
||||
let scl = p.PIN_27;
|
||||
let config = embassy_rp::i2c::Config::default();
|
||||
let bus1 = embassy_rp::i2c::I2c::new_async(p.I2C1, scl, sda, Irqs, config);
|
||||
|
||||
let mut tof = vl53l0x::VL53L0x::new(bus1).unwrap();
|
||||
|
||||
tof.start_continuous(0).unwrap();
|
||||
|
||||
let mut gyro = Mpu6050::new_with_addr(bus,0x68);
|
||||
let mut gyro2 = Mpu6050::new_with_addr(bus,0x69);
|
||||
|
||||
Timer::after_millis(1300).await;
|
||||
gyro.init(&mut Delay).unwrap();
|
||||
|
@ -101,10 +111,13 @@ async fn main(spawner: Spawner) {
|
|||
Timer::after_millis(1300).await;
|
||||
|
||||
loop {
|
||||
info!("pos: {}", gyro.get_gyro().unwrap().x);
|
||||
info!("jerk: {}", gyro.get_acc().unwrap().x);
|
||||
info!("temp: {}", gyro.get_temp().unwrap() * (9./5.) + 32.);
|
||||
Timer::after_millis(13).await;
|
||||
//info!("pos: {}", gyro.get_gyro().unwrap().x);
|
||||
//info!("jerk: {}", gyro.get_acc().unwrap().x);
|
||||
//info!("temp: {}", gyro.get_temp().unwrap() * (9./5.) + 32.);
|
||||
if let Ok(dist) = tof.read_range_mm() {
|
||||
info!("dist: {dist}mm");
|
||||
}
|
||||
Timer::after_millis(23).await;
|
||||
}
|
||||
|
||||
let fw = include_bytes!("../../cyw43-firmware/43439A0.bin");
|
||||
|
|
Loading…
Reference in a new issue