Microcontroladores y robots
En la feria de ciencias de tu liceo, el equipo de Valentina presenta una barrera de estacionamiento que sube sola cuando llega un auto. No lleva computadora, ni pantalla, ni teclado. ¿Qué la hace "pensar"? Una placa pequeña que cabe en la mano. Al final de la página vas a poder explicar cómo lo logra.
El microcontrolador: una computadora diminuta
Una placa como la micro:bit de Ceibal (o Arduino) lleva un microcontrolador y los conectores para usarlo fácilmente. Se programa desde una computadora, pero después trabaja sola.
Explicá qué es un microcontrolador (una computadora completa pero pequeña, dentro de una placa) y dos diferencias con una computadora de escritorio: qué puede hacer cada…
Explicá qué es un microcontrolador (una computadora completa pero pequeña, dentro de una placa) y dos diferencias con una computadora de escritorio: qué puede hacer cada una y para qué se usa.
Explicá cómo llega un programa a la placa: dónde se escribe, qué ocurre al «subirlo» por el cable y por qué después la placa funciona sola, sin computadora, ejecutando…
Explicá cómo llega un programa a la placa: dónde se escribe, qué ocurre al «subirlo» por el cable y por qué después la placa funciona sola, sin computadora, ejecutando el programa en bucle.
Tu equipo debe seleccionar la plataforma de hardware para construir un prototipo de domótica que controle persianas mediante servomotores, detecte fugas de gas y…
Tu equipo debe seleccionar la plataforma de hardware para construir un prototipo de domótica que controle persianas mediante servomotores, detecte fugas de gas y presencia en tres habitaciones distintas, y muestre el estado en una pantalla LCD.
- a) Compará la idoneidad de usar una placa compacta «todo en uno» (con sensores y pantalla de LEDs integrados en el propio circuito impreso) frente a una placa de desarrollo modular con pines de expansión y placa de prototipado (protoboard). Analizá aspectos como la distribución espacial de los sensores por la casa y el cableado de actuadores de potencia.
- b) Si durante el montaje un alumno comete un error y quema el sensor de temperatura por una sobretensión o inversión de polaridad, analizá la repercusión técnica y de costo en la placa integrada frente a la modular.
- c) Justificá razonadamente cuál de las dos plataformas elegirías para este proyecto final de robótica domótica y para cuál de ellas reservarías una sesión inicial de dos horas de introducción a la programación.
Pines: dónde se conecta todo
Además de los pines de señal, la placa tiene pines de alimentación (5 V y 3,3 V) y varios GND. Y el conector USB sirve para dos cosas: subir el programa desde la computadora y alimentar la placa mientras está conectada.
La figura muestra una placa microcontroladora con sus grupos de pines rotulados, salvo uno. El pin tapado es la referencia común a la que vuelven todos los circuitos que…
La figura muestra una placa microcontroladora con sus grupos de pines rotulados, salvo uno.
El pin tapado es la referencia común a la que vuelven todos los circuitos que conectes a la placa. Nombralo y explicá para qué sirve, qué diferencia hay entre los pines digitales (todo o nada) y los analógicos (leen valores continuos) y para qué se usa el conector USB.
Clasificá estos elementos según se conecten a un pin de entrada o a un pin de salida de la placa, y justificá uno de cada tipo: un pulsador, un LED, una LDR, un zumbador…
Clasificá estos elementos según se conecten a un pin de entrada o a un pin de salida de la placa, y justificá uno de cada tipo: un pulsador, un LED, una LDR, un zumbador y un potenciómetro.
Decí si son verdaderas o falsas estas afirmaciones y justificá cada respuesta: (a) la placa ejecuta el programa tal cual lo escribimos, sin traducirlo antes; (b) los…
Decí si son verdaderas o falsas estas afirmaciones y justificá cada respuesta: (a) la placa ejecuta el programa tal cual lo escribimos, sin traducirlo antes; (b) los pines de la placa aguantan cualquier corriente, así que el LED puede ir sin resistencia; (c) un servo puede colocarse en un ángulo concreto ordenado por el programa; (d) la placa recuerda el último programa aunque se desconecte de la corriente.
Sensores y actuadores
| Sensor | Qué mide | Proyecto |
|---|---|---|
| Ultrasónico | distancia | barrera de estacionamiento |
| LDR | luz | lámpara que se enciende al oscurecer |
| De temperatura | temperatura | ventilador automático |
| Infrarrojo de línea | claro u oscuro en el suelo | robot seguidor de línea |
Entre los actuadores, el LED da luz y el zumbador da sonido. Un potenciómetro, en cambio, es una entrada: vos girás la perilla y la placa lee el valor.
Cómo elegir la placa
Antes de comprar o armar, contá lo que necesita tu proyecto: cuántos sensores, cuántos actuadores y cuántos pines ocupa cada uno (un sensor ultrasónico usa 2, un servo 1, un LED 1).
-
Una placa compacta «todo en uno» (con sensores y pantalla ya soldados) es práctica para un proyecto pequeño y concentrado en un solo lugar, pero no podés añadir más ni separar los sensores.
-
Una placa modular con pines de expansión y placa de prototipado (protoboard) permite conectar tantos sensores y actuadores como pines tenga, y alejarlos con cables: por ejemplo, un sensor de gas en cada habitación de un apartamento.
-
Los actuadores de potencia (persianas con servos grandes, motores) no van directo a los pines: llevan su controlador y su propia fuente.
Regla práctica: sumá los pines que necesitás, agregá un margen para ampliar el proyecto y elegí la placa que los tenga y que permita colocar cada sensor donde hace falta.
La figura muestra un robot móvil visto desde arriba, con sus elementos rotulados y su «cerebro» tapado con un signo de interrogación. Nombrá la pieza tapada, explicá qué…
La figura muestra un robot móvil visto desde arriba, con sus elementos rotulados y su «cerebro» tapado con un signo de interrogación.
Nombrá la pieza tapada, explicá qué información recibe de los sensores y qué órdenes envía a los actuadores, y clasificá los elementos rotulados (ruedas con motor, sensor de ultrasonidos, zumbador, LED, batería) como entrada, salida o fuente de energía.
Indicá qué mide cada sensor que podés conectar a la placa y un proyecto en el que lo usarías: sensor de ultrasonidos (distancia), LDR (luz), sensor de temperatura y…
Indicá qué mide cada sensor que podés conectar a la placa y un proyecto en el que lo usarías: sensor de ultrasonidos (distancia), LDR (luz), sensor de temperatura y sensor infrarrojo de línea (distingue claro de oscuro en el piso).
Indicá qué hace cada actuador conectable a la placa y una diferencia clave entre ellos: un LED, un zumbador, un servo (gira hasta la posición que le ordenás) y un motor…
Indicá qué hace cada actuador conectable a la placa y una diferencia clave entre ellos: un LED, un zumbador, un servo (gira hasta la posición que le ordenás) y un motor de corriente continua (gira sin parar a más o menos velocidad).
Para mover la barrera de un estacionamiento podés usar un servo o un motor de corriente continua. Compará ambos: cuál llega a una posición exacta y se queda quieto, cuál…
Para mover la barrera de un estacionamiento podés usar un servo o un motor de corriente continua. Compará ambos: cuál llega a una posición exacta y se queda quieto, cuál gira sin parar, cuál necesita menos electrónica extra en este proyecto y por qué.
Los motores de un robot no se alimentan de un pin de la placa, sino de la batería a través de una placa «controladora de motores». Explicá por qué (los pines dan muy…
Los motores de un robot no se alimentan de un pin de la placa, sino de la batería a través de una placa «controladora de motores». Explicá por qué (los pines dan muy poca corriente y el motor pediría mucha más), qué papel cumple la placa controladora y qué relación tiene esto con el relé de los circuitos electrónicos.
Programar con condiciones: leer, comparar, actuar
El programa se escribe en una computadora (en bloques con MakeCode o en texto), se compila (se traduce a lenguaje de máquina) y se sube por el cable USB a la memoria de la placa. Desde ahí, la placa lo conserva aunque se apague y lo ejecuta sola, en ciclo.
Una entrada que dispara una secuencia
Un semáforo peatonal añade una entrada: el botón de los peatones. El programa no cambia las luces en cuanto se pulsa, sino que sigue un diagrama de flujo con tiempos.
El verde de los autos no se corta al instante de pulsar, porque un conductor que va a velocidad necesita ver primero el ámbar para frenar con seguridad. Por eso entre la entrada (el botón) y la salida (el rojo) hay una secuencia con tiempos. Además, el aviso de cierre (luz que parpadea) le dice al peatón que ya no empiece a cruzar. En total, tras pulsar, el cruce dura $2 + 5 = 7\ \text{s}$ más el aviso.
Querés que un LED se encienda cuando la luz de la habitación baje de cierto nivel. Explicá qué pin usás para leer la LDR (uno analógico), qué significa fijar un «umbral»…
Querés que un LED se encienda cuando la luz de la habitación baje de cierto nivel. Explicá qué pin usás para leer la LDR (uno analógico), qué significa fijar un «umbral» en el programa y escribí en pseudocódigo las tres líneas clave: leer, comparar y actuar.
La figura muestra el diagrama de flujo del control de una barrera de estacionamiento con un sensor de ultrasonidos, pero la decisión está tapada. Escribí la condición…
La figura muestra el diagrama de flujo del control de una barrera de estacionamiento con un sensor de ultrasonidos, pero la decisión está tapada.
Escribí la condición que debe comprobar la placa (si la distancia medida es menor que cierto valor, hay un auto), explicá qué hace el bucle mientras no llega nadie y qué ocurriría si la barrera bajara sin esperar unos segundos.
Diseñá un semáforo con la placa: decidí cuántos pines de salida necesitás y para qué, escribí la secuencia de estados con sus tiempos (verde $4\ \text{s}$, ámbar…
Diseñá un semáforo con la placa: decidí cuántos pines de salida necesitás y para qué, escribí la secuencia de estados con sus tiempos (verde $4\ \text{s}$, ámbar $1\ \text{s}$, rojo $4\ \text{s}$) y explicá por qué el programa se escribe como un bucle que no termina nunca.
Tu programa debería encender un LED al pulsar un botón, pero ocurre al revés: está encendido y se apaga al pulsar. Explicá dos causas posibles (la lógica del programa…
Tu programa debería encender un LED al pulsar un botón, pero ocurre al revés: está encendido y se apaga al pulsar. Explicá dos causas posibles (la lógica del programa está invertida o el pulsador está cableado al contrario, «activo a nivel bajo») y cómo comprobarías cada una.
Un grupo de alumnos programó un semáforo peatonal con pulsador con la siguiente lógica: en cuanto el peatón presiona el botón, el semáforo de vehículos pasa de verde a…
Un grupo de alumnos programó un semáforo peatonal con pulsador con la siguiente lógica: en cuanto el peatón presiona el botón, el semáforo de vehículos pasa de verde a rojo de forma instantánea y el de peatones se pone en verde durante 15 s. Tras probarlo en una maqueta vial, observan frenazos bruscos de los vehículos y atascos continuos si varios peatones pulsan repetidamente el botón.
- a) Justificá dos fallos de seguridad y fluidez vial que presenta este programa inicial.
- b) Diseñá el diagrama de flujo o la secuencia temporal corregida (indicando entradas, salidas y tiempos recomendados) para resolver ambos problemas, incorporando una fase de transición (ámbar) y garantizando un tiempo mínimo de verde continuo para autos antes de atender otra llamada peatonal.
- c) Si querés añadir un avisador acústico intermitente para personas con discapacidad visual durante los últimos 3 s del verde peatonal, ¿cómo tenés que modificar la temporización de esa salida?
Sensor ultrasónico
Puede fallar con objetos blandos (telas, espuma) que absorben el sonido, y con superficies inclinadas que desvían el eco en otra dirección, de modo que nunca regresa al sensor.
El robot esquiva-obstáculos
Con este sensor montado al frente, el robot sigue un comportamiento sencillo que se repite en el ciclo:
-
Mide la distancia al frente.
-
Si está despejado (distancia mayor que el umbral, por ejemplo $20\ \text{cm}$), los motores avanzan.
-
Si detecta algo cerca (distancia menor que el umbral): para, gira un poco y vuelve a medir. Si sigue bloqueado, gira otra vez; si ya hay paso, avanza.
El paso de «volver a comprobar» es importante: un solo giro no garantiza que el camino quede libre. Con un solo sensor al frente, el robot no ve lo que hay a los lados ni atrás: puede rozar una pared al girar o quedarse dando vueltas en una esquina. Un segundo sensor (o girar el sensor con un servo) le da más información.
El sensor de ultrasonidos mide distancias como un murciélago. Explicá el principio (emite un pulso de sonido y mide cuánto tarda el eco en volver), por qué tiene dos…
El sensor de ultrasonidos mide distancias como un murciélago. Explicá el principio (emite un pulso de sonido y mide cuánto tarda el eco en volver), por qué tiene dos «ojos» (uno emite y otro escucha) y dos situaciones en las que puede fallar: objetos blandos que absorben el sonido y superficies inclinadas que desvían el eco.
Describí el comportamiento de un robot esquiva-obstáculos a alto nivel: qué mide el sensor frontal, qué hace el robot cuando todo está despejado y qué secuencia ejecuta…
Describí el comportamiento de un robot esquiva-obstáculos a alto nivel: qué mide el sensor frontal, qué hace el robot cuando todo está despejado y qué secuencia ejecuta al detectar algo cerca (parar, girar, comprobar de nuevo). ¿Qué pasaría si solo tuviera el sensor mirando al frente?
Sensor infrarrojo y seguidor de línea
Para decidir si el sensor "ve" blanco o negro, la placa necesita un umbral. Ese umbral no se adivina: se obtiene calibrando, es decir, midiendo el sensor en las condiciones reales del circuito.
Con dos sensores, la separación entre ellos también importa. La línea mide $2\ \text{cm}$ de ancho: si los sensores están más cerca que eso (por ejemplo $1\ \text{cm}$), los dos quedan sobre el negro a la vez y el robot cree que llegó a una marca. Si están muy separados (por ejemplo $6\ \text{cm}$), los dos ven blanco incluso cuando la línea se está yendo de un lado, y el robot detecta la desviación demasiado tarde. Lo mejor es una separación un poco mayor que el ancho de la línea, como los $3\ \text{cm}$ de la figura.
Estás diseñando la calibración y el montaje de un robot sigue-líneas que recorre un circuito blanco con una línea negra de 2 cm de ancho. El robot dispone de dos…
Estás diseñando la calibración y el montaje de un robot sigue-líneas que recorre un circuito blanco con una línea negra de 2 cm de ancho. El robot dispone de dos sensores infrarrojos de reflectancia ($S_I$ y $S_D$) montados en el frente y tracción diferencial con dos motores independientes.
- a) Predecí qué comportamiento erróneo tendrá el robot si montás los sensores separados solo 1 cm entre sí (distancia menor que el ancho de la línea). ¿Y si los separás 6 cm? Justificá cuál debe ser la separación geométrica óptima.
- b) Diseñá la tabla de decisiones del robot indicando el estado de cada motor (marcha adelante, parada o marcha atrás) para cada una de las 4 combinaciones posibles de lectura (Blanco/Negro).
- c) Al llegar a una curva cerrada a la izquierda, si el robot solo apaga el motor izquierdo y mantiene el derecho adelante, tiende a salirse de la línea por inercia. Justificá qué cambio tenés que hacer en el control de los motores para lograr un giro mucho más cerrado sobre su propio eje.
Diseñar y diagnosticar un robot
Frecuencia de muestreo
La frecuencia de muestreo es cada cuánto tiempo la placa lee un sensor. Se elige según qué tan rápido cambia lo que mides: si la leés demasiado seguido, llenás la memoria de datos repetidos y gastás energía; si la leés muy de vez en cuando, te perdés los cambios importantes.
| Variable | Cambia en... | Muestreo razonable |
|---|---|---|
| Temperatura del aire | minutos u horas | cada 1 a 10 min |
| Humedad del suelo | horas | cada 10 a 30 min |
| Luz del día | minutos | cada 1 a 5 min |
| Distancia de un robot en marcha | décimas de segundo | decenas de veces por segundo |
Medir la temperatura cada $10\ \text{ms}$ sería un error: el aire no cambia en ese tiempo y recibirías cientos de lecturas iguales. Medirla una vez al día tampoco sirve: no notarías una ola de calor a mediodía a tiempo para abrir la ventilación.
En un estacionamiento de 10 lugares controlado por barrera, un estudiante propone este algoritmo: «El sensor de entrada suma 1 a los autos dentro al detectar un vehículo…
En un estacionamiento de 10 lugares controlado por barrera, un estudiante propone este algoritmo: «El sensor de entrada suma 1 a los autos dentro al detectar un vehículo y abre la barrera; el sensor de salida resta 1 al salir; si los autos dentro llegan a 10, se enciende la luz de COMPLETO y la barrera no se abre». Durante la primera semana de pruebas, el sistema marca COMPLETO habiendo lugares vacíos, y a veces la barrera golpea el techo de los autos.
- a) Analizá e identificá dos situaciones físicas reales por las que el contador se descuadra con el paso de las horas (pistas: vehículos que se arrepienten tras pisar el sensor, paso de peatones, falsas detecciones).
- b) Diseñá la lógica de control completa (especificando condiciones con los sensores de entrada, barrera y salida) para que el conteo sea fiable y no dependa de una sola lectura instantánea.
- c) ¿Qué condición de seguridad debe tener prioridad absoluta en la programación para garantizar que la barrera jamás baje mientras haya un obstáculo o vehículo cruzando?
Volvé al principio: la barrera de Valentina funciona porque un sensor ultrasónico mide la distancia, la placa compara con un umbral, y si hay un auto ordena al servo subir la barrera; todo en un ciclo que no termina nunca.