codigo del brazo en pseint
Proceso Brazo_Robotico
// ======== VARIABLES DE ÁNGULOS ========
Definir angBase, angHombro, angCodo, angGarra Como Entero
angBase <- 90
angHombro <- 90
angCodo <- 90
angGarra <- 90
// ======== INICIO ========
Escribir " Brazo robótico listo "
Escribir "Presiona los botones para mover los servos"
// ======== BUCLE PRINCIPAL ========
Mientras Verdadero Hacer
// ---- Servo Base ----
Si botonBaseIzquierda_presionado() Entonces
angBase <- moverServo(angBase, -1)
FinSi
Si botonBaseDerecha_presionado() Entonces
angBase <- moverServo(angBase, 1)
FinSi
// ---- Servo Hombro ----
Si botonHombroArriba_presionado() Entonces
angHombro <- moverServo(angHombro, 1)
FinSi
Si botonHombroAbajo_presionado() Entonces
angHombro <- moverServo(angHombro, -1)
FinSi
// ---- Servo Codo ----
Si botonCodoExtender_presionado() Entonces
angCodo <- moverServo(angCodo, 1)
FinSi
Si botonCodoRecoger_presionado() Entonces
angCodo <- moverServo(angCodo, -1)
FinSi
// ---- Servo Garra ----
Si botonGarraAbrir_presionado() Entonces
angGarra <- moverServo(angGarra, 1)
FinSi
Si botonGarraCerrar_presionado() Entonces
angGarra <- moverServo(angGarra, -1)
FinSi
Esperar 0.015 // Pequeña pausa para suavizar el movimiento
FinMientras
FinProceso
// ======== FUNCIÓN PARA MOVER SERVOS ========
Funcion nuevoAngulo <- moverServo(angulo, cambio)
nuevoAngulo <- angulo + cambio
Si nuevoAngulo < 0 Entonces
nuevoAngulo <- 0
FinSi
Si nuevoAngulo > 180 Entonces
nuevoAngulo <- 180
FinSi
// Simulación de envío al servo
Escribir "Servo movido al ángulo: ", nuevoAngulo
Retornar nuevoAngulo
FinFuncion
// ======== FUNCIONES DE BOTONES (SIMULADAS) ========
// En Arduino, aquí se leerían los pines digitales.
// En PSeInt se puede simular con entradas o condiciones aleatorias.
Funcion botonBaseIzquierda_presionado() Como Logico
Retornar Falso
FinFuncion
Funcion botonBaseDerecha_presionado() Como Logico
Retornar Falso
FinFuncion
Funcion botonHombroArriba_presionado() Como Logico
Retornar Falso
FinFuncion
Funcion botonHombroAbajo_presionado() Como Logico
Retornar Falso
FinFuncion
Funcion botonCodoExtender_presionado() Como Logico
Retornar Falso
FinFuncion
Funcion botonCodoRecoger_presionado() Como Logico
Retornar Falso
FinFuncion
Funcion botonGarraAbrir_presionado() Como Logico
Retornar Falso
FinFuncion
Funcion botonGarraCerrar_presionado() Como Logico
Retornar Falso
FinFuncionProceso Brazo_Robotico
// ======== VARIABLES DE ÁNGULOS ========
Definir angBase, angHombro, angCodo, angGarra Como Entero
angBase <- 90
angHombro <- 90
angCodo <- 90
angGarra <- 90
// ======== INICIO ========
Escribir " Brazo robótico listo "
Escribir "Presiona los botones para mover los servos"
// ======== BUCLE PRINCIPAL ========
Mientras Verdadero Hacer
// ---- Servo Base ----
Si botonBaseIzquierda_presionado() Entonces
angBase <- moverServo(angBase, -1)
FinSi
Si botonBaseDerecha_presionado() Entonces
angBase <- moverServo(angBase, 1)
FinSi
// ---- Servo Hombro ----
Si botonHombroArriba_presionado() Entonces
angHombro <- moverServo(angHombro, 1)
FinSi
Si botonHombroAbajo_presionado() Entonces
angHombro <- moverServo(angHombro, -1)
FinSi
// ---- Servo Codo ----
Si botonCodoExtender_presionado() Entonces
angCodo <- moverServo(angCodo, 1)
FinSi
Si botonCodoRecoger_presionado() Entonces
angCodo <- moverServo(angCodo, -1)
FinSi
// ---- Servo Garra ----
Si botonGarraAbrir_presionado() Entonces
angGarra <- moverServo(angGarra, 1)
FinSi
Si botonGarraCerrar_presionado() Entonces
angGarra <- moverServo(angGarra, -1)
FinSi
Esperar 0.015 // Pequeña pausa para suavizar el movimiento
FinMientras
FinProceso
// ======== FUNCIÓN PARA MOVER SERVOS ========
Funcion nuevoAngulo <- moverServo(angulo, cambio)
nuevoAngulo <- angulo + cambio
Si nuevoAngulo < 0 Entonces
nuevoAngulo <- 0
FinSi
Si nuevoAngulo > 180 Entonces
nuevoAngulo <- 180
FinSi
// Simulación de envío al servo
Escribir "Servo movido al ángulo: ", nuevoAngulo
Retornar nuevoAngulo
FinFuncion
// ======== FUNCIONES DE BOTONES (SIMULADAS) ========
// En Arduino, aquí se leerían los pines digitales.
// En PSeInt se puede simular con entradas o condiciones aleatorias.
Funcion botonBaseIzquierda_presionado() Como Logico
Retornar Falso
FinFuncion
Funcion botonBaseDerecha_presionado() Como Logico
Retornar Falso
FinFuncion
Funcion botonHombroArriba_presionado() Como Logico
Retornar Falso
FinFuncion
Funcion botonHombroAbajo_presionado() Como Logico
Retornar Falso
FinFuncion
Funcion botonCodoExtender_presionado() Como Logico
Retornar Falso
FinFuncion
Funcion botonCodoRecoger_presionado() Como Logico
Retornar Falso
FinFuncion
Funcion botonGarraAbrir_presionado() Como Logico
Retornar Falso
FinFuncion
Funcion botonGarraCerrar_presionado() Como Logico
Retornar Falso
FinFuncion

Comentarios
Publicar un comentario