Includes both the servo and Dc motor. Needs more comments on the servo side.

Dependencies:   Motor Servo mbed

Fork of lab3integrated by Actuator Control Lab

Revision:
1:efdd0b0bbdbc
Parent:
0:f5f82650e679
Child:
2:df17a1850217
--- a/lab3integrated.cpp	Thu Sep 27 19:01:43 2018 +0000
+++ b/lab3integrated.cpp	Wed Oct 03 00:57:21 2018 +0000
@@ -1,8 +1,14 @@
+//Integrated Servo and Motor
+// MIDN 3/C Stites and Maly 
+// Modified 10/2/18
+
 #include "mbed.h"
 #include "Servo.h"
+#include "Motor.h" //preprocessors to include Servo and Motor
 
-Servo kenny(p21);
+Servo kenny(p21); 
 Servo barb(p22);
+Motor m(p26, p29, p30); // Assigns the PwmOut (pwm) pin, DigitalOut (fwd) pin, and Digital Out (rev) pin
 
 int main() 
 {
@@ -10,21 +16,45 @@
     kenny.calibrate(0.0009,90);
     kenny = 0;
     barb = 1;
+    
+    float k = 0.2; // value of initial speed & variable to define speed 
+    float i, j; // used in 'for' loops
+    
     while(1)
     {
-        float i;
-        for (i=0; i<90; i++)
-        {
-            barb = 1 - i*0.0111;
-            kenny = i*0.0111;
-            wait(.0555);
-        }
-        float j;
-        for (j=0; j<90; j++)
-        {
-            kenny = 1 - j*0.0111;
-            barb = j*0.0111;
-            wait(.0555);
-        }
-    }            
+        for(k=0.2; k<1.0; k += 0.1) //Increases the value of k from 0.2 to 0.99. k is the speed of DC Motor
+            {
+            m.speed(k); // Sets the speed of the DC Motor to whatever value k is as it increases 
+            for (i=0; i<90; i++) // This 'for' loop turns the two Servos in opposite directions. 
+                { // It is set after the speed of the Motor is set so they move along with the DC Motor 
+                 barb = 1 - i*0.0111;
+                 kenny = i*0.0111;
+                  wait(.0555);
+                }
+            m.speed(-k); //Sets the speed of the DC motor in the opposite direction at k speed. 
+            for (j=0; j<90; j++)// This 'for' loop turns the two Servos in opposite directions from each other and from the step before. 
+                 {// It is set after the speed/direction change of the DC Motor so the Servos change direction the same time the DC motors do. 
+                 kenny = 1 - j*0.0111;
+                 barb = j*0.0111;
+                 wait(.0555);
+                 }
+            }
+        
+        m.speed(1); // This is for when the DC motor reaches full speed, which is 1. This will start at the end of the 'for' loop of the DC motor speed (k).  
+         for (i=0; i<90; i++)// Again, a 'for' loop to turn the two Servo motors in opposite directions while the DC motor turns. 
+                {
+                 barb = 1 - i*0.0111;
+                 kenny = i*0.0111;
+                  wait(.0555);
+                }
+        m.speed(-1); // Turns the DC motor at full speed in the opposite direction.
+        for (j=0; j<90; j++)// Again, a 'for' loop to turn the two Servo motors in opposite directions while the DC motor turns. 
+                 {
+                 kenny = 1 - j*0.0111;
+                 barb = j*0.0111;
+                 wait(.0555);
+                 }
+        
+        
+        }            
 }