Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed Herkulex_Library_2019 actions_Gr ident_crac actions_Pr
Diff: Actionneurs/Actionneurs.cpp
- Revision:
- 1:568955af8c2b
- Parent:
- 0:bc74da1c502f
- Child:
- 2:9e63099cca99
diff -r bc74da1c502f -r 568955af8c2b Actionneurs/Actionneurs.cpp --- a/Actionneurs/Actionneurs.cpp Mon May 06 11:18:47 2019 +0000 +++ b/Actionneurs/Actionneurs.cpp Tue May 07 17:27:38 2019 +0000 @@ -2,7 +2,7 @@ #include "ident_crac.h" #include "mbed.h" #include "fonctions_herkulex.h" - +#include "main.h" #ifdef ROBOT_SMALL void init_petit_robot(void) @@ -24,8 +24,12 @@ uint16_t pos_ar_centre[2] = {500,250}; uint16_t pos_ar_droite[2] = {430,200}; + + uint8_t servos_sol[4] = {GLED_ON, AR_sol, GLED_ON, AV_sol}; + uint16_t pos_sol[2] = {200,800}; //90° + int speed=100; - + deverouillage_torque(); positionControl_Mul_ensemble_complex(2,speed,servos_av_gauche, pos_av_gauche,3); positionControl_Mul_ensemble_complex(2,speed,servos_av_centre, pos_av_centre,2); @@ -34,7 +38,10 @@ positionControl_Mul_ensemble_complex(2,speed,servos_ar_gauche, pos_ar_gauche,1); positionControl_Mul_ensemble_complex(2,speed,servos_ar_centre, pos_ar_centre,2); positionControl_Mul_ensemble_complex(2,speed,servos_ar_droite, pos_ar_droite,3); + + positionControl_Mul_ensemble_complex(2,speed,servos_sol, pos_sol,4); } + void presentoir_avant(void) { uint8_t servos_av_gauche[4] = {RLED_ON, AV_EP_G, RLED_ON, AV_poigne_G}; @@ -45,14 +52,20 @@ uint16_t pos_av_centre[2] = {470,512}; uint16_t pos_av_droite[2] = {550,540}; - int speed=50; + int speed=25; deverouillage_torque(); positionControl_Mul_ensemble_complex(2,speed,servos_av_gauche, pos_av_gauche,3); positionControl_Mul_ensemble_complex(2,speed,servos_av_centre, pos_av_centre,2); positionControl_Mul_ensemble_complex(2,speed,servos_av_droite, pos_av_droite,1); + /* + for(char pompe=0;pompe<8;pompe++){ + can.write(CANMessage(HACHEUR_GET_ATOM, &pompe,1)); + wait(1); + }*/ + can.write(CANMessage(HACHEUR_GET_PRESENTOIR_AV)); +} -} void presentoir_arriere(void) { uint8_t servos_ar_gauche[4] = {RLED_ON, AR_EP_G, RLED_ON, AR_poigne_G}; @@ -63,14 +76,17 @@ uint16_t pos_ar_centre[2] = {500,430}; uint16_t pos_ar_droite[2] = {430,470}; - int speed=50; + int speed=25; deverouillage_torque(); positionControl_Mul_ensemble_complex(2,speed,servos_ar_gauche, pos_ar_gauche,1); positionControl_Mul_ensemble_complex(2,speed,servos_ar_centre, pos_ar_centre,2); positionControl_Mul_ensemble_complex(2,speed,servos_ar_droite, pos_ar_droite,3); + can.write(CANMessage(HACHEUR_GET_PRESENTOIR_AR)); + } + void balance_avant(void) { uint8_t servos_av_gauche[4] = {RLED_ON, AV_EP_G, RLED_ON, AV_poigne_G}; @@ -81,7 +97,7 @@ uint16_t pos_av_centre[2] = {200,220}; uint16_t pos_av_droite[2] = {250,270}; - int speed=50; + int speed=25; deverouillage_torque(); positionControl_Mul_ensemble_complex(2,speed,servos_av_gauche, pos_av_gauche,3); @@ -99,7 +115,7 @@ uint16_t pos_ar_centre[2] = {230,150}; uint16_t pos_ar_droite[2] = {150,200}; - int speed=50; + int speed=25; deverouillage_torque(); positionControl_Mul_ensemble_complex(2,speed,servos_ar_gauche, pos_ar_gauche,1); @@ -108,5 +124,106 @@ } +void goldenium_avant(void) +{ + uint8_t servos_av_centre[4] = {GLED_ON, AV_EP_C, GLED_ON, AV_poigne_C}; + uint16_t pos_av_centre[2] = {200,220}; + int speed=25; + + deverouillage_torque(); + positionControl_Mul_ensemble_complex(2,speed,servos_av_centre, pos_av_centre,2); + + char pompe=AV_CENTRE; + can.write(CANMessage(HACHEUR_GET_ATOM, &pompe,1)); + wait(1); + can.write(CANMessage(HACHEUR_RELEASE_ATOM, &pompe,1)); + wait(3); +} + +void goldenium_arriere(void) +{ + uint8_t servos_ar_centre[4] = {GLED_ON, AR_EP_C, GLED_ON, AR_poigne_C}; + uint16_t pos_ar_centre[2] = {230,150}; + int speed=25; + deverouillage_torque(); + positionControl_Mul_ensemble_complex(2,speed,servos_ar_centre, pos_ar_centre,2); + + char pompe=AR_CENTRE; + can.write(CANMessage(HACHEUR_GET_ATOM, &pompe,1)); + wait(1); + can.write(CANMessage(HACHEUR_RELEASE_ATOM, &pompe,1)); + wait(3); +} + +void accelerateur_avant(void) +{ + uint8_t servos_av_gauche[4] = {RLED_ON, AV_EP_G, RLED_ON, AV_poigne_G}; + uint8_t servos_av_centre[4] = {GLED_ON, AV_EP_C, GLED_ON, AV_poigne_C}; + uint8_t servos_av_droite[4] = {BLED_ON, AV_EP_D, BLED_ON, AV_poigne_D}; + + uint16_t pos_av_gauche[2] = {800,490}; + uint16_t pos_av_centre[2] = {200,220}; + uint16_t pos_av_droite[2] = {250,540}; + + int speed=25; + + deverouillage_torque(); + positionControl_Mul_ensemble_complex(2,speed,servos_av_gauche, pos_av_gauche,3); + positionControl_Mul_ensemble_complex(2,speed,servos_av_centre, pos_av_centre,2); + positionControl_Mul_ensemble_complex(2,speed,servos_av_droite, pos_av_droite,1); +} +void accelerateur_arriere(void) +{ + uint8_t servos_ar_gauche[4] = {RLED_ON, AR_EP_G, RLED_ON, AR_poigne_G}; + uint8_t servos_ar_centre[4] = {GLED_ON, AR_EP_C, GLED_ON, AR_poigne_C}; + uint8_t servos_ar_droite[4] = {BLED_ON, AR_EP_D, BLED_ON, AR_poigne_D}; + + uint16_t pos_ar_gauche[2] = {820,512}; + uint16_t pos_ar_centre[2] = {230,150}; + uint16_t pos_ar_droite[2] = {150,470}; + + int speed=25; + + deverouillage_torque(); + positionControl_Mul_ensemble_complex(2,speed,servos_ar_gauche, pos_ar_gauche,1); + positionControl_Mul_ensemble_complex(2,speed,servos_ar_centre, pos_ar_centre,2); + positionControl_Mul_ensemble_complex(2,speed,servos_ar_droite, pos_ar_droite,3); +} + + + +void sol_avant(void) +{ + int speed=1; + char pompe=AV_BAS; + + can.write(CANMessage(HACHEUR_GET_ATOM, &pompe,1)); + positionControl(AV_sol,512,speed,BLED_ON,4);//descend + + wait(0.5); + + positionControl(AV_sol,800,speed,BLED_ON,4);//remonte + can.write(CANMessage(HACHEUR_RELEASE_ATOM, &pompe,1)); + wait(3); +} + +void sol_arriere(void) +{ + int speed=1; + char pompe=AR_BAS; + + can.write(CANMessage(HACHEUR_GET_ATOM, &pompe,1)); + positionControl(AR_sol,512,speed,BLED_ON,4);//descend + + wait(0.5); + + positionControl(AR_sol,200,speed,BLED_ON,4);//remonte + can.write(CANMessage(HACHEUR_RELEASE_ATOM, &pompe,1)); + wait(3); +} + + + + #endif \ No newline at end of file