a

Dependents:   3servotest 1stcomp 3rdcompfixstart 2ndcomp ... more

Fork of Servo by Tk A

servo.cpp

Committer:
choutin
Date:
2016-09-11
Revision:
6:b0d581acc298
Parent:
5:58ef29cb8785
Child:
7:919db47443f4

File content as of revision 6:b0d581acc298:

#include "mbed.h"

PwmOut pwmarm(PC_6);
PwmOut pwmhand(PC_8);
PwmOut pwmbelt(PC_9);
float PERIOD=20000;

void armdegree(int degree) {
    int i;

   pwmarm.period_ms(20);        //20ms
   
       degree=10;

       i=500+degree*1900/180;
       pwmarm.write(i/PERIOD); 
}

void handdegree(int degree) {
    int i;

   pwmarm.period_ms(20);        //20ms
   
       degree=10;

       i=500+degree*1900/180;
       pwmhand.write(i/PERIOD); 
       
}

void beltup(void){

   pwmarm.period_ms(20);        //20ms
       pwmbelt.write(0.05); 
       
}

void beltdown(void){

   pwmarm.period_ms(20);        //20ms
       pwmbelt.write(0.1); 
       
}


void beltstop(void){

   pwmarm.period_ms(20);        //20ms
    pwmbelt.write(0.075); 
       
}

void close_hand(void) {
     int i,degree;

    pwmhand.period_ms(20);        //20ms
    
        degree=137;

        i=500+degree*1900/180;
        pwmhand.write(i/PERIOD); 
        
        
}

void close_arm(void) {
    int i,degree;

   pwmarm.period_ms(20);        //20ms
   
       degree=170;

       i=500+degree*1900/180;
       pwmarm.write(i/PERIOD); 
       
       
}


void open_hand(void) {
    int i,degree;

   pwmhand.period_ms(20);        //20ms
   
       degree=90;

       i=500+degree*1900/180;
       pwmhand.write(i/PERIOD); 
       
       
}



void open_arm(void) {
    int i,degree;

   pwmarm.period_ms(20);        //20ms
   
       degree=50;

       i=500+degree*1900/180;
       pwmarm.write(i/PERIOD); 
       
       
}