homologation gros robot et test avec les ack de la carte a tout faire

Fork of CRAC-Strat_2017_HOMOLOGATION_PETIT_ROBOT by CRAC Team

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers peripheriques.h Source File

peripheriques.h

00001 #ifndef CRAC_PERIPHERIQUES
00002 #define CRAC_PERIPHERIQUES
00003 
00004 #include "global.h"
00005 
00006 #define VITESSE 700
00007 #define TIME 0.01
00008 #define T_MOT 0.00005
00009 
00010 
00011 #define AX12_PINCE_CENTRALE_POSITION_INITIALE 1
00012 #define AX12_PINCE_CENTRALE_PREPARATION_PRISE 2
00013 #define AX12_PINCE_CENTRALE_PRISE_MODULE 3
00014 #define AX12_PINCE_CENTRALE_STOCKAGE_HAUT 4
00015 #define AX12_PINCE_CENTRALE_STOCKAGE_BAS 5
00016 #define AX12_PINCE_CENTRALE_PREPARATION_DEPOT 6
00017 #define AX12_PINCE_CENTRALE_DEPOSER 7
00018 #define AX12_PINCE_CENTRALE_DEPOT_HAUT 8
00019 
00020 #define AX12_GAUCHE_CROC_OUVERT 11
00021 #define AX12_GAUCHE_CROC_FERME 12
00022 #define AX12_DROIT_CROC_INITIALE 13
00023 
00024 
00025 #define AX12_DROIT_CROC_OUVERT 14
00026 #define AX12_DROIT_CROC_FERME 15
00027 #define AX12_GAUCHE_CROC_INITIALE 16
00028 
00029 #define AX12_TOURNANTE_GAUCHE_POSITION_INITIALE 21
00030 #define AX12_TOURNANTE_GAUCHE_PREPARATION 22
00031 #define AX12_TOURNANTE_GAUCHE_MODULE 23
00032 
00033 #define AX12_TOURNANTE_DROIT_POSITION_INITIALE 24
00034 #define AX12_TOURNANTE_DROIT_PREPARATION 25
00035 #define AX12_TOURNANTE_DROIT_MODULE 26
00036 
00037 #define AX12_POSITION 100
00038 #define AX12_DEFAUT 0
00039 
00040 #define AX12_DOIGT 4
00041 #define AX12_BASE 5
00042 #define AX12_COUDE 6
00043 #define AX12_PINCEG 7
00044 #define AX12_PINCED 8
00045 #define AX12_GAUCHE_EPAULE 1
00046 #define AX12_GAUCHE_COUDE 2
00047 #define AX12_DROIT_EPAULE 9
00048 #define AX12_DROIT_COUDE 10
00049 
00050 #define TOLERANCE_AX12 50
00051                
00052          /*       PROTOTYPES DE FONCTIONS ET POINTEURS       */
00053                     
00054 
00055 
00056 /****************************************************************************************/
00057 /* FUNCTION NAME: Fin_action                                                            */
00058 /* DESCRIPTION  : Fonction qui confirme la fin de mouvement des AX12                    */
00059 /****************************************************************************************/
00060 void Fin_action(void);
00061 
00062 
00063 /****************************************************************************************/
00064 /* FUNCTION NAME: Initialisation_position                                               */
00065 /* DESCRIPTION  : Fonction qui place les bras en position verticale                     */
00066 /****************************************************************************************/
00067 void Initialisation_position(unsigned char choix);
00068 
00069 void mvtBrasCentralPR(unsigned char ID1, unsigned short GSpeed1, unsigned short GPosition1, 
00070                               unsigned char ID2, unsigned short GSpeed2, unsigned short GPosition2,
00071                               unsigned char ID3, unsigned short GSpeed3, unsigned short GPosition3,
00072                               unsigned char ID4, unsigned short GSpeed4, unsigned short GPosition4,
00073                               unsigned char ID5, unsigned short GSpeed5, unsigned short GPosition5);
00074                               
00075 void mvtBrasGauchePR(unsigned char ID1, unsigned short GSpeed1, unsigned short GPosition1, 
00076                               unsigned char ID2, unsigned short GSpeed2, unsigned short GPosition2);                              
00077                         
00078 void mvtBrasDroitPR(unsigned char ID1, unsigned short GSpeed1, unsigned short GPosition1, 
00079                     unsigned char ID2, unsigned short GSpeed2, unsigned short GPosition2);  
00080 
00081 void initialisation_AX12(void);
00082 
00083 void AX12_automate(unsigned char etat_ax12);
00084 
00085 /*********************************************************************************************************/
00086 /* FUNCTION NAME: moteurGauchePWM                                                                        */
00087 /* DESCRIPTION  : bouge le moteur gauche                                                                 */
00088 /*********************************************************************************************************/
00089 void moteurGauchePWM(float pwm);
00090 
00091 /*********************************************************************************************************/
00092 /* FUNCTION NAME: moteurDroitPWM                                                                        */
00093 /* DESCRIPTION  : bouge le moteur gauche                                                                 */
00094 /*********************************************************************************************************/
00095 void moteurDroitPWM(float pwm);
00096 
00097 /*********************************************************************************************************/
00098 /* FUNCTION NAME: initMoteurs                                                                            */
00099 /* DESCRIPTION  : init les moteurs des mains du petit robot                                              */
00100 /*********************************************************************************************************/
00101 void initMoteurs(void);
00102 
00103 /*       PROTOTYPES DE FONCTIONS ET POINTEURS       */
00104                     
00105 /****************************************************************************************/
00106 /* FUNCTION NAME: Tourner_module_gauche                                                 */
00107 /* DESCRIPTION  : Fonction qui permet de tourner les modules a gauche                   */
00108 /****************************************************************************************/
00109 void Tourner_module_gauche(void);
00110 
00111 /****************************************************************************************/
00112 /* FUNCTION NAME: Tourner_module_droit                                                  */
00113 /* DESCRIPTION  : Fonction qui permet de tourner les modules a gauche                   */
00114 /****************************************************************************************/
00115 void Tourner_module_droit(void);
00116 
00117 
00118 bool dataCouleurGauche(void);
00119 bool dataCouleurDroit(void);
00120 unsigned short dataTelemetre(void);
00121 bool dataPressionGauche(void);
00122 bool dataPressionDroit(void);
00123 
00124 #endif