Ejercicios: Simulación y verificación
Explique qué es un simulador de circuitos o de robótica y dé dos ventajas de probar en él antes de hacer el montaje real.
Explique qué es un simulador de circuitos o de robótica y dé dos ventajas de probar en él antes de hacer el montaje real.
Explique con sus palabras qué significa verificar un programa y en qué se diferencia de «probarlo un poco a ver si funciona».
Explique con sus palabras qué significa verificar un programa y en qué se diferencia de «probarlo un poco a ver si funciona».
El diagrama de flujo de la figura controla una luz automática que depende de un sensor (LDR), pero falta el contenido de un bloque. Indique qué debería hacer ese bloque…
El diagrama de flujo de la figura controla una luz automática que depende de un sensor (LDR), pero falta el contenido de un bloque. Indique qué debería hacer ese bloque y describa qué hace el sistema cuando la lectura del sensor es 150 y cuando es 800.
Explique la diferencia entre simular un circuito en la computadora y montarlo en una placa de pruebas real: qué se gana y qué se pierde con cada método.
Explique la diferencia entre simular un circuito en la computadora y montarlo en una placa de pruebas real: qué se gana y qué se pierde con cada método.
¿Qué es un «fallo» o bug en un programa de control? Ponga dos ejemplos sencillos (una condición escrita al revés, un umbral mal puesto) y el efecto que tendría cada uno.
¿Qué es un «fallo» o bug en un programa de control? Ponga dos ejemplos sencillos (una condición escrita al revés, un umbral mal puesto) y el efecto que tendría cada uno.
Escriba dos casos de prueba para un programa que hace sonar una alarma cuando se abre una puerta: qué entrada se simula y qué salida se espera en cada caso.
Escriba dos casos de prueba para un programa que hace sonar una alarma cuando se abre una puerta: qué entrada se simula y qué salida se espera en cada caso.
Explique qué significa depurar un programa y nombre una técnica sencilla para hacerlo en un simulador (ejecutar paso a paso, observar el valor de las variables).
Explique qué significa depurar un programa y nombre una técnica sencilla para hacerlo en un simulador (ejecutar paso a paso, observar el valor de las variables).
Algunos simuladores permiten «acelerar el tiempo». Explique qué ventaja tiene eso para probar el comportamiento de un termostato durante un día completo.
Algunos simuladores permiten «acelerar el tiempo». Explique qué ventaja tiene eso para probar el comportamiento de un termostato durante un día completo.
Un programa debe encender un ventilador cuando la temperatura supere los $26\ ^\circ\text{C}$. Defina tres casos de prueba (dato de entrada y resultado esperado) para…
Un programa debe encender un ventilador cuando la temperatura supere los $26\ ^\circ\text{C}$. Defina tres casos de prueba (dato de entrada y resultado esperado) para verificarlo, incluyendo el valor límite de $26\ ^\circ\text{C}$, y justifique por qué ese último caso es importante.
En el simulador su programa funciona perfectamente, pero en el montaje real el motor no gira. Dé tres causas posibles que un simulador no detecta y explique cómo…
En el simulador su programa funciona perfectamente, pero en el montaje real el motor no gira. Dé tres causas posibles que un simulador no detecta y explique cómo comprobaría cada una en la mesa de trabajo.
Explique qué es un «caso límite» al verificar un programa y por qué son tan importantes. Ponga un ejemplo con un programa que decide si una nota es aprobatoria a partir…
Explique qué es un «caso límite» al verificar un programa y por qué son tan importantes. Ponga un ejemplo con un programa que decide si una nota es aprobatoria a partir de 5.
Un programa cuenta las personas que entran en una sala (sensor A) y las que salen (sensor B). Diseñe tres casos de prueba pensados para cazar errores típicos: dos…
Un programa cuenta las personas que entran en una sala (sensor A) y las que salen (sensor B). Diseñe tres casos de prueba pensados para cazar errores típicos: dos personas juntas, una que entra y sale seguida y un sensor que dispara dos veces por el rebote del contacto.
En la simulación, el LED parpadea con ritmo perfecto, pero en el montaje real parpadea de forma irregular. Dé dos causas eléctricas que el simulador idealiza (tolerancia…
En la simulación, el LED parpadea con ritmo perfecto, pero en el montaje real parpadea de forma irregular. Dé dos causas eléctricas que el simulador idealiza (tolerancia de las resistencias, contactos flojos de la placa de pruebas) y cómo acotar cada una.
Explique qué es una «prueba de estrés» de un sistema de control y proponga una para el programa de un parqueo: qué condiciones extremas simularía y qué comportamiento…
Explique qué es una «prueba de estrés» de un sistema de control y proponga una para el programa de un parqueo: qué condiciones extremas simularía y qué comportamiento correcto espera.
Un equipo verifica su programa solo en el «camino feliz», es decir, cuando todo sale bien. Explique qué son los casos de error y escriba dos para un cajero automático de…
Un equipo verifica su programa solo en el «camino feliz», es decir, cuando todo sale bien. Explique qué son los casos de error y escriba dos para un cajero automático de juguete (tarjeta no válida, saldo insuficiente).
Diseñe una tabla de verificación para un semáforo peatonal: estados (rojo, verde, ámbar intermitente), entradas (botón presionado, tiempo transcurrido) y la salida…
Diseñe una tabla de verificación para un semáforo peatonal: estados (rojo, verde, ámbar intermitente), entradas (botón presionado, tiempo transcurrido) y la salida esperada en cada transición entre estados.
En la simulación de un sistema de riego para una platabanda del cole, usted programó este bucle de control: REPETIR SIEMPRE: humedad = leer_sensor() SI humedad < 30 %…
En la simulación de un sistema de riego para una platabanda del cole, usted programó este bucle de control:
REPETIR SIEMPRE:
humedad = leer_sensor()
SI humedad < 30 % ENTONCES:
activar_electroválvula()
esperar(10 segundos)
desactivar_electroválvula()
FIN REPETIR
Al ejecutarlo en un simulador que modela la absorción física del agua con un retardo de infiltración de 2 minutos, la electroválvula se abre y cierra sin parar durante decenas de ciclos seguidos, encharcando el terreno.
- a) Justifique por qué el programa genera este comportamiento en la simulación a pesar de incluir una instrucción explícita de desactivación.
- b) Rediseñe el algoritmo (en pseudocódigo o diagrama de flujo) para solucionar el problema sin suprimir la lectura del sensor ni cambiar la electroválvula.
Un robot móvil utiliza un sensor de ultrasonidos frontal (rango útil: 2,0 cm a 400,0 cm) y debe detenerse y girar si detecta un obstáculo a menos de 20,0 cm. Diseñe una…
Un robot móvil utiliza un sensor de ultrasonidos frontal (rango útil: 2,0 cm a 400,0 cm) y debe detenerse y girar si detecta un obstáculo a menos de 20,0 cm. Diseñe una matriz de pruebas para verificar el código en el simulador antes de transferirlo al robot real. Su plan debe contener al menos 4 casos de prueba distintos que incluyan valores frontera y anomalías de lectura. Para cada caso debe indicar: valor numérico simulado de entrada, comportamiento esperado de los motores y justificación técnica de por qué es imprescindible comprobar ese caso concreto.
Un equipo simula un robot seguidor de línea negra: en pantalla el algoritmo reacciona en 0,02 s, los motores responden de forma instantánea y el robot completa el…
Un equipo simula un robot seguidor de línea negra: en pantalla el algoritmo reacciona en 0,02 s, los motores responden de forma instantánea y el robot completa el circuito a 1,2 m/s sin ningún fallo. Sin embargo, al cargar el mismo programa en el robot real con los mismos sensores, este oscila bruscamente de lado a lado y acaba perdiendo la línea en la primera curva.
- a) Identifique y justifique tres factores del mundo físico que el simulador ha omitido o idealizado y que explican esta discrepancia.
- b) Proponga dos modificaciones técnicas (una en los parámetros del software de control y otra en el montaje físico) para compensar esos efectos reales sin sustituir los sensores.
Un invernadero cuenta con dos zonas de riego independientes (Zona A: semillero delicado; Zona B: cultivo general) gestionadas por un microcontrolador que recibe datos de…
Un invernadero cuenta con dos zonas de riego independientes (Zona A: semillero delicado; Zona B: cultivo general) gestionadas por un microcontrolador que recibe datos de dos sensores de humedad del suelo, un sensor digital de lluvia y un sensor de caudal en la tubería general. Diseñe un plan de verificación para simular el sistema antes de su puesta en marcha. Debe definir 5 casos de prueba exhaustivos que incluyan situaciones de conflicto de prioridades y fallos de suministro. Para cada caso detalle: entradas simuladas exactas, estado previsto de las electroválvulas y de las alarmas, y qué daño material o agronómico previene esa prueba.
Un equipo programa un robot transportador para una bodega. Al ejecutar el plan de pruebas en el simulador, el robot esquiva el 100 % de los obstáculos y frena ante…
Un equipo programa un robot transportador para una bodega. Al ejecutar el plan de pruebas en el simulador, el robot esquiva el 100 % de los obstáculos y frena ante cualquier persona, pero el algoritmo siempre resuelve las esquivas realizando la maniobra en reversa, recorriendo los pasillos en sentido contrario al flujo de trabajo de la bodega. El profesor afirma: «El software está perfectamente verificado, pero el sistema no está validado».
- a) Justifique técnicamente la afirmación del profesor aplicando las definiciones operativas de verificación y validación a este caso concreto.
- b) Reformule el pliego de requisitos técnicos del robot para garantizar que una futura verificación asegure también su correcta validación en el entorno de trabajo.
Un robot rastreador se detiene de forma errática tras funcionar correctamente durante unos cinco minutos. Para diagnosticar el fallo, se activa el registro por puerto…
Un robot rastreador se detiene de forma errática tras funcionar correctamente durante unos cinco minutos. Para diagnosticar el fallo, se activa el registro por puerto serie (log) y se extraen estas líneas clave antes de la parada:
-
t = 295,0 s | Distancia: 35,0 cm | Temp_driver: 50,0 °C | V_batería: 7,4 V | Estado: AVANZAR
-
t = 298,5 s | Distancia: 34,0 cm | Temp_driver: 78,0 °C | V_batería: 7,2 V | Estado: AVANZAR
-
t = 300,0 s | Distancia: 35,0 cm | Temp_driver: 92,0 °C | V_batería: 6,1 V | Estado: PARADA_EMERGENCIA
- a) Interprete los datos del registro para determinar la causa física del fallo, rebatiendo el informe inicial del equipo que afirmaba que el fallo se debía a un defecto del sensor de ultrasonidos.
- b) Diseñe qué variables adicionales o condiciones de alerta temprana debería incluir en el registro y en el código de control para manejar este problema de forma progresiva sin llegar a la desconexión abrupta.
Reto del tema. Climatización inteligente en su hogar. ¿Sabía que automatizar la calefacción puede reducir drásticamente el consumo energético? Diseñe y valide un sistema…
Reto del tema. Climatización inteligente en su hogar.
¿Sabía que automatizar la calefacción puede reducir drásticamente el consumo energético? Diseñe y valide un sistema eficiente para su casa.
-
Datos y modelado: Consulte en la web del IMN (Instituto Meteorológico Nacional) la previsión de temperaturas para las próximas $24\text{ h}$ en su cantón. Compare en una tabla cómo respondería un sistema de lazo abierto (temporizador fijo) frente a uno de lazo cerrado (con retroalimentación), identificando para este último: sensor, controlador y actuador.
-
Diseño y simulación: Ingrese a Tinkercad Circuits o MakeCode. Modele un circuito con un sensor de temperatura, un microcontrolador y un actuador (LED o relé que represente la caldera). Programe el controlador para que active la calefacción si la temperatura baja de una consigna de $20,5\text{ }^\circ\text{C}$ y se apague al alcanzarla.
-
Verificación y propuesta final: Simule cambios de temperatura ambiente para verificar que el sistema reacciona automáticamente. Redacte un informe breve en LibreOffice con capturas del montaje y una gráfica de las temperaturas del IMN, justificando cuántas horas de encendido innecesario evita el lazo cerrado.
Se valorará:
-
Identificación y distinción conceptual rigurosa de los elementos del lazo abierto y cerrado.
-
Montaje, programación y verificación funcional del sistema simulado con la consigna dada.
-
Justificación razonada del ahorro energético a partir de los datos meteorológicos reales consultados.