Test code

Dependencies:   mbed Motor Servo

Revision:
1:bd813dd636a9
Parent:
0:755c12c1a9ad
Child:
2:17956bff3ff2
diff -r 755c12c1a9ad -r bd813dd636a9 main.cpp
--- 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