servo

Dependencies:   mbed

Fork of Nucleo_PWM by Khemiri Mahrane

main.cpp

Committer:
wassim94
Date:
2016-03-23
Revision:
2:197217bf7bca
Parent:
1:6c59c6871460

File content as of revision 2:197217bf7bca:

#include "mbed.h"
//TIM1_CH1  //Pince Bas gauche
PwmOut PWM1(PA_8);
//TIM1_CH4  //Pince bas droite
PwmOut PWM2(PA_9);
//TIM16_CH1
PwmOut PWM3(PB_4);// Pince Glissement Gauche
//TIM3_CH1
PwmOut PWM4(PB_10);//Pince Glissement droite
//TIM3_CH4


float map (int x, int in_min,int  in_max, float out_min, float out_max)
{
  return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}

void Pince_Bas_Gauche(int a)
{// 40 ouverture 0 fermeture
PWM1.period_ms(20); 
PWM1.write(map (a,0,180,0.028f,0.12f));   
}

void Pince_Bas_Droite(int a)
{// 0 ouverture 40 fermeture
PWM2.period_ms(20); 
PWM2.write(map (a,0,180,0.028f,0.12f));   
}
void ouverture()
{
Pince_Bas_Gauche(80);
Pince_Bas_Droite(10);
    }
void fermeture()
{
    Pince_Bas_Gauche(30);
    Pince_Bas_Droite(60);
}
void Pince_Glissement_Gauche(int a)
{//50avant 0 arriere
PWM3.period_ms(20); 
PWM3.write(map (a,0,180,0.028f,0.12f));   
}

void Pince_Glissement_Droit(int a)
{//0avant 50 arriere
PWM4.period_ms(20); 
PWM4.write(map (a,0,180,0.028f,0.12f));   
}
void Pince_arriere()
{
Pince_Glissement_Droit(0);
Pince_Glissement_Gauche(50);
}
void Pince_avant()
{
Pince_Glissement_Droit(50);
Pince_Glissement_Gauche(0);
}
int main() 
{



while(1){
    Pince_Glissement_Gauche(90);
Pince_Glissement_Droit(90);

    wait(1);
Pince_Glissement_Gauche(0);
Pince_Glissement_Droit(0);
    wait(1);
    }
}