Secoue les planches, v1.2

This commit is contained in:
Samuel 2025-05-30 17:32:46 +02:00
parent c4e65f75b0
commit 22d47c804c
3 changed files with 28 additions and 28 deletions

View File

@ -5,7 +5,7 @@
#define SERVO_PINCE_GAUCHE 8
#define SERVO_PINCE_DROITE 9
#define FOURCHE_TRANSPORT 5, 266
#define FOURCHE_TRANSPORT 5, 277
#define FOURCHE_LEVEE 5, 206
#define FOURCHE_PRISE 5, 308
@ -13,7 +13,7 @@
#define DOIGT_PINCE_GAUCHE_OUVRE 3, 1790
#define DOIGT_PINCE_GAUCHE_SEUIL 1545
#define DOIGT_PINCE_DROIT_FERME 4, 2475
#define DOIGT_PINCE_DROIT_FERME 4, 2500
#define DOIGT_PINCE_DROIT_OUVRE 4, 2365
#define DOIGT_PINCE_DROIT_SEUIL 1575
@ -231,7 +231,11 @@ void loop()
while(Actionneur_prepare_prise_extern() != ACTION_TERMINEE);
I2C_memory[I2C_CDE_REALISE] = I2C_memory[I2C_CDE_DEMANDE];
break;
case 8:
while(Actionneur_fourche_transport() != ACTION_TERMINEE);
I2C_memory[I2C_CDE_REALISE] = I2C_memory[I2C_CDE_DEMANDE];
break;
}
@ -394,7 +398,7 @@ enum etat_action_t Actionneur_deplacement(void){
}
enum etat_action_t Actionneur_prepare_prise_extern(void){
Servo_set(FOURCHE_PRISE);
Servo_set(FOURCHE_TRANSPORT);
// Ascenseur en bas
Ascenseur_descend();
// Pinces internes fermées
@ -433,26 +437,12 @@ enum etat_action_t Actionneur_depile_planche(void){
delay(1000);
ledcWrite(FOURCHE_LEVEE);
delay(1000);
ledcWrite(FOURCHE_PRISE);
delay(50);
ledcWrite(FOURCHE_LEVEE);
delay(150);
ledcWrite(FOURCHE_PRISE);
delay(50);
ledcWrite(FOURCHE_LEVEE);
delay(150);
ledcWrite(FOURCHE_PRISE);
delay(50);
ledcWrite(FOURCHE_LEVEE);
delay(150);
ledcWrite(FOURCHE_PRISE);
delay(50);
ledcWrite(FOURCHE_LEVEE);
delay(150);
ledcWrite(FOURCHE_PRISE);
delay(50);
ledcWrite(FOURCHE_LEVEE);
delay(150);
for(int i=0;i<20;i++){
ledcWrite(FOURCHE_PRISE);
delay(50);
ledcWrite(FOURCHE_LEVEE);
delay(200);
}
return ACTION_TERMINEE;
@ -474,7 +464,6 @@ enum etat_action_t Actionneur_prise_initiale(void){
Servo_set(DOIGT_PINCE_GAUCHE_OUVRE);
Servo_set(DOIGT_PINCE_DROIT_OUVRE);
Servo_set(FOURCHE_LEVEE);
etat_actionneur = ACTIONNEUR_PRISE_INTERNE_2;
break;
@ -498,7 +487,7 @@ enum etat_action_t Actionneur_prise_initiale(void){
case ACTIONNEUR_RECULE_PRISE_INTERNE_2:
Serial.println("ACTIONNEUR_RECULE_PRISE_INTERNE_2");
if(Translateur_etat() == ACTION_TERMINEE){
Servo_set(FOURCHE_TRANSPORT);
//Servo_set(FOURCHE_TRANSPORT);
etat_actionneur=ACTIONNEUR_PRISE_INTERNE_1;
return ACTION_TERMINEE;
}
@ -509,6 +498,11 @@ enum etat_action_t Actionneur_prise_initiale(void){
}
enum etat_action_t Actionneur_fourche_transport(){
Servo_set(FOURCHE_TRANSPORT);
return ACTION_TERMINEE;
}
enum etat_action_t Actionneur_empile(){
static enum etat_actionneur_t{
ACTIONNEUR_LEVE,

View File

@ -706,13 +706,18 @@ enum etat_action_t gradin_approche(void){
// Depile les planches
while(actionneur_action(ACTIONNEUR_DEPILE)!=ACTION_TERMINEE);
// Recule de 4 cm
while(deplacement_relatif(-20, 0, 0, 0) != ACTION_TERMINEE);
while(deplacement_relatif(-40, 0, 0, 0) != ACTION_TERMINEE);
// Prepa prise externe
while(actionneur_action(ACTIONNEUR_PRISE_EXTERNE)!=ACTION_TERMINEE);
// Avance de 4,4 cm
while(deplacement_relatif(45, 0, 0, 0) != ACTION_TERMINEE);
while(deplacement_relatif(65, 0, 0, 0) != ACTION_TERMINEE);
// On attrape les canettes internes
while(actionneur_action(ACTIONNEUR_PRISE)!=ACTION_TERMINEE);
// On recule pour ne pas faire tomber la fourche sur les cannettes
//while(deplacement_relatif(-20, 0, 0, 0) != ACTION_TERMINEE);
// On baisse la fourche
//while(actionneur_action(ACTIONNEUR_FOURCHE_TRANSPORT)!=ACTION_TERMINEE);
statu_approche_gradin = GA_CHERCHE_GAUCHE;
return ACTION_TERMINEE;
break;

View File

@ -11,6 +11,7 @@
#define ACTIONNEUR_EMPILE 5
#define ACTIONNEUR_DEPILE 6
#define ACTIONNEUR_PRISE_EXTERNE 7
#define ACTIONNEUR_FOURCHE_TRANSPORT 8
struct com_actionneur_t{
char demande_action, action_terminee;