fdfdf
Dependencies: Motordriver mbed
Video of everything working: https://drive.google.com/a/usna.edu/file/d/0B6gx9qlkekGOSXVlQkN1RWpVcDg/view?usp=sharing
Updated Schematic
Diff: main.cpp
- Revision:
- 0:e3a927f789f0
- Child:
- 1:f102ace95c79
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Feb 03 03:23:51 2015 +0000 @@ -0,0 +1,59 @@ +// Jared Wilkins, Katie MacVarish, Grant LaTerza // +// Capstone Project Code // +/////////////////////////////////////////////////// + +#include "mbed.h" +#include "motordriver.h" + +////////Initialization///////////////////// +Motor drive(p26, p25, p24, 1); //drive motor (PWM, fwd, rev, brake +Motor wheel(p23, p22, p21, 1); //flywheel (PWM, fwd, rev, brake) +InterruptIn forward(p15); //remote signal to drive car forward +InterruptIn reverse(p16); //signal to drive car in reverse + + +int fwd = 0; +int rev = 0; + +///////Interrupt Service Routines//////////// +void driveforward() +{ + fwd = 1; +} +void drivereverse() +{ + rev=1; +} +void stop() +{ + fwd = rev = 0; +} +///////////////////////////////////////////// + +int main() +{ + float PWM_drive = 0.0; + float PWM_wheel = 0.0; + + forward.rise(&driveforward); //setting up Interrupts + forward.fall(&stop); // + reverse.fall(&drivereverse); // + reverse.rise(&stop); // + + while(1) + { + PWM_drive = 0.50; //***control law here*** + PWM_wheel = 0.20; //***control law here*** + + if(fwd) //reads flags for drive/rev + drive.speed(PWM_drive); + else if(rev) + drive.speed(-PWM_drive); + else + drive.coast(); + + wheel.speed(PWM_wheel); //sets PWM for flywheel + + + } +} \ No newline at end of file