diff options
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/rp23/src/bin/pwm_tb6612fng_motor_driver.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/examples/rp23/src/bin/pwm_tb6612fng_motor_driver.rs b/examples/rp23/src/bin/pwm_tb6612fng_motor_driver.rs index 263b551de..3fad2928c 100644 --- a/examples/rp23/src/bin/pwm_tb6612fng_motor_driver.rs +++ b/examples/rp23/src/bin/pwm_tb6612fng_motor_driver.rs | |||
| @@ -40,8 +40,8 @@ async fn main(_spawner: Spawner) { | |||
| 40 | let s = split_resources!(p); | 40 | let s = split_resources!(p); |
| 41 | let r = s.motor; | 41 | let r = s.motor; |
| 42 | 42 | ||
| 43 | // we want a PWM frequency of 25KHz | 43 | // we want a PWM frequency of 1KHz, especially cheaper motors do not respond well to higher frequencies |
| 44 | let pwm_freq = 25_000; // Hz, our desired frequency | 44 | let pwm_freq = 1_000; // Hz, our desired frequency |
| 45 | let clock_freq = embassy_rp::clocks::clk_sys_freq(); | 45 | let clock_freq = embassy_rp::clocks::clk_sys_freq(); |
| 46 | let period = (clock_freq / pwm_freq) as u16 - 1; | 46 | let period = (clock_freq / pwm_freq) as u16 - 1; |
| 47 | 47 | ||
| @@ -77,8 +77,8 @@ async fn main(_spawner: Spawner) { | |||
| 77 | 77 | ||
| 78 | // drive a straight line forward at 20% speed for 5s | 78 | // drive a straight line forward at 20% speed for 5s |
| 79 | info!("drive straight"); | 79 | info!("drive straight"); |
| 80 | control.motor_a.drive(DriveCommand::Forward(20)).unwrap(); | 80 | control.motor_a.drive(DriveCommand::Forward(80)).unwrap(); |
| 81 | control.motor_b.drive(DriveCommand::Forward(20)).unwrap(); | 81 | control.motor_b.drive(DriveCommand::Forward(80)).unwrap(); |
| 82 | Timer::after(Duration::from_secs(5)).await; | 82 | Timer::after(Duration::from_secs(5)).await; |
| 83 | 83 | ||
| 84 | // coast for 2s | 84 | // coast for 2s |
| @@ -95,8 +95,8 @@ async fn main(_spawner: Spawner) { | |||
| 95 | 95 | ||
| 96 | // slowly turn for 3s | 96 | // slowly turn for 3s |
| 97 | info!("turn"); | 97 | info!("turn"); |
| 98 | control.motor_a.drive(DriveCommand::Backward(10)).unwrap(); | 98 | control.motor_a.drive(DriveCommand::Backward(50)).unwrap(); |
| 99 | control.motor_b.drive(DriveCommand::Forward(10)).unwrap(); | 99 | control.motor_b.drive(DriveCommand::Forward(50)).unwrap(); |
| 100 | Timer::after(Duration::from_secs(3)).await; | 100 | Timer::after(Duration::from_secs(3)).await; |
| 101 | 101 | ||
| 102 | // and put the driver in standby mode and wait for 5s | 102 | // and put the driver in standby mode and wait for 5s |
