CRAC Team / Mbed 2 deprecated carte_esclave201_petit_rob

Dependencies:   mbed Herkulex_Library_2019 actions_Gr ident_crac actions_Pr

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