Título: Movimiento simple de un hexápodo Publicado por: JoseRomero en 5 Octubre 2018, 20:48 pm Hola, estoy haciendo un hexápodo con 18 servos y 6 patas (3 servos para cada pierna). Estoy utilizando una placa STM32 nucleo y usando el entorno Mbed con lenguaje C.
Mi pregunta es: ¿cómo podría considerar inicialmente los movimientos de un hexápodo? Inicialmente he declarado todos los pines necesarios (18) y en los que he pasado un pulso al número 1 del servo para probar que el pin funciona en la placa. Me gustaría saber cómo realizar un movimiento simple, incluso si son 3 servos que serían 1 pierna. Mi código es el siguiente: #include "mbed.h" #include "SoftPWM.h" Serial serial(PC_6, PA_12); SoftPWM servo1(PB_8); SoftPWM servo2(PB_9); SoftPWM servo3(PB_7); SoftPWM servo4(PA_0); SoftPWM servo5(PA_1); SoftPWM servo6(PB_0); SoftPWM servo7(PB_1); SoftPWM servo8(PA_3); SoftPWM servo9(PA_2); SoftPWM servo10(PA_5); SoftPWM servo11(PA_6); SoftPWM servo12(PA_7); SoftPWM servo13(PB_6); SoftPWM servo14(PA_9); SoftPWM servo15(PA_8); SoftPWM servo16(PB_10); SoftPWM servo17(PB_3); SoftPWM servo18(PA_10); int main() { servo1.period_us(20000); int servopulsewidth=1000; int si_mueve = 1200; int no_mueve = 1900; bool movimiento = false; servo1.pulsewidth_us(servopulsewidth); while(1){ if (movimiento == true) { servo1.pulsewidth_us(si_mueve); serial.printf("YES: %f\r\n", servo1.read()); } else { servo1.pulsewidth_us(no_mueve); serial.printf("NO: %f\r\n", servo1.read()); } movimiento = !movimiento; wait_ms(250); } } |