Volver a la portadaTécnica Tecnológica · 1.° de secundaria · Cambiar asignatura
Empezar gratis
Secundaria 1° · Técnica Tecnológica
Pensamiento computacional y robótica · Sistemas de control

Simulación y verificación de sistemas de control

El equipo de Valentina armó un sistema de riego para el huerto de la unidad educativa. Lo conectaron directo, sin probar, y la electroválvula se trabó abierta: el huerto amaneció encharcado y se quemó un componente. ¿Cómo pudieron haberlo evitado sin gastar una sola pieza? Probando antes en una simulación y con un plan de pruebas. Al final de la página volvemos a su caso.

Por qué simular antes de montar

Un prototipo físico cuesta plata, tarda en armarse y se puede dañar al primer error. Un modelo en la pantalla de la computadora (o de tu celular) no. En clase se usan simuladores como Tinkercad Circuits o MakeCode.

Un mismo programa de control se ejecuta en un simulador, con un robot y un obstáculo virtuales, y en el prototipo real, con un robot y un obstáculo físicos. programa de control (idéntico en ambos) simulador (sin riesgo) prototipo real

Un caso típico: el LED sin resistencia

Algunos simuladores dejan conectar un LED directo a un pin de la placa y lo muestran encendido sin ningún aviso. En el mundo real se quema. Sin resistencia, por el LED pasa una corriente demasiado grande y se quema. La resistencia limita esa corriente y lo protege.

Practica★☆☆Sin empezar
Explica qué es un simulador de circuitos o de robótica y da dos ventajas de probar en él antes de hacer el montaje real.

Explica qué es un simulador de circuitos o de robótica y da dos ventajas de probar en él antes de hacer el montaje real.

Resolver
Practica★☆☆Sin empezar
Explica la diferencia entre simular un circuito en la computadora y montarlo en una placa de pruebas real (protoboard): qué se gana y qué se pierde con cada método.

Explica la diferencia entre simular un circuito en la computadora y montarlo en una placa de pruebas real (protoboard): qué se gana y qué se pierde con cada método.

Resolver
Practica★☆☆Sin empezar
Algunos simuladores permiten «acelerar el tiempo». Explica qué ventaja tiene eso para probar el comportamiento de un termostato durante un día completo.

Algunos simuladores permiten «acelerar el tiempo». Explica qué ventaja tiene eso para probar el comportamiento de un termostato durante un día completo.

Resolver
Practica★★☆Sin empezar
En el simulador tu programa funciona perfectamente, pero en el montaje real el motor no gira. Da tres causas posibles que un simulador no detecta y explica cómo…

En el simulador tu programa funciona perfectamente, pero en el montaje real el motor no gira. Da tres causas posibles que un simulador no detecta y explica cómo comprobarías cada una en la mesa de trabajo.

Resolver
Practica★★☆Sin empezar
En la simulación, el LED parpadea con ritmo perfecto, pero en el montaje real parpadea de forma irregular. Da 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. Da dos causas eléctricas que el simulador idealiza (tolerancia de las resistencias, contactos flojos del protoboard) y cómo acotar cada una.

Resolver

Diseño de casos de prueba

Verificar un programa no es «probarlo un poco a ver si funciona». Es comparar, caso por caso y con un plan escrito, lo que hace el sistema con lo que debería hacer.

Una compuerta lógica es el ejemplo más sencillo: con dos entradas hay solo cuatro combinaciones, y probarlas todas agota las posibilidades.

Umbral con histéresis

Cuando la lectura de un sensor fluctúa justo alrededor del umbral, una regla simple hace que el actuador se prenda y apague sin parar. Imagina una persiana con la regla «si luz ≥ 800 lx, bajar; si no, subir», y lecturas como 805, 795, 812, 798: el motor recibiría una orden en cada cambio, con desgaste y gasto de energía.

Al probarla, tus casos deben incluir lecturas que oscilan dentro de la zona entre los dos umbrales y comprobar que el actuador no cambia.

Practica★☆☆Sin empezar
Escribe 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.

Escribe 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.

Resolver
Practica★★☆Sin empezar
Un programa debe encender un ventilador cuando la temperatura supere los $26\ ^\circ\text{C}$. Define 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}$. Define tres casos de prueba (dato de entrada y resultado esperado) para verificarlo, incluyendo el valor límite de $26\ ^\circ\text{C}$, y justifica por qué ese último caso es importante.

Resolver
Practica★★☆Sin empezar
Explica qué es un «caso límite» al verificar un programa y por qué son tan importantes. Pon un ejemplo con un programa que decide si una nota es aprobatoria a partir de…

Explica qué es un «caso límite» al verificar un programa y por qué son tan importantes. Pon un ejemplo con un programa que decide si una nota es aprobatoria a partir de 5.

Resolver
Practica★★☆Sin empezar
Un programa cuenta las personas que entran en una sala (sensor A) y las que salen (sensor B). Diseña tres casos de prueba pensados para detectar errores típicos: dos…

Un programa cuenta las personas que entran en una sala (sensor A) y las que salen (sensor B). Diseña tres casos de prueba pensados para detectar errores típicos: dos personas juntas, una que entra y sale seguida y un sensor que se activa dos veces por el rebote del contacto.

Resolver
Practica★★☆Sin empezar
Explica qué es una «prueba de estrés» de un sistema de control y propón una para el programa de un parqueo: qué condiciones extremas simularías y qué comportamiento…

Explica qué es una «prueba de estrés» de un sistema de control y propón una para el programa de un parqueo: qué condiciones extremas simularías y qué comportamiento correcto esperas.

Resolver
Practica★★☆Sin empezar
Un equipo verifica su programa solo en el «camino feliz», es decir, cuando todo sale bien. Explica qué son los casos de error y escribe dos para un cajero automático de…

Un equipo verifica su programa solo en el «camino feliz», es decir, cuando todo sale bien. Explica qué son los casos de error y escribe dos para un cajero automático de juguete (tarjeta no válida, saldo insuficiente).

Resolver
Practica★★☆Sin empezar
Diseña 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ña 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.

Resolver
Practica★★★Sin empezar
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ña 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ña una matriz de pruebas para verificar el código en el simulador antes de transferirlo al robot real. Tu plan debe contener al menos 4 casos de prueba distintos que incluyan valores frontera y anomalías de lectura. Para cada caso debes 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.

Resolver

Leer un diagrama de flujo y detectar fallos

Para encontrar un fallo conviene leer el programa como lo hace la computadora, siguiendo el diagrama de flujo con valores concretos.

También hay fallos que solo aparecen cuando el simulador modela el tiempo. Un riego que lee la humedad, abre la válvula 10 segundos y vuelve a leer puede repetirse sin parar si el agua tarda minutos en filtrarse hasta el sensor: el programa «no ve» el efecto de su propia acción. Por eso conviene simular con el retardo real del entorno.

Practica★☆☆Sin empezar
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. Indica qué debería hacer ese bloque y…

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. Indica qué debería hacer ese bloque y describe qué hace el sistema cuando la lectura del sensor es 150 y cuando es 800.

Inicio Leer LDR ¿LDR < 200? sí ? no Apagar LED
Resolver
Practica★☆☆Sin empezar
¿Qué es un «fallo» o bug en un programa de control? Pon 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? Pon dos ejemplos sencillos (una condición escrita al revés, un umbral mal puesto) y el efecto que tendría cada uno.

Resolver
Practica★★★Sin empezar
En la simulación de un sistema de riego para un huerto escolar, has programado este bucle de control: REPETIR SIEMPRE: humedad = leer_sensor() SI humedad < 30 %…

En la simulación de un sistema de riego para un huerto escolar, has programado 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.

  1. a) Justifica por qué el programa genera este comportamiento en la simulación a pesar de incluir una instrucción explícita de desactivación.
  2. b) Rediseña el algoritmo (en pseudocódigo o diagrama de flujo) para solucionar el problema sin suprimir la lectura del sensor ni cambiar la electroválvula.
Resolver

Verificar y validar: dos preguntas distintas

Verificar y validar son parte del desarrollo incremental: se prueba durante el desarrollo, se compara con los criterios que se fijaron al inicio y se ajusta lo necesario.

Esquema con tres bloques: la necesidad real se contrasta con el diseño o especificación mediante la validación, y el diseño se contrasta con el código mediante la verificación. necesidad real diseño / especificación ¿validar? ¿verificar? código ¿el diseño resuelve el problema real?
Practica★☆☆Sin empezar
Explica con tus palabras qué significa verificar un programa y en qué se diferencia de «probarlo un poco a ver si funciona».

Explica con tus palabras qué significa verificar un programa y en qué se diferencia de «probarlo un poco a ver si funciona».

Resolver

Método de proyectos: dónde encaja la simulación

Detrás de cada objeto que usas hay alguien que detectó una necesidad y la resolvió paso a paso. Ese camino ordenado se llama método de proyectos.

Practica★★★Sin empezar
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.

  1. a) Identifica y justifica tres factores del mundo físico que el simulador ha omitido o idealizado y que explican esta discrepancia.
  2. b) Propón 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.
Resolver

Depuración sistemática

En un simulador puedes depurar ejecutando el programa paso a paso y observando el valor de las variables en cada instrucción.

Diagrama de flujo de la depuración: tras fallar una prueba, aislar la parte defectuosa, corregir el error y repetir todos los casos de prueba anteriores. falla la prueba aislar la parte corregir repetir TODOS los casos de prueba anteriores
Practica★☆☆Sin empezar
Explica qué significa depurar un programa y nombra una técnica sencilla para hacerlo en un simulador (ejecutar paso a paso, observar el valor de las variables).

Explica qué significa depurar un programa y nombra una técnica sencilla para hacerlo en un simulador (ejecutar paso a paso, observar el valor de las variables).

Resolver

Vuelve al principio: el equipo de Valentina habría escrito casos normales, límite y de error para su riego (humedad justo en el umbral, sensor desconectado), los habría corrido en el simulador con el retardo del agua y habría descubierto que la válvula se quedaba abriendo y cerrando sin parar antes de mojar el huerto.

Resumen

Ver todos los ejercicios de este apartado