a program

Dependencies:   mbed Servo

Fork of multiServoBat by Angeline Luther

Revision:
0:afc37ce56e1f
Child:
1:829cbbaeaf32
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Jul 31 19:13:17 2019 +0000
@@ -0,0 +1,135 @@
+#include "mbed.h"
+#include "Servo.h"
+DigitalOut myled(LED2), myled2(LED1), led3(LED3);
+Servo servo1(p24), servo2(p23), servo3(p22), servo4(p21);
+int numServos = 4;
+float range = 0.0005;
+float degrees = 45.0;
+
+void together(Servo * servoPtr)
+{
+    int i,j;
+    for(i = 0.0; i<1.00; i+=0.01)
+    {
+        for(j = 0; j<numServos; j++)
+        {
+            servoPtr[j] = i;
+        }
+        wait(0.01);
+    }
+    wait(5);
+    for(i = 1.0; i>0.00; i-=0.01)
+    {
+        for(j = 0; j<numServos; j++)
+        {
+            servoPtr[j] = i;
+        }
+        wait(0.01);
+    }
+    printf("finished one of together\n");
+}
+    
+void apart1 (Servo * servoPtr)
+{
+    int i,j;
+    for(i = 0.0; i<1.00; i+=0.01)
+    {
+        for(j = 0; j<numServos; j++)
+        {
+            if(j%1 == 0)
+            {
+                servoPtr[j] = i;
+            }
+          
+                
+        }
+        wait(0.01);
+    }
+    wait(5);
+    for(i = 1.0; i>0.00; i-=0.01)
+    {
+        if(j%1 == 0)
+        {
+            servoPtr[j] = i;
+        }
+     
+        wait(0.01);
+    }
+    printf("finished one of together\n");
+}
+
+int main() {
+    myled = 1;
+    wait(2);
+    myled = 0;
+    myled2 = 1;
+    wait(2);
+    myled2 = 0;
+    led3 = 1;
+    wait(2);
+    led3 = 0;
+    
+    Servo servoArr [] = {servo1, servo2, servo3, servo4};
+    Servo *servoPtr;
+    int x;
+    //for(x = 0; x<numServos; x++)
+//    {
+//        myled = 1;
+//        servoArr[x].calibrate(range, degrees);
+//    }
+    myled = 0;
+    myled2 = 0;
+    servoPtr = servoArr;
+    //while(1) {
+    for(x = 0; x<10; x++){
+        myled = 0;
+        myled2 = 1;
+        wait(2);
+        
+        int i,j;
+        for(i = 0.0; i<1.00; i+=0.01)
+        {
+            for(j = 0; j<numServos; j++)
+            {
+                servoPtr[j] = i;
+            }
+            wait(0.01);
+        }
+        myled = 1;
+        myled2 = 0;
+        wait(5);
+        for(i = 1.0; i>0.00; i-=0.01)
+        {
+            for(j = 0; j<numServos; j++)
+            {
+                servoPtr[j] = i;
+            }
+            wait(0.01);
+        }   
+        wait(5);
+        
+        
+        
+        myled = 0;
+        myled2 = 1;
+        
+        wait(2);
+        for(i = 0.0; i<1.0; i+=0.01)
+        {
+            servoPtr[1] = i;
+            wait(0.01);
+        } 
+        wait(2);
+        for(i = 1.0; i>0.0; i-=0.01)
+        {
+            servoPtr[1] = i;
+            wait(0.01);
+        }
+        wait(4);
+        
+        //together(servoPtr);
+        //wait(10);
+        //apart1(servoPtr);
+    }
+    
+}