Programme d'utilisation des AX12 et de l'MX12 V3. 0C = action de l'MX12. (data0) 0 | 1 | 2 = position & sens de rotation

Dependencies:   MX12

Fork of Utilisatio_MX12_V3 by CRAC Team

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Actionneur.h Source File

Actionneur.h

00001 #include "all_includes.h"                 
00002                   
00003    
00004    
00005 #define AX12_INITIALISATION 0
00006 #define AX12_PREPARATION_PRISE 1
00007 #define AX12_STOCKAGE_HAUT 2
00008 #define AX12_STOCKAGE_BAS 3
00009 #define AX12_DEPOSER 4
00010 #define AX12_PREPARATION_DEPOT_BAS 5
00011 #define AX12_PREPARATION_DEPOT_HAUT 6
00012 #define AX12_POUSSER_MODULE 7
00013 #define AX12_VIDER_FUSEE_POMPE 8
00014 #define AX12_REMPLIR_BASE_POMPE 9
00015 #define AX12_GET_POSITION 10
00016 #define AX12_VIDER_FUSEE_POMPEBLEU 11
00017 #define BOUGER_MX12 12
00018 #define AX12_DEFAUT 20
00019 
00020 #define TOLERANCE_AX12 50
00021                
00022          /*       PROTOTYPES DE FONCTIONS ET POINTEURS       */
00023                     
00024 
00025 
00026 /****************************************************************************************/
00027 /* FUNCTION NAME: Fin_action                                                            */
00028 /* DESCRIPTION  : Fonction qui confirme la fin de mouvement des AX12                    */
00029 /****************************************************************************************/
00030 void Fin_action(void);
00031 
00032 
00033 /****************************************************************************************/
00034 /* FUNCTION NAME: Initialisation_position                                               */
00035 /* DESCRIPTION  : Fonction qui place les bras en position verticale                     */
00036 /****************************************************************************************/
00037 void Initialisation_position(unsigned char choix);
00038 
00039 /****************************************************************************************/
00040 /* FUNCTION NAME: Preparation_prise                                                     */
00041 /* DESCRIPTION  : Fonction qui prepare le robot pour prendre les modules                */
00042 /****************************************************************************************/
00043 void Preparation_prise(unsigned char choix);
00044 
00045 /****************************************************************************************/
00046 /* FUNCTION NAME: Stockage_haut                                                         */
00047 /* DESCRIPTION  : Fonction qui prend et stocke les modules dans la position haute       */
00048 /****************************************************************************************/
00049 void Stockage_haut(unsigned char choix);
00050 
00051 /****************************************************************************************/
00052 /* FUNCTION NAME: Stockage_bas                                                          */
00053 /* DESCRIPTION  : Fonction qui prend et stocke un module dans la pince                  */
00054 /****************************************************************************************/
00055 void Stockage_bas(unsigned char choix);
00056 
00057 /****************************************************************************************/
00058 /* FUNCTION NAME: Deposer                                                               */
00059 /* DESCRIPTION  : Fonction qui permet de déposer un module                              */
00060 /****************************************************************************************/
00061 void Deposer(unsigned char choix);
00062 
00063 /****************************************************************************************/
00064 /* FUNCTION NAME: Preparation_depos_bas                                                 */
00065 /* DESCRIPTION  : Fonction qui prépare le depos d'un module en bas                      */
00066 /****************************************************************************************/
00067 void Preparation_depot_bas(unsigned char choix);
00068 
00069 /****************************************************************************************/
00070 /* FUNCTION NAME: Preparation_depos_haut                                                */
00071 /* DESCRIPTION  : Fonction qui prépare le depos d'un module en haut                     */
00072 /****************************************************************************************/
00073 void Preparation_depot_haut(unsigned char choix);
00074 
00075 /****************************************************************************************/
00076 /* FUNCTION NAME: Pousser_module                                                        */
00077 /* DESCRIPTION  : Fonction qui permet pousser le module situé à l'entrée de la bas      */
00078 /****************************************************************************************/
00079 void Pousser_module(unsigned char choix);
00080 
00081 /****************************************************************************************/
00082 /* FUNCTION NAME: bouger_MX12                                                           */
00083 /* DESCRIPTION  : Fonction qui sélectionne le sens de rotation de l'MX12 et le bouge    */
00084 /****************************************************************************************/
00085 void bouger_MX12(unsigned char choix);
00086 
00087 /****************************************************************************************/
00088 /* FUNCTION NAME: Check_positionAX12                                                    */
00089 /* DESCRIPTION  : Fonction qui permet de verifier la position des AX12                  */
00090 /****************************************************************************************/
00091 void Check_positionAX12(char* TAB, unsigned char choix);
00092 
00093 
00094 ///////////TABLEAU PINCE DROITE /////////////////////////// --> choix_bras == 1
00095 static char TAB1[25]=   {0x12,0xDA, 0x00, 0xFF, 0x00,               ///Position initiale          
00096                          0x04,0xF4, 0x01, 0xFF, 0x00,
00097                          0x07,0x00, 0x01, 0xFF, 0x00,
00098                          0x0F,0x00, 0x03, 0xFF, 0x00};                              
00099 
00100 static char TAB2[25]=   {0x12,0xFF, 0x02, 0xFF, 0x03,               ///Preparation prise              
00101                          0x04,0xE9, 0x00, 0xFF, 0x03,
00102                          0x07,0xF4, 0x01, 0xFF, 0x03,
00103                          0x0F,0xF4, 0x01, 0xFF, 0x03};
00104                          
00105 static char TAB3[25]=   {0x12,0xFF, 0x02, 0xFF, 0x03,               ///Stockage haut/bas (attraper module)            
00106                          0x04,0xE9, 0x00, 0xFF, 0x03,
00107                          0x07,0xD5, 0x00, 0xFF, 0x00,
00108                          0x0F,0x4D, 0x03, 0xFF, 0x00}; 
00109 
00110 static char TAB4[25]=   {0x12,0x35, 0x01, 0xFF, 0x03,               ///Stockage haut (bras en l'air)   
00111                          0x04,0x00, 0x02, 0xFF, 0x03,
00112                          0x07,0xD5, 0x00, 0xFF, 0x00,
00113                          0x0F,0x4D, 0x03, 0xFF, 0x00}; 
00114                          
00115 static char TAB5[25]=   {0x12,0x35, 0x01, 0xFF, 0x00,               ///Stockage haut (module sur tige)              
00116                          0x04,0x60, 0x01, 0xFF, 0x00,
00117                          0x07,0xD5, 0x00, 0xFF, 0x00,
00118                          0x0F,0x4D, 0x03, 0xFF, 0x00};  
00119                          
00120 static char TAB6[25]=   {0x12,0x35, 0x01, 0xFF, 0x03,               ///Stockage haut (pince ouverte)            
00121                          0x04,0x50, 0x01, 0xFF, 0x03,
00122                          0x07,0x0A, 0x01, 0xFF, 0x03,
00123                          0x0F,0xDD, 0x02, 0xFF, 0x03}; 
00124                          
00125 static char TAB7[25]=   {0x12,0xA6, 0x00, 0xFF, 0x03,               ///Stockage bas (bras en l'air)              
00126                          0x04,0x50, 0x03, 0xFF, 0x03,
00127                          0x07,0xD5, 0x00, 0xFF, 0x03,
00128                          0x0F,0x4D, 0x03, 0xFF, 0x03};  
00129                          
00130 static char TAB8[25]=   {0x12,0xF4, 0x01, 0xFF, 0x00,               ///Deposer (descendre bras)            
00131                          0x04,0x00, 0x03, 0xFF, 0x00,
00132                          0x07,0xD5, 0x00, 0xFF, 0x00,
00133                          0x0F,0x4D, 0x03, 0xFF, 0x00}; 
00134                          
00135 static char TAB9[25]=   {0x12,0xF4, 0x01, 0xFF, 0x03,               ///Deposer (pince ouverte)            
00136                          0x04,0x00, 0x03, 0xFF, 0x03,
00137                          0x07,0x0A, 0x01, 0xFF, 0x03,
00138                          0x0F,0xDD, 0x02, 0xFF, 0x03}; 
00139                          
00140 static char TAB10[25]=   {0x12,0x35, 0x01, 0xFF, 0x00,               ///deposer (preparation module haut)              
00141                          0x04,0x00, 0x02, 0xFF, 0x00,
00142                          0x07,0xD5, 0x00, 0xFF, 0x00,
00143                          0x0F,0x4D, 0x03, 0xFF, 0x00}; 
00144                          
00145 static char TAB11[25]=   {0x12,0xB0, 0x01, 0xFF, 0x00,               ///Pousser module (bras en bas)            
00146                          0x04,0x00, 0x03, 0xFF, 0x00,
00147                          0x07,0x0A, 0x01, 0xFF, 0x03,
00148                          0x0F,0xDD, 0x02, 0xFF, 0x03};                                                                         
00149                          
00150                          
00151 //////////////////TABLEAU PINCE GAUCHE /////////////////////////////    --> choix_bras == 2
00152 static char TAB21[25]=   {0x08,0xDA, 0x00, 0xFF, 0x00,               ///Position initiale          
00153                          0x03,0xF4, 0x01, 0xFF, 0x00,
00154                          0x0D,0x00, 0x01, 0xFF, 0x00,
00155                          0x0E,0x00, 0x03, 0xFF, 0x00};                              
00156 
00157 static char TAB22[25]=   {0x08,0xFF, 0x02, 0xFF, 0x03,               ///Preparation prise              
00158                          0x03,0xE9, 0x00, 0xFF, 0x03,
00159                          0x0D,0xF4, 0x01, 0xFF, 0x03,
00160                          0x0E,0xF4, 0x01, 0xFF, 0x03};
00161                          
00162 static char TAB23[25]=   {0x08,0xFF, 0x02, 0xFF, 0x03,               ///Stockage haut/bas (attraper module)            
00163                          0x03,0xE9, 0x00, 0xFF, 0x03,
00164                          0x0D,0xD5, 0x00, 0xFF, 0x00,
00165                          0x0E,0x4D, 0x03, 0xFF, 0x00};  
00166 
00167 static char TAB24[25]=   {0x08,0x35, 0x01, 0xFF, 0x03,               ///Stockage haut (bras en l'air)   
00168                          0x03,0x00, 0x02, 0xFF, 0x03,
00169                          0x0D,0xD5, 0x00, 0xFF, 0x00,
00170                          0x0E,0x4D, 0x03, 0xFF, 0x00};  
00171                          
00172 static char TAB25[25]=   {0x08,0x35, 0x01, 0xFF, 0x00,               ///Stockage haut (module sur tige)              
00173                          0x03,0x60, 0x01, 0xFF, 0x00,
00174                          0x0D,0xD5, 0x00, 0xFF, 0x00,
00175                          0x0E,0x4D, 0x03, 0xFF, 0x00};  
00176                          
00177 static char TAB26[25]=   {0x08,0x35, 0x01, 0xFF, 0x03,               ///Stockage haut (pince ouverte)            
00178                          0x03,0x50, 0x01, 0xFF, 0x03,
00179                          0x0D,0x0A, 0x01, 0xFF, 0x03,
00180                          0x0E,0xDD, 0x02, 0xFF, 0x03}; 
00181                          
00182 static char TAB27[25]=   {0x08,0xA6, 0x00, 0xFF, 0x03,               ///Stockage bas (bras en l'air)              
00183                          0x03,0x50, 0x03, 0xFF, 0x03,
00184                          0x0D,0xD5, 0x00, 0xFF, 0x03,
00185                          0x0E,0x4D, 0x03, 0xFF, 0x03}; 
00186                          
00187 static char TAB28[25]=   {0x08,0xF4, 0x01, 0xFF, 0x00,               ///Deposer(descendre bras)            
00188                          0x03,0x00, 0x03, 0xFF, 0x00,
00189                          0x0D,0xD5, 0x00, 0xFF, 0x00,
00190                          0x0E,0x4D, 0x03, 0xFF, 0x00}; 
00191                          
00192 static char TAB29[25]=   {0x08,0xF4, 0x01, 0xFF, 0x03,               ///Deposer(pince ouverte)            
00193                          0x03,0x00, 0x03, 0xFF, 0x03,
00194                          0x0D,0xF4, 0x01, 0xFF, 0x03,
00195                          0x0E,0xF4, 0x01, 0xFF, 0x03}; 
00196                          
00197 static char TAB30[25]=   {0x08,0x35, 0x01, 0xFF, 0x00,               ///deposer(preparation module haut)              
00198                          0x03,0x00, 0x02, 0xFF, 0x00,
00199                          0x0D,0xD5, 0x00, 0xFF, 0x00,
00200                           0x0E,0x4D, 0x03, 0xFF, 0x00};    
00201                          
00202 static char TAB31[25]=   {0x08,0xB0, 0x01, 0xFF, 0x00,               ///Pousser module (bras en bas)            
00203                          0x03,0x00, 0x03, 0xFF, 0x00,
00204                          0x0D,0xD5, 0x00, 0xFF, 0x00,
00205                          0x0E,0x4D, 0x03, 0xFF, 0x00};  
00206   
00207   
00208 char TabBrasPompePosInit[15]=   {0x03,0xB0, 0x01, 0xFF, 0x00,               /// (bras en bas)            
00209                                  0x02,0x00, 0x03, 0xFF, 0x00,
00210                                  0x01,0xD5, 0x00, 0xFF, 0x00};  
00211  /*                                
00212 char TabBrasPompeViderFuseeMvt1[15]=   {0x03,0xFD, 0x01, 0xFF, 0x00,               /// (haut, milieu, bas)            
00213                                     0x02,0xF3, 0x00, 0xFF, 0x00,
00214                                     0x01,0x0B, 0x03, 0xFF, 0x00};                                 
00215                                       
00216                                  
00217                                     
00218 char TabBrasPompeViderFuseeMvt2[15]=   {0x03,0x18, 0x02, 0xFF, 0x00,               /// (haut, milieu, bas)            
00219                                     0x02,0xA9, 0x00, 0xFF, 0x00,
00220                                     0x01,0xC8, 0x01, 0xFF, 0x00};     
00221                                     
00222 char TabBrasPompeViderFuseeMvt3[15]=   {0x03,0x3D, 0x03, 0xFF, 0x00,               /// (haut, milieu, bas)            
00223                                     0x02,0x45, 0x00, 0xFF, 0x00,
00224                                     0x01,0x74, 0x01, 0xFF, 0x00};   
00225                                     
00226 char TabBrasPompeViderFuseeMvt4[15]=   {0x03,0x7C, 0x03, 0xFF, 0x00,               /// (haut, milieu, bas)            
00227                                     0x02,0x71, 0x00, 0xFF, 0x00,
00228                                     0x01,0xE5, 0x00, 0xFF, 0x00};    
00229                                     
00230 char TabBrasPompeViderFuseeMvt5[15]=   {0x03,0x7C, 0x03, 0xFF, 0x00,               /// (haut, milieu, bas)            
00231                                     0x02,0x0D, 0x01, 0xFF, 0x00,
00232                                     0x01,0x74, 0x00, 0xFF, 0x00};                                    
00233 */
00234 /*
00235 char TabBrasPompeViderFuseeMvt1[15]=   {0x03,0xCE, 0x01, 0xFF, 0x00,               /// (haut, milieu, bas)            
00236                                     0x02,0xDB, 0x00, 0xFF, 0x00,
00237                                     0x01,0x2F, 0x03, 0xFF, 0x00};                                 
00238                                       
00239                                  
00240                                     
00241 char TabBrasPompeViderFuseeMvt2[15]=   {0x03,0x4D, 0x02, 0xFF, 0x00,               /// (haut, milieu, bas)            
00242                                     0x02,0x6D, 0x00, 0xFF, 0x00,
00243                                     0x01,0x00, 0x02, 0xFF, 0x00};     
00244                                     
00245 char TabBrasPompeViderFuseeMvt3[15]=   {0x03,0x4D, 0x03, 0xFF, 0x00,               /// (haut, milieu, bas)            
00246                                     0x02,0x4F, 0x00, 0xFF, 0x00,
00247                                     0x01,0x32, 0x01, 0xFF, 0x00};   
00248                                     
00249 char TabBrasPompeViderFuseeMvt4[15]=   {0x03,0x5B, 0x03, 0xFF, 0x00,               /// (haut, milieu, bas)            
00250                                     0x02,0xF3, 0x00, 0xFF, 0x00,
00251                                     0x01,0x5D, 0x00, 0xFF, 0x00}; 
00252                                     
00253 char TabBrasPompeViderFuseeMvt5[15]=   {0x03,0x39, 0x03, 0xFF, 0x00,               /// (haut, milieu, bas)            
00254                                     0x02,0x4C, 0x00, 0xFF, 0x00,
00255                                     0x01,0x80, 0x00, 0xFF, 0x00};   
00256                                     
00257 char TabBrasPompeViderFuseeMvt6[15]=   {0x03,0xBE, 0x02, 0xFF, 0x00,               /// (haut, milieu, bas)            
00258                                     0x02,0x3F, 0x00, 0xFF, 0x00,
00259                                     0x01,0x80, 0x00, 0xFF, 0x00};
00260                                     
00261 char TabBrasPompeViderFuseeMvt7[15]=   {0x03,0x18, 0x02, 0xFF, 0x00,               /// (haut, milieu, bas)            
00262                                     0x02,0x9C, 0x00, 0xFF, 0x00,
00263                                     0x01,0xF3, 0x01, 0xFF, 0x00};  
00264      
00265      */
00266     
00267 char TabBrasPompeViderFuseeMvt1[15]=   {0x03,0xE2, 0x01, 0xFF, 0x03,               /// (haut, milieu, bas)            
00268                                     0x02,0xD5, 0x00, 0xFF, 0x03,
00269                                     0x01,0xFF, 0x01, 0xFF, 0x03};                                 
00270                                       
00271                                  
00272                                     
00273 char TabBrasPompeViderFuseeMvt2[15]=   {0x03,0xF0, 0x02, 0xFF, 0x03,               /// (haut, milieu, bas)            
00274                                     0x02,0x45,0x00, 0xFF, 0x03,
00275                                     0x01,0x32,0x03, 0xFF, 0x03};     
00276                                     
00277 char TabBrasPompeViderFuseeMvt3[15]=   {0x03,0x68,0x03, 0xFF, 0x03,               /// (haut, milieu, bas)            
00278                                     0x02,0x3B, 0x00, 0xFF, 0x03,
00279                                     0x01,0x98, 0x02, 0xFF, 0x03}; 
00280                                     
00281 char TabBrasPompeViderFuseeMvt33[15]=   {0x03,0x68,0x03, 0xFF, 0x03,               /// (haut, milieu, bas)            
00282                                     0x02,0x7E, 0x00, 0xFF, 0x03,
00283                                     0x01,0x65, 0x02, 0xFF, 0x03};                                      
00284                                     
00285 char TabBrasPompeViderFuseeMvt4[15]=   {0x03,0x65, 0x03, 0xFF, 0x03,               /// (haut, milieu, bas)            
00286                                     0x02,0xE9, 0x00, 0xFF, 0x03,
00287                                     0x01,0xFF, 0x01, 0xFF, 0x03}; 
00288                                     
00289 char TabBrasPompeViderFuseeMvt44[15]=   {0x03,0x34, 0x03, 0xFF, 0x03,               /// (haut, milieu, bas)            
00290                                     0x02,0x88, 0x01, 0xFF, 0x03,
00291                                     0x01,0x8B, 0x01, 0xFF, 0x03};  
00292    
00293    
00294                                     
00295 char TabBrasPompeViderFuseeMvt2_2[15]=   {0x03,0xF0, 0x02, 0xFF, 0x03,               /// (haut, milieu, bas)            
00296                                     0x02,0x45,0x00, 0xFF, 0x03,
00297                                     0x01,0xCC,0x00, 0xFF, 0x03};     
00298                                     
00299 char TabBrasPompeViderFuseeMvt3_2[15]=   {0x03,0x68,0x03, 0xFF, 0x03,               /// (haut, milieu, bas)            
00300                                     0x02,0x3B, 0x00, 0xFF, 0x03,
00301                                     0x01,0x66, 0x01, 0xFF, 0x03}; 
00302                                     
00303 char TabBrasPompeViderFuseeMvt33_2[15]=   {0x03,0x68,0x03, 0xFF, 0x03,               /// (haut, milieu, bas)            
00304                                     0x02,0x7E, 0x00, 0xFF, 0x03,
00305                                     0x01,0x99, 0x01, 0xFF, 0x03};                                      
00306                                     
00307 char TabBrasPompeViderFuseeMvt4_2[15]=   {0x03,0x65, 0x03, 0xFF, 0x03,               /// (haut, milieu, bas)            
00308                                     0x02,0xE9, 0x00, 0xFF, 0x03,
00309                                     0x01,0xFF, 0x01, 0xFF, 0x03}; 
00310                                     
00311 char TabBrasPompeViderFuseeMvt44_2[15]=   {0x03,0x34, 0x03, 0xFF, 0x03,               /// (haut, milieu, bas)            
00312                                     0x02,0x88, 0x01, 0xFF, 0x03,
00313                                     0x01,0x98, 0x02, 0xFF, 0x03};                                   
00314                                     
00315                                     
00316                                     
00317 char TabBrasPompeViderFuseeMvt5[15]=   {0x03,0x40, 0x03, 0xFF, 0x03,               /// (haut, milieu, bas)            
00318                                     0x02,0x67, 0x00, 0xFF, 0x03,
00319                                     0x01,0x32, 0x00, 0xFF, 0x03};   
00320                                     
00321 char TabBrasPompeViderFuseeMvt6[15]=   {0x03,0x7C, 0x02, 0xFF, 0x03,               /// (haut, milieu, bas)            
00322                                     0x02,0x56, 0x00, 0xFF, 0x03,
00323                                     0x01,0x32, 0x03, 0xFF, 0x03};
00324                                     
00325 char TabBrasPompeViderFuseeMvt7[15]=   {0x03,0x14, 0x02, 0xFF, 0x03,               /// (haut, milieu, bas)            
00326                                     0x02,0x92, 0x00, 0xFF, 0x03,
00327                                     0x01,0x32, 0x003, 0xFF, 0x03};  
00328                     
00329 char TabBrasPompeViderFuseeMvt8[15]=   {0x03,0xDC, 0x01, 0xFF, 0x03,               /// (haut, milieu, bas)            
00330                                     0x02,0xD5, 0x00, 0xFF, 0x03,
00331                                     0x01,0xFF, 0x01, 0xFF, 0x03};      
00332