Khemiri Mahrane
/
Nucleo_PWM
ServoProg
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); } }