ServoProg

Dependencies:   mbed

main.cpp

Committer:
Mahran
Date:
2016-02-10
Revision:
1:c56c4fb5cb59
Parent:
0:bb0da30d43f4
Child:
2:05faa0892bec

File content as of revision 1:c56c4fb5cb59:

#include "mbed.h"
//TIM1_CH1  //Pince Bas gauche
PwmOut PWM1(PA_8);
//TIM1_CH4  //Pince bas droite
PwmOut PWM2(PA_11);
//TIM16_CH1
PwmOut PWM3(PA_12);
//TIM3_CH1
PwmOut PWM4(PB_0);
//TIM3_CH4
PwmOut PWM5(PB_7);
//TIM17_CH1N
PwmOut PWM6(PB_6);
//TIM3_CH4,
PwmOut PWM7(PB_1);
//TIM3_CH3
PwmOut PWM8(PB_0);
 
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_Droite(0);
    Pince_Bas_Gauche(40);
    }
void fermeture()
{
    Pince_Bas_Droite(35);
    Pince_Bas_Gauche(5);
    }
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)
{//0 avant 50 arriere
PWM4.period_ms(20); 
PWM4.write(map (a,0,180,0.028f,0.12f));   
}
void Pince_avant()
{
Pince_Glissement_Droit(0);
Pince_Glissement_Gauche(50);
}
void Pince_arriere()
{
Pince_Glissement_Droit(50);
Pince_Glissement_Gauche(0);
}
int main() 
{
 
 
    while(1) {
Pince_arriere();
wait(1);
ouverture();
wait(2);
fermeture();
wait(2);
Pince_avant();
wait(3);   }
}