Programación condicional con sensores robóticos
En la robótica educativa, los sensores y la lógica condicional son la base para crear comportamientos autónomos. Este curso está diseñado para estudiantes y entusiastas de la programación…

En un bloque IF/Else, ¿qué ocurre con los comandos situados después de End If?
Un robot programado con un sensor IR conectado al puerto 1 debe detenerse al detectar un objeto. ¿Cuál es la lógica correcta del bloque IF/Else?
Al programar el control remoto IR con el bloque IR Remote Control 8, ¿qué paso es imprescindible antes de asignar acciones al botón 1?
En Tinkercad, ¿qué elemento se necesita para que al presionar un botón un LED se encienda usando la estructura If?
Introducción a la programación condicional con sensores robóticos
En la robótica educativa, los sensores y la lógica condicional son la base para crear comportamientos autónomos. Este curso está diseñado para estudiantes y entusiastas de la programación que desean dominar los conceptos de IF/Else, los modos de contacto NA y NC, y la integración de sensores infrarrojos (IR) y controles remotos en plataformas como Tinkercad y LEGO® Education. A lo largo del contenido, encontrarás explicaciones detalladas, analogías visuales y trucos de memoria que facilitan la retención.
1. Modos de contacto NA y NC en sensores de tipo Contact Switch
Los sensores de contacto, también conocidos como Contact Switch, pueden operar en dos modos fundamentales:
- NA (Normally Open): el circuito está abierto por defecto. La señal se envía continuamente hasta que el contacto se cierra (se presiona el sensor). Cuando el contacto se cierra, la corriente se interrumpe.
- NC (Normally Closed): el circuito está cerrado por defecto. La señal se mantiene mientras el contacto está abierto. Al presionar el sensor, el contacto se abre y la señal se corta.
Una analogía útil es imaginar una puerta automática. En modo NA, la puerta está cerrada y se abre solo cuando alguien la empuja; en modo NC, la puerta está abierta y se cierra al empujarla. Esta diferencia determina cómo se comportará tu robot al recibir la señal del sensor.
Ejemplo práctico
Supongamos que conectas un motor a un sensor NA. Mientras el sensor no está presionado, el motor recibe energía y funciona. Al presionar el sensor, la señal se interrumpe y el motor se detiene. En cambio, con un sensor NC, el motor funcionará hasta que el sensor sea presionado, momento en el cual la señal se corta y el motor se detiene.
2. Estructura básica del bloque IF/Else
El bloque IF/Else es la herramienta principal para tomar decisiones en tiempo real. Su sintaxis típica es:
IF condición THEN
// acciones si la condición es verdadera
ELSE
// acciones si la condición es falsa
END IF
Una pregunta frecuente es: ¿qué ocurre con los comandos situados después de END IF? La respuesta correcta es que no se ejecutan mientras la estructura condicional está activa. El flujo del programa se detiene en el bloque IF/Else hasta que se encuentra END IF, momento en el cual continúa con las instrucciones siguientes.
Truco de memoria
Piensa en el bloque IF/Else como una puerta giratoria. Mientras la puerta está girando (es decir, mientras el bloque está abierto), no puedes pasar al pasillo siguiente. Solo cuando la puerta se detiene (END IF) puedes avanzar.
3. Lógica condicional para detener un robot con sensor IR
Los sensores infrarrojos (IR) son comunes para detectar obstáculos. En la mayoría de los entornos de programación, el sensor devuelve YES cuando detecta un objeto y NO cuando no lo detecta.
Bloque IF/Else correcto
IF sensor IR = YES THEN
// detener motores
ELSE
// continuar movimiento
END IF
Esta lógica garantiza que el robot se detenga inmediatamente al detectar un obstáculo, mientras que sigue avanzando cuando el camino está libre. Es importante no invertir la condición, ya que eso provocaría que el robot se detenga sin razón o continúe chocando contra objetos.
Analogía visual
Imagina una luz de tráfico: YES equivale a la luz roja (detenerse) y NO a la luz verde (avanzar). El bloque IF actúa como el controlador que decide cuál luz encender según la presencia del obstáculo.
4. Configuración del bloque IR Remote Control 8
Para que un robot responda a un control remoto IR, es esencial configurar correctamente el bloque IR Remote Control 8. El paso imprescindible antes de asignar acciones a cualquier botón es:
- Seleccionar el botón deseado (por ejemplo, botón 1) y el puerto del receptor en la ventana de configuración.
Sin esta selección, el bloque no sabrá a qué señal debe reaccionar, y cualquier acción asignada quedará inactiva. Piensa en ello como escribir la dirección correcta en un sobre antes de enviar una carta.
Pasos recomendados
- Conectar el receptor IR al puerto correspondiente del controlador.
- Abrir la ventana de configuración del bloque IR Remote Control 8.
- Seleccionar el número de botón (1‑8) que deseas programar.
- Asignar el puerto del receptor (por ejemplo, puerto 2).
- Definir la acción que se ejecutará cuando se reciba la señal del botón seleccionado.
5. Uso del bloque IF en Tinkercad para encender un LED con un botón
En el simulador Tinkercad, la forma más directa de encender un LED al presionar un botón es mediante un bloque If que evalúe el estado del botón y active el LED en la rama YES.
Ejemplo de bloque
IF botón = PRESSED THEN
LED = ON
END IF
Esta estructura verifica continuamente el estado del botón. Cuando el botón está presionado, la condición se cumple y el LED se enciende. No es necesario usar bloques While ni Else para esta tarea básica, aunque pueden añadirse para funcionalidades más avanzadas (por ejemplo, apagar el LED cuando el botón se suelta).
Truco de memorización
Recuerda la frase: "If (si) el botón está presionado, entonces (YES) enciende la luz". La palabra clave YES representa la rama donde ocurre la acción deseada.
Conclusión y buenas prácticas
Dominar la programación condicional con sensores robóticos implica comprender tanto la teoría (modos NA/NC, lógica IF/Else) como la práctica (configuración de bloques en entornos como Tinkercad). A continuación, se resumen las ideas clave:
- NA vs NC: NA permite la señal hasta que se presiona; NC mantiene la señal y la corta al presionar.
- IF/Else: el flujo del programa se detiene dentro del bloque y solo continúa después de
END IF. - Sensor IR: usar
IF sensor IR = YESpara detener el robot al detectar un obstáculo. - IR Remote Control 8: siempre seleccionar botón y puerto antes de asignar acciones.
- Tinkercad: emplear un bloque
Ifque evalúe el estado del botón para encender un LED.
Aplicar estos conceptos en proyectos reales te permitirá crear robots más inteligentes y seguros. ¡Experimenta, prueba diferentes configuraciones y comparte tus resultados con la comunidad!
