454
Dependencies: Motor QEI mbed mbedWSEsbc
Fork of ES309_NerfTurretfinal by
Diff: main.cpp
- Revision:
- 1:758c16346f28
- Parent:
- 0:e0d517c05233
- Child:
- 2:b8a033375c27
--- a/main.cpp Thu Feb 18 16:06:13 2016 +0000 +++ b/main.cpp Tue Mar 01 15:00:31 2016 +0000 @@ -1,1 +1,48 @@ -#include mbed.h +#include "mbed.h" + +DigitalOut light[]= {LED1, LED2, LED3, LED4}; +DigitalOut spinner(p20); +DigitalOut plunger(p21); + +int main() +{ + int disc=20; //number of discs in magazine + float shot_time=0.6; //time per shot. 3.51s for 5 shots + int fire=0; //number of bullets to fire (reset to zero after every round of shots) + float fwait; //fire time wait + + while(disc>0) { + light[0].write(0); + light[3].write(0); + spinner=0; + plunger=0; + printf("Ready to fire, %d discs left. Type number of shots. \n \r\r",disc); + scanf("%d",&fire); + + if (fire>0) { //fires for desired number of shots + + fwait=fire*shot_time; + printf("fire=%d \n\r",fire); + printf("fwait=%f \n\r",fwait); + + light[0].write(1); + spinner=1; //spinner turns on for 3 seconds + wait(1.5); + + light[3].write(1); + plunger=1; //plunger turns on for desired number of shots + wait(fwait); + + //calculate number of shots left + disc=disc-fire; + //reset fire sequence + fire=0; + fwait=0; + } + } + light[0].write(0); + light[3].write(0); + spinner=0; + plunger=0; + printf("You ran out of discs. Press the reset button to reload. \n\r\r"); +} \ No newline at end of file