Test code
Dependencies: mbed Motor Servo
Diff: main.cpp
- Revision:
- 1:bd813dd636a9
- Parent:
- 0:755c12c1a9ad
- Child:
- 2:17956bff3ff2
--- a/main.cpp Tue Oct 09 14:03:02 2018 +0000 +++ b/main.cpp Tue Oct 09 15:05:03 2018 +0000 @@ -1,12 +1,68 @@ +//Maria Satre, Riki Gagnon, Theo Boskov, Janelle Stewart +//Project 2 +//Goat Launcher + +//Libraries and mechanical directives +#include "Motor.h" //must change line 31 in Motor.cpp according to Lab #include "mbed.h" +#include "Servo.h" //need Servo library -DigitalOut myled(LED1); +Motor m(p, p, p); //designates the pins used by the motor +Servo servo1(p); +Servo servo2(p); +DigitalIn sw1(p); //switches or buttons +DigitalIn bu1(p); //Army man +DigitalIn bu2(p); //Army man +DigitalIn bu3(p); //Army man +DigitalIn bu4(p); //Motor clockwise +DigitalIn bu5(p); //Motor CC +DigitalOut leds[5]={p,p,p,p,p}; +float pos = rand()/(float)RAND_MAX; //allows the servo to start at a random position +float pos2 = rand()/(float)RAND_MAX; +int sw1state, bu1state, bu2state, bu3state, bu4state, bu5state; //the state of the switch +int s=0.2; //speed of motor rotation - fairly slow so as to be exact + int main() { - while(1) { - myled = 1; - wait(0.2); - myled = 0; - wait(0.2); - } -} + servo1.calibrate(0.0009, 90.0); //need to calibrate the servos so they don't freak out + servo2.calibrate(0.0009, 90.0); + servo1=pos; //used to help calibrate + servo2=pos2; + + while(1) { //do we need while? + sw1state=sw1.read(); //read in switch state + bu1state=bu1.read(); + bu2state=bu2.read(); + bu3state=bu3.read(); + bu4state=bu4.read(); + bu5state=bu5.read(); + pos=0 + pos2=0 + + if((sw1state) == 1) { //if switch is on move servos quickly to other angle + (pos && pos2) = 1;} + if((sw1state) == 1) { //if switch is off move back + (pos && pos2) = 0;} + + + if (bu1state == 0) { //if ARMY button is off light up LEDS + leds[0]=1;} + if (bu2state == 0) { + leds[1]=1;} + if (bu3state == 0) { + leds[2]=1;} + if (bu1state == 1) { //if ARMY button is on nothing happens - ARMY guys with weight on LEDS + leds[0]=0;} + if (bu2state == 1) { + leds[1]=0;} + if (bu3state == 1) { + leds[2]=0;} + + + if (bu4state == 1) { //if bu4 is on rotate motor fwd + m.speed(s);} + if (bu5state == 1) { //if bu5 is on rotate motor rev + m.speed(-s);} + + } //end while +} //end main