programma commando motori
Dependencies: mbed HCSR04 mbed-rtos
Diff: main.cpp
- Revision:
- 0:637e2ec8d164
- Child:
- 1:009a67d6875f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon May 22 08:42:32 2017 +0000 @@ -0,0 +1,71 @@ +#include "mbed.h" + +#define PWMB PC_7 //D9 +#define DIRB D8 //D8 + +#define PWMA PB_4 //D5 +#define DIRA D4 //D4 + +PwmOut motorBpower(PWMB); +DigitalOut motorBdirection(DIRB); + +PwmOut motorApower(PWMA); +DigitalOut motorAdirection(DIRA); + +void avanti(); +void indietro(); +void destra(); +void sinistra(); +void fermo(); + +int main() { + + motorBpower.period_ms(10); + motorApower.period_ms(10); + + wait(2); + + avanti(); + wait(2); + fermo(); + + while(true); +} + +void avanti() +{ + motorBdirection = 1; + motorAdirection = 0; + motorBpower.pulsewidth(0.01); // 100% + motorApower.pulsewidth(0.01); // 100% +} + +void indietro() +{ + motorBdirection = 0; + motorAdirection = 1; + motorBpower.pulsewidth(0.01); // 100% + motorApower.pulsewidth(0.01); // 100% +} + +void destra() +{ + motorBdirection = 0; + motorAdirection = 0; + motorBpower.pulsewidth(0.01); // 100% + motorApower.pulsewidth(0.007); // 70% +} + +void sinistra() +{ + motorBdirection = 1; + motorAdirection = 1; + motorBpower.pulsewidth(0.007); // 100% + motorApower.pulsewidth(0.01); // 100% +} + +void fermo() +{ + motorBpower.pulsewidth(0); // fermo + motorApower.pulsewidth(0); // fermo +}