Dependencies:   mbed Servo

Fork of multiServoBat by Angeline Luther

main.cpp

Committer:
aluthe3099
Date:
2019-07-31
Revision:
0:afc37ce56e1f
Child:
1:829cbbaeaf32

File content as of revision 0:afc37ce56e1f:

#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);
    }
    
}