a

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

Fork of Servo by Tk A

servo.cpp

Committer:
choutin
Date:
2016-09-09
Revision:
4:5ae6ed80dc46
Parent:
3:c112df463a8d
Child:
5:58ef29cb8785

File content as of revision 4:5ae6ed80dc46:

#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=130;

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

void close_arm(void) {
    int i,degree;

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

       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=10;

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