elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Movimiento simple de un hexápodo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Movimiento simple de un hexápodo  (Leído 1,298 veces)
JoseRomero

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Movimiento simple de un hexápodo
« 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);

}

}


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Array en movimiento
Java
Morriganx 1 2,677 Último mensaje 25 Febrero 2008, 23:55 pm
por Lu15_CL4
dar movimiento a una imagen
Java
bengy 2 4,299 Último mensaje 7 Septiembre 2012, 03:32 am
por bengy
Constructor de movimiento y asignacion de movimiento
Programación C/C++
AnthonyS 2 2,195 Último mensaje 1 Marzo 2017, 19:32 pm
por AnthonyS
Mover robot hexapodo al aire libre
Electrónica
0and6 0 2,125 Último mensaje 17 Octubre 2018, 05:35 am
por 0and6
Movimiento armónico simple [SOLUCIONADO]
.NET (C#, VB.NET, ASP)
Meta 1 2,495 Último mensaje 1 Agosto 2020, 13:20 pm
por Meta
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines