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.
Fork of command_AX12 by
Revision 1:b3ff77670606, committed 2017-03-21
- Comitter:
- ConstantMBED
- Date:
- Tue Mar 21 14:46:54 2017 +0000
- Parent:
- 0:a2a44c043932
- Child:
- 2:99b1cb0d9f5e
- Commit message:
- Commande des AX12
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Wed Mar 15 16:36:50 2017 +0000
+++ b/main.cpp Tue Mar 21 14:46:54 2017 +0000
@@ -5,23 +5,37 @@
/* DECLARATION VARIABLES */
Timer t;
Ticker flipper;
-static char TAB[25]= {0x01,0x9A, 0x02, 0xFF, 0x00, // socle
- 0x02,0x0A, 0x01, 0xFF, 0x00, // bas
- 0x05,0xC8, 0x00, 0xFF, 0x00, // milieu
- 0x0D,0x90, 0x01, 0xFF, 0x00, // haut
- 0x09,0xD2, 0x01, 0xFF, 0x00}; //ventouse
-
-static char TAB2[25]= {0x01,0xE9, 0x00,0xFF, 0x00, // socle
- 0x02,0x2C, 0x01, 0xFF, 0x00, // bas
- 0x05,0xA6, 0x00, 0xFF, 0x00, // milieu
- 0x0D,0xD2, 0x01, 0xFF, 0x00, // haut
- 0x09,0xFF, 0x03, 0xFF, 0x00}; //ventouse
-
-static char TAB3[25]= {0x01,0xA6, 0x00,0xFF, 0x00, // socle
- 0x02,0x6E, 0x01, 0xFF, 0x00, // bas
- 0x05,0xE9, 0x00, 0xFF, 0x00, // milieu
- 0x0D,0x90, 0x01, 0xFF, 0x00, // haut
- 0x09,0xDD, 0x02, 0xFF, 0x00}; //ventouse
+static char TAB1[25]= {0x06,0x0A, 0x01, 0xFF, 0x00,
+ 0x12,0xBC, 0x02, 0xFF, 0x00,
+ 0x04,0xE9, 0x00, 0xFF, 0x00,
+ 0x07,0x4D, 0x01, 0xFF, 0x00,
+ 0x0F,0x90, 0x01, 0xFF, 0x00};
+
+static char TAB2[25]= {0x06,0x0A, 0x01, 0xFF, 0x00,
+ 0x12,0x25, 0x02, 0xFF, 0x00,
+ 0x04,0x15, 0x02, 0xFF, 0x00,
+ 0x07,0x4D, 0x01, 0xFF, 0x00,
+ 0x0F,0x90, 0x01, 0xFF, 0x00};
+
+static char TAB3[25]= {0x06,0x0A, 0x01, 0xFF, 0x00,
+ 0x12,0x2C, 0x01, 0xFF, 0x00,
+ 0x04,0x15, 0x02, 0xFF, 0x00,
+ 0x07,0x4D, 0x01, 0xFF, 0x00,
+ 0x0F,0x90, 0x01, 0xFF, 0x00};
+
+static char TAB4[25]= {0x06,0x0A, 0x01, 0xFF, 0x00,
+ 0x12,0x2C, 0x01, 0xFF, 0x00,
+ 0x04,0x4D, 0x01, 0xFF, 0x00,
+ 0x07,0x4D, 0x01, 0xFF, 0x00,
+ 0x0F,0x90, 0x01, 0xFF, 0x00};
+
+static char TAB5[25]= {0x06,0x0A, 0x01, 0xFF, 0x00,
+ 0x12,0x2C, 0x01, 0xFF, 0x00,
+ 0x04,0x4D, 0x01, 0xFF, 0x00,
+ 0x07,0x6E, 0x01, 0xFF, 0x00,
+ 0x0F,0x90, 0x01, 0xFF, 0x00};
+
+
/* ANGLE */
@@ -36,7 +50,18 @@
90° = 0x2C, 0x01 | 190°= 0x79, 0x02
100°= 0x4D, 0x01 | 200°= 0x9A, 0x02 */
-
+ /* NUMERO AX12 */
+
+/* 0 = 0x00 | 9 = 0x09 | 18 = 0x12
+ 1 = 0x01 | 10 = 0x0A
+ 2 = 0x02 | 11 = 0x0B
+ 3 = 0x03 | 12 = 0x0C
+ 4 = 0x04 | 13 = 0x0D
+ 5 = 0x05 | 14 = 0x0E
+ 6 = 0x06 | 15 = 0x0F
+ 7 = 0x07 | 16 = 0x10
+ 8 = 0x08 | 17 = 0x11 */
+
/*static char Tab1[5]={ 0x09,
0x5E,
0x01,
@@ -50,13 +75,12 @@
0x05};*/
float angle=0.0;
float test_socle=0.0,test_bas=0.0,test_milieu=0.0,test_haut=0.0,test_ventouse=0.0, test_calcul=0.0, valeur_test=0.0;
-int torque_socle=0, torque_bas=0, torque_milieu=0, torque_haut=0, torque_ventouse=0;
-int error_torque_socle=0, error_torque_bas=0, error_torque_milieu=0, error_torque_haut=0, error_torque_ventouse=0;
+
/* DECLARATION PROTOTYPES & POINTEURS */
short vitesse=700; // Vitesse angulaire (0-1023)
-AX12 *ventouse_myAX12, *haut_myAX12, *milieu_myAX12, *bas_myAX12, *socle_myAX12, *multiple_AX12 ;
+AX12 *dixhuit_myAX12, *quatre_myAX12,*six_myAX12, *sept_myAX12, *quinze_myAX12, *multiple_AX12;
void Init_AX12(void);
void Lecture(void);
void Flip(void);
@@ -69,20 +93,20 @@
void Init_AX12() // Initialisation des différents paramétres
{
- ventouse_myAX12-> Set_Goal_speed(vitesse); // vitesse (0-1023)
- haut_myAX12-> Set_Goal_speed(vitesse); // vitesse (0-1023)
- milieu_myAX12-> Set_Goal_speed(vitesse); // vitesse (0-1023)
- bas_myAX12-> Set_Goal_speed(vitesse); // vitesse (0-1023)
- socle_myAX12-> Set_Goal_speed(vitesse); // vitesse (0-1023)
+ dixhuit_myAX12-> Set_Goal_speed(vitesse); // vitesse (0-1023)
+ quatre_myAX12-> Set_Goal_speed(vitesse);
+ six_myAX12-> Set_Goal_speed(vitesse);
+ sept_myAX12-> Set_Goal_speed(vitesse);
+ quinze_myAX12-> Set_Goal_speed(vitesse);
- ventouse_myAX12->Set_Mode(0); // Mode Position(0) Mode Continu(1)
- haut_myAX12-> Set_Mode(0); // Mode Position(0) Mode Continu(1)
- milieu_myAX12-> Set_Mode(0); // Mode Position(0) Mode Continu(1)
- bas_myAX12-> Set_Mode(0); // Mode Position(0) Mode Continu(1)
- socle_myAX12-> Set_Mode(0); // Mode Position(0) Mode Continu(1)
+ dixhuit_myAX12-> Set_Mode(0); // Mode Position(0) Mode Continu(1)
+ quatre_myAX12-> Set_Mode(0);
+ six_myAX12-> Set_Mode(0);
+ sept_myAX12-> Set_Mode(0);
+ quinze_myAX12-> Set_Mode(0);
}
-void Lecture()
+/*void Lecture()
{
angle= socle_myAX12-> Get_Position();
test_socle = socle_myAX12 -> read_and_test(angle,TAB);
@@ -119,76 +143,44 @@
#ifdef AX12_DEBUG
printf("\nvaleur_test = %f",valeur_test);
#endif
-}
+}*/
/* PROGRAMME PRINCIPAL*/
int main()
{
- flipper.attach(&Flip, 2.0);
+ // flipper.attach(&Flip, 2.0);
+ dixhuit_myAX12 = new AX12(p13, p14, 18, 1000000);
+ quatre_myAX12 = new AX12(p13, p14, 4, 1000000);
+ six_myAX12 = new AX12(p13, p14, 6, 1000000);
+ sept_myAX12 = new AX12(p13, p14, 7, 1000000);
+ quinze_myAX12 = new AX12(p13, p14, 15, 1000000);
+ multiple_AX12 = new AX12(p13,p14,0xFE,1000000); // Création objet : data pin 9&10, ID Broadcast, baud
- ventouse_myAX12 = new AX12(p9, p10, 9, 1000000); // Création objet : data pin 9&10, ID moteur 9, baud
- haut_myAX12 = new AX12(p9, p10,13, 1000000); // Création objet : data pin 9&10, ID moteur 13, baud
- milieu_myAX12 = new AX12(p9, p10, 5, 1000000); // Création objet : data pin 9&10, ID moteur 5, baud
- bas_myAX12 = new AX12(p9, p10, 2, 1000000); // Création objet : data pin 9&10, ID moteur 2, baud
- socle_myAX12 = new AX12(p9, p10, 1, 1000000); // Création objet : data pin 9&10, ID moteur 1, baud
- multiple_AX12 = new AX12(p9,p10,0xFE,1000000); // Création objet : data pin 9&10, ID Broadcast, baud
-
- multiple_AX12->multiple_goal_and_speed(5,TAB);
+ multiple_AX12->multiple_goal_and_speed(5,TAB1);
+ wait(2);
+ multiple_AX12->multiple_goal_and_speed(5,TAB2);
+ wait(2);
+ multiple_AX12->multiple_goal_and_speed(5,TAB3);
+ wait(2);
+ multiple_AX12->multiple_goal_and_speed(5,TAB4);
+ wait(2);
+ multiple_AX12->multiple_goal_and_speed(5,TAB5);
- while(valeur_test<4)
+ //six_myAX12 -> Set_Secure_Goal(200);
+ /*quatorze_myAX12 -> Set_Secure_Goal(260);
+ gauche_myAX12 -> Set_Secure_Goal(280);
+ quatorze_myAX12 -> Set_Secure_Goal(300); //avoir ax12 14 a 90°*/
+
+ /* while(valeur_test<4)
{
Lecture();
- }
+ }*/
- multiple_AX12->multiple_goal_and_speed(5,TAB2);
+
}
-
-void Flip ()
-{
-
- #ifdef AX12_DEBUG
- printf("\ntorque_ventouse avant = %d",torque_ventouse);
- #endif
-
- torque_socle= socle_myAX12 -> Get_Torque_Enable();
- torque_bas= bas_myAX12 -> Get_Torque_Enable();
- torque_milieu= milieu_myAX12 -> Get_Torque_Enable();
- torque_haut= haut_myAX12 -> Get_Torque_Enable();
- torque_ventouse=ventouse_myAX12 -> Get_Torque_Enable();
-
-
-
- /*if(torque_socle==1)
- {
- error_torque_socle=socle_myAX12 -> Set_Torque_Enable(0);
-
- }
- if(torque_bas==1)
- {
- error_torque_bas=bas_myAX12 -> Set_Torque_Enable(0);
-
- }
- if(torque_milieu==1)
- {
- error_torque_milieu=milieu_myAX12-> Set_Torque_Enable(0);
-
- }
- if(torque_haut==1)
- {
- error_torque_haut=haut_myAX12 -> Set_Torque_Enable(0);
-
- } */
-
- error_torque_ventouse=ventouse_myAX12 -> Set_Torque_Enable(0);
- //error_torque_ventouse=ventouse_myAX12 -> Set_Torque_Enable(1);
- #ifdef AX12_DEBUG
- printf("\ntorque_ventouse apres = %d",torque_ventouse);
- #endif
-
-}
