Reglage des servos + fonctions de réglage

This commit is contained in:
Samuel 2025-05-24 15:57:58 +02:00
parent ef108cf44d
commit 4e192b6449

View File

@ -5,13 +5,25 @@
#define SERVO_PINCE_GAUCHE 8
#define SERVO_PINCE_DROITE 9
#define FOURCHE_TRANSPORT 5, 307
#define FOURCHE_LEVEE 5, 227
#define FOURCHE_PRISE 5, 345
#define FOURCHE_TRANSPORT 5, 287
#define FOURCHE_LEVEE 5, 217
#define FOURCHE_PRISE 5, 327
#define DOIGT_PINCE_GAUCHE_FERME 2080
#define DOIGT_PINCE_GAUCHE_OUVRE 2367
#define DOIGT_PINCE_GAUCHE_PARKING 1550
#define DOIGT_PINCE_GAUCHE_FERME 3, 1000
#define DOIGT_PINCE_GAUCHE_OUVRE 3, 800
#define DOIGT_PINCE_GAUCHE_SEUIL 815
/// TODO renseigner de vraies valeurs
#define DOIGT_PINCE_DROIT_FERME 4, 1000
#define DOIGT_PINCE_DROIT_OUVRE 4, 800
#define DOIGT_PINCE_DROIT_SEUIL 815
/// FIN TODO
#define AIMANT_PINCE_DROIT_TIENT 8, 147
#define AIMANT_PINCE_DROIT_LACHE 8, 337
#define AIMANT_PINCE_GAUCHE_TIENT 9, 500
#define AIMANT_PINCE_GAUCHE_LACHE 9, 400
SMS_STS sms_sts;
@ -35,6 +47,20 @@ enum translateur_action_t{
}translateur_action = TRANSLATEUR_INIT;
enum etat_actionneur_t{
ACTIONNEUR_DEPLACEMENT,
ACTIONNEUR_PRISE_EXTERNE,
ACTIONNEUR_DEPILE,
ACTIONNEUR_PRISE_INTERNE,
ACTIONNEUR_RECULE_PRISE_INTERNE,
ACTIONNEUR_LEVE,
ACTIONNEUR_AVANCE_PRISE_INTERNE,
ACTIONNEUR_DEPOSE_PRISE_INTERNE,
ACTIONNEUR_RANGE_TRANSLATEUR,
ACTIONNEUR_DESCEND
}
/// @brief pilote la vitesse des moteurs
/// @param vitesse vitesse signée, sera saturée à 255
void Moteur_set(int vitesse){
@ -206,6 +232,45 @@ void Translateur_cycle(void){
}
}
void reglage_servo(int pin_servo){
static int valeur=307; // Neutre
printf("reglage_servo %d\n", pin_servo);
while(1){
if (Serial.available() > 0) {
// get incoming byte:
int inByte = 0;
inByte = Serial.read();
if(inByte == 'e'){
valeur++;
}
if(inByte == 'z'){
valeur+=10;
}
if(inByte == 'a'){
valeur+=100;
}
if(inByte == 'd'){
valeur--;
}
if(inByte == 's'){
valeur-=10;
}
if(inByte == 'f'){
valeur-=100;
}
if(inByte == 'q'){
break;
}
printf("Valeur %d\n", valeur);
ledcWrite(pin_servo, valeur);
}
Serial.printf(">Servo3:%d\n", sms_sts.ReadPos(3));
Serial.printf(">Servo4:%d\n", sms_sts.ReadPos(4));
delay(50);
}
}
void loop()
@ -255,6 +320,15 @@ void loop()
if(inByte == 'z'){
Translateur_recule();
}
if(inByte == '1'){
reglage_servo(8);
}
if(inByte == '2'){
reglage_servo(9);
}
if(inByte == '3'){
reglage_servo(5);
}
if(inByte == 'c'){
while(Serial.available() > 0){
inByte = Serial.read();
@ -306,3 +380,5 @@ void loop()
}*/
}