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

Entradas populares