LOE/LOMLOE (BOE)Tecnología e Ingeniería II2º de Bachillerato7 min de lectura

Programación y robótica

La algoritmia es la base de cualquier sistema automático. Un algoritmo es una secuencia finita y ordenada de pasos para resolver un problema.

Lectura5 partesUn recorrido editorial y navegable.
Práctica12 preguntasTest y tarjetas de memoria para abrir después de leer.
Objetivo2º de BachilleratoFormato rápido para comprobar si el tema encaja.
Parte 1

Fundamentos de Programación y Estructuras de Datos

Algoritmia y Diagramas de Flujo

La algoritmia es la base de cualquier sistema automático. Un algoritmo es una secuencia finita y ordenada de pasos para resolver un problema. En ingeniería, antes de escribir una sola línea de código, es vital realizar el análisis y descomposición del problema: dividir un reto complejo en subtareas más sencillas.

Para representar estos algoritmos, utilizamos la simbología normalizada en diagramas de flujo:

  • Óvalo: Inicio o fin del programa.
  • Rectángulo: Proceso o asignación (ej. x = 5).
  • Rombo: Decisión o condición (si/no).
  • Paralelogramo: Entrada o salida de datos.

El pseudocódigo es un lenguaje intermedio entre el lenguaje humano y el de programación, que permite centrarse en la lógica sin preocuparse por la sintaxis estricta de un lenguaje específico.

Estructuras de Control de Flujo

Las estructuras de control determinan el orden en que se ejecutan las instrucciones basándose en condiciones o repeticiones.

  1. Sentencias condicionales: Permiten al robot tomar decisiones.
    • Simples (if): Ejecutan código si se cumple una condición.
    • Compuestas (if-else): Ofrecen una alternativa si la condición es falsa.
  2. Bucles e iteraciones:
    • For: Se usa cuando conocemos el número exacto de repeticiones.
    • While: Se ejecuta mientras se cumpla una condición. Es fundamental para el bucle principal de control de un robot.

La optimización de código busca reducir el uso de memoria y tiempo de procesamiento, evitando el anidamiento excesivo que dificulta la lectura y el mantenimiento.

Gestión de Datos y Variables

Las variables son espacios de memoria donde almacenamos información.

  • Tipos de datos:
    • Escalares: int (enteros), float (decimales), boolean (verdadero/falso).
    • Compuestos: Arrays o vectores, que permiten almacenar colecciones de datos del mismo tipo bajo un solo nombre.
  • Ámbito de las variables:
    • Globales: Accesibles desde cualquier parte del programa.
    • Locales: Solo existen dentro de la función donde fueron creadas, lo que ahorra memoria y evita errores de interferencia.

Parte 2

Arquitectura de Sistemas Robóticos

Componentes de un Robot

Un robot es un sistema mecatrónico que procesa información para actuar sobre el mundo físico. Sus componentes principales son:

  1. Unidad de control: El "cerebro", generalmente un microcontrolador o microprocesador que ejecuta el software.
  2. Sistema de alimentación: Baterías (LiPo, Li-ion) y reguladores que aseguran que cada componente reciba el voltaje adecuado.
  3. Chasis y Grados de Libertad (GDL): La estructura física. Los GDL indican el número de movimientos independientes que puede realizar el robot.

Sensores y Percepción del Entorno

Los sensores permiten al robot conocer su estado y el del entorno.

  • Digitales: Devuelven dos estados (0 o 1), como un final de carrera.
  • Analógicos: Devuelven un rango de valores (ej. 0V a 5V), representando magnitudes físicas continuas.
  • Transductores comunes:
    • Distancia: Ultrasonidos (HC-SR04) o infrarrojos.
    • Luz: LDR o fototransistores.
    • Sonido: Micrófonos con preamplificación.

El acondicionamiento de señal es necesario para adaptar la salida del sensor a la entrada del microcontrolador, a menudo mediante filtros para eliminar el ruido eléctrico.

Actuadores y Sistemas de Movimiento

Son los encargados de convertir la energía eléctrica en energía mecánica.

  • Motores de CC: Para rotación continua a alta velocidad. Requieren un Puente H (como el L298N) para invertir el sentido de giro y controlar la velocidad.
  • Servomotores: Permiten un control preciso de la posición angular (típicamente 0-180°).
  • Sistemas de transmisión: Engranajes, poleas y correas que adaptan el par (fuerza) y la velocidad del motor a las necesidades de la aplicación.

Parte 3

Programación de Microcontroladores

Entornos de Desarrollo (IDE)

El IDE (Integrated Development Environment) es la herramienta donde escribimos el código. Incluye:

  • Compilador: Traduce el código (C++, Python) a lenguaje máquina.
  • Cargador: Transfiere el firmware al microcontrolador vía USB.
  • Monitor Serie: Una herramienta vital para la depuración, ya que permite ver en tiempo real qué está pensando el robot enviando mensajes de texto al ordenador.

Entradas y Salidas (I/O)

Los pines del microcontrolador se configuran según su uso:

  • Digital I/O: pinMode(pin, INPUT/OUTPUT).
  • Analog Input: Uso del convertidor Analógico-Digital (ADC) para leer sensores.
  • PWM (Modulación por ancho de pulsos): Técnica para simular una señal analógica usando una señal digital, fundamental para variar la velocidad de los motores o la intensidad de un LED.

Interrupciones y Tiempo Real

En robótica, ciertos eventos (como un choque) no pueden esperar a que el bucle loop() termine.

  • Interrupciones externas: Pausan el programa principal instantáneamente para ejecutar una función crítica (ISR).
  • Funciones no bloqueantes: Se prefiere el uso de temporizadores (como millis() en Arduino) en lugar de retardos (delay()), permitiendo que el robot realice múltiples tareas simultáneamente (multitarea cooperativa).

Parte 4

Sistemas de Control y Realimentación

Lógica de Control en Robótica

  • Lazo Abierto: El sistema ejecuta una acción sin comprobar el resultado (ej. mover un motor 5 segundos). Es sencillo pero impreciso.
  • Lazo Cerrado: El sistema mide la salida y la compara con la consigna (valor deseado). La diferencia entre ambos es el error.
  • Encoders: Sensores que miden las rotaciones del motor, proporcionando la realimentación necesaria para conocer la posición o velocidad real.

Control Proporcional (P) y PID

Para que un robot alcance su objetivo suavemente, usamos el control PID:

  1. Proporcional (P): La fuerza de corrección es proporcional al error. Si el error es grande, el motor va rápido; si es pequeño, frena.
  2. Integral (I): Elimina el error residual acumulado en el tiempo.
  3. Derivativo (D): Predice el error futuro y amortigua el movimiento para evitar oscilaciones.

Navegación y Autonomía

La autonomía se logra mediante algoritmos de toma de decisiones:

  • Seguimiento de líneas: Basado en sensores infrarrojos y control diferencial de motores.
  • Evasión de obstáculos: Uso de sensores de distancia para recalcular rutas.
  • Mapeo: Técnicas avanzadas donde el robot crea una representación de su entorno para localizarse (SLAM básico).

Parte 5

Comunicaciones y Robótica Colaborativa

Protocolos de Comunicación

Los dispositivos electrónicos deben hablar el mismo "idioma":

  • UART (Serie): Comunicación punto a punto entre dos dispositivos (ej. PC y robot).
  • I2C: Protocolo maestro-esclavo que usa solo dos cables para conectar decenas de sensores.
  • SPI: Muy rápido, ideal para pantallas o tarjetas de memoria.

Conectividad Inalámbrica e IoT

El Internet de las Cosas (IoT) permite que los robots se integren en redes globales.

  • Bluetooth: Ideal para control remoto de corto alcance mediante apps móviles.
  • Wi-Fi: Permite enviar telemetría (datos de sensores) a la nube para su análisis o recibir órdenes desde cualquier parte del mundo.

Inteligencia Artificial en Robótica

La IA permite a los robots manejar la incertidumbre.

  • Visión Artificial: Procesamiento de imágenes para detectar colores, rostros o códigos QR.
  • Reconocimiento de patrones: Algoritmos que permiten al robot aprender de la experiencia.
  • Ética y Seguridad: Es imperativo diseñar sistemas seguros (fail-safe) que no dañen a los humanos en entornos colaborativos (cobots), respetando la privacidad en el tratamiento de datos captados por cámaras.
ConceptoDescripción Corta
MicrocontroladorCircuito integrado programable que gobierna el robot.
PWMTécnica para controlar potencia mediante pulsos digitales.
Lazo CerradoSistema que usa sensores para corregir su propio error.
FirmwareSoftware específico que interactúa directamente con el hardware.
Después de leer

Pasa a la práctica con dos bloques bien visibles

Cuando hayas leído los apuntes, abre el test para comprobar lo que has entendido o las flashcards para memorizar las ideas importantes. Los dos se abren en una ventana propia.

Siguiente paso

¿Quieres ir más allá
del artículo?

Encuentra el mismo tema en Houki con el resto de preguntas, la repetición espaciada, las correcciones completas y un progreso seguido en el tiempo.