Microcontroladores y robots
En la feria de ciencias y tecnología de tu secundaria, el equipo de Ximena presenta una barrera de estacionamiento que sube sola cuando llega un carro. 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 Arduino lleva un microcontrolador y los conectores para usarlo fácilmente. Se programa desde una computadora, pero después trabaja sola.
Explica 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…
Explica 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 uno y para qué se usa.
Explica 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…
Explica 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) Compara 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). Analiza aspectos como la distribución espacial de los sensores por la vivienda 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, analiza la repercusión técnica y de coste en la placa integrada frente a la modular.
- c) Justifica 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. Nómbralo y explica 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.
Clasifica estos elementos según se conecten a un pin de entrada o a un pin de salida de la placa, y justifica uno de cada tipo: un pulsador, un LED, una LDR, un zumbador…
Clasifica estos elementos según se conecten a un pin de entrada o a un pin de salida de la placa, y justifica uno de cada tipo: un pulsador, un LED, una LDR, un zumbador y un potenciómetro.
Di si son verdaderas o falsas estas afirmaciones y justifica cada respuesta: (a) la placa ejecuta el programa tal cual lo escribimos, sin traducirlo antes; (b) los pines…
Di si son verdaderas o falsas estas afirmaciones y justifica 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: tú giras la perilla y la placa lee el valor.
Cómo elegir la placa
Antes de comprar o armar, cuenta 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 puedes añadir más ni separar los sensores.
-
Una placa modular con pines de expansión y tablilla de pruebas (protoboard) permite conectar tantos sensores y actuadores como pines tenga, y alejarlos con cables: por ejemplo, un sensor de gas en cada recámara de un departamento.
-
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: suma los pines que necesitas, agrega un margen para ampliar el proyecto y elige 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. Nombra la pieza tapada (la placa microcontroladora), explica qué…
La figura muestra un robot móvil visto desde arriba, con sus elementos rotulados y su «cerebro» tapado.
Nombra la pieza tapada (la placa microcontroladora), explica qué información recibe de los sensores y qué órdenes envía a los actuadores, y clasifica los elementos rotulados (ruedas con motor, sensor ultrasónico, zumbador, LED, batería) como entrada, salida o fuente de energía.
Indica qué mide cada sensor que puedes conectar a la placa y un proyecto en el que lo usarías: sensor de ultrasonidos (distancia), LDR (luz), sensor de temperatura y…
Indica qué mide cada sensor que puedes 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 suelo).
Indica 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 ordenas) y un motor…
Indica 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 ordenas) y un motor de corriente continua (gira sin parar a más o menos velocidad).
Para mover la barrera de un estacionamiento puedes usar un servo o un motor de corriente continua. Compara ambos: cuál llega a una posición exacta y se queda quieto,…
Para mover la barrera de un estacionamiento puedes usar un servo o un motor de corriente continua. Compara 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». Explica 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». Explica por qué (los pines dan muy poca corriente y el motor pediría mucha más), qué papel hace 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, 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.
Quieres que un LED se encienda cuando la luz de la habitación baje de cierto nivel. Explica qué pin usas para leer la LDR (uno analógico), qué significa fijar un…
Quieres que un LED se encienda cuando la luz de la habitación baje de cierto nivel. Explica qué pin usas para leer la LDR (uno analógico), qué significa fijar un «umbral» en el programa y escribe 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. Escribe 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.
Escribe la condición que debe comprobar la placa (si la distancia medida es menor que cierto valor, hay un carro), explica qué hace el ciclo mientras no llega nadie y qué ocurriría si la barrera bajara sin esperar unos segundos.
Diseña un semáforo con la placa: decide cuántos pines de salida necesitas y para qué, escribe la secuencia de estados con sus tiempos (verde $4\ \text{s}$, ámbar…
Diseña un semáforo con la placa: decide cuántos pines de salida necesitas y para qué, escribe la secuencia de estados con sus tiempos (verde $4\ \text{s}$, ámbar $1\ \text{s}$, rojo $4\ \text{s}$) y explica 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. Explica 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. Explica 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.
Diseña un semáforo peatonal completo con la placa: entradas (pulsador), salidas (dos luces de auto, dos de peatón) y el diagrama de flujo descrito con tiempos: al…
Diseña un semáforo peatonal completo con la placa: entradas (pulsador), salidas (dos luces de auto, dos de peatón) y el diagrama de flujo descrito con tiempos: al pulsar, ámbar $2\ \text{s}$, rojo y verde peatonal $5\ \text{s}$, aviso de cierre y vuelta a verde. Explica por qué el verde de autos no se corta al instante de pulsar.
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. Explica 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. Explica 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.
Describe 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…
Describe 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?
Para controlar una barrera de acceso con un pulsador de parada de emergencia, un alumno programa la siguiente secuencia: En las pruebas, al accionar la seta de…
Para controlar una barrera de acceso con un pulsador de parada de emergencia, un alumno programa la siguiente secuencia:
abrir_barrera();
esperar(5000); // pausa fija de 5 s con delay
cerrar_barrera();
En las pruebas, al accionar la seta de emergencia durante la pausa de 5 s o mientras la barrera desciende, el sistema no responde y continúa su ciclo, provocando un impacto.
- a) Explica a nivel de ejecución del microcontrolador por qué la instrucción de espera fija (
delay) bloquea la capacidad de respuesta ante la emergencia. - b) Diseña la estructura algorítmica (en pseudocódigo o diagrama) que permita mantener la barrera abierta 5 s pero comprobando continuamente el pulsador de parada para detener el motor de forma instantánea.
- c) Si además necesitas que un zumbador emita pitidos intermitentes de 0.5 s mientras la barrera se mueve, justifica por qué este requisito resulta inviable con pausas bloqueantes y cómo se soluciona.
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 anchura. 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 anchura. El robot dispone de dos sensores infrarrojos de reflectancia ($S_I$ y $S_D$) montados en el frontal y tracción diferencial con dos motores independientes.
- a) Predice qué comportamiento erróneo tendrá el robot si montas los sensores separados solo 1 cm entre sí (distancia menor que el ancho de la línea). ¿Y si los separas 6 cm? Justifica cuál debe ser la separación geométrica óptima.
- b) Diseña la tabla de decisiones del robot indicando el estado de cada motor (marcha adelante, paro 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. Justifica qué cambio debes 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 lees demasiado seguido, llenas la memoria de datos repetidos y gastas energía; si la lees muy de vez en cuando, te pierdes 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 ni a tiempo para abrir la ventilación.
Agrega a la barrera del estacionamiento un contador de lugares: un sensor a la entrada y otro a la salida, una variable libres que empieza en $10$ y una luz de «lleno».…
Agrega a la barrera del estacionamiento un contador de lugares: un sensor a la entrada y otro a la salida, una variable libres que empieza en $10$ y una luz de «lleno». Describe el programa (qué suma y qué resta), qué hace la barrera cuando libres llega a $0$ y qué falla puede descuadrar la cuenta con el tiempo.
Te encargan diseñar el sistema de control y registro de una estación ambiental para un invernadero escolar mediante una placa programable. a) Selecciona tres sensores…
Te encargan diseñar el sistema de control y registro de una estación ambiental para un invernadero escolar mediante una placa programable.
- a) Selecciona tres sensores adecuados para monitorizar las condiciones de las plantas, clasifícalos en analógicos o digitales y justifica la frecuencia de muestreo idónea para cada uno (argumenta por qué medir la temperatura cada 10 ms sería un error técnico y por qué medirla una vez al día resultaría insuficiente).
- b) Escribe la condición lógica booleana que active simultáneamente la ventilación y el riego automático si la temperatura supera los 32 °C y la humedad del suelo cae por debajo del 30 %.
- c) Al revisar los datos del registro gráfico diario, observas que a las 13:00 la lectura de luminosidad es máxima, pero la sonda de temperatura marca repentinamente 0 °C durante 15 minutos antes de volver a 28 °C. Interpreta esta anomalía justificando si se debe a un fenómeno meteorológico o a un fallo instrumental (cableado/sensor).
Un robot móvil programado con Arduino funciona perfectamente mientras está conectado al ordenador mediante el cable USB (las ruedas giran al aire y el programa ejecuta…
Un robot móvil programado con Arduino funciona perfectamente mientras está conectado al ordenador mediante el cable USB (las ruedas giran al aire y el programa ejecuta toda la secuencia). Sin embargo, al desconectar el USB, alimentarlo con un portapilas de 4 pilas AA (6 V) conectado tanto a la placa como a los motores, y ponerlo en el suelo, ocurre lo siguiente: en el instante exacto en que los motores intentan arrancar para vencer el rozamiento, el LED de encendido de la placa parpadea levemente, el robot da una pequeña sacudida y el programa se reinicia desde la primera línea en un bucle continuo.
- a) Interpreta y justifica la causa físico-eléctrica de este fallo: ¿qué ocurre con la demanda de corriente de los motores en el momento del arranque y cómo repercute en la tensión que recibe el microcontrolador?
- b) ¿Por qué este problema no se manifestó mientras el robot realizaba las pruebas conectado por USB con las ruedas al aire?
- c) Propón y justifica dos modificaciones técnicas en el circuito de alimentación para resolver este problema definitivamente y garantizar la estabilidad del microcontrolador.
Debes diseñar el sistema de control autónomo para un robot mensajero de biblioteca que transporta libros entre dos puestos (Mesa 1 y Mesa 2) guiándose por una línea en…
Debes diseñar el sistema de control autónomo para un robot mensajero de biblioteca que transporta libros entre dos puestos (Mesa 1 y Mesa 2) guiándose por una línea en el suelo. El ciclo completo consiste en: esperar la orden de salida mediante un pulsador, seguir la línea hasta encontrar una marca transversal de parada, detenerse y avisar con un zumbador durante 3 s, esperar a que el usuario retire el libro (detectado por un sensor de presencia o peso), y regresar a la Mesa 1 realizando un giro de 180° para quedar listo para el siguiente servicio.
- a) Identifica los sensores y actuadores requeridos, clasificando cada uno según sea de entrada o de salida.
- b) Diseña la máquina de estados o diagrama de flujo del sistema, indicando con precisión los diferentes estados del robot y qué condición desencadena la transición al estado siguiente.
- c) Añade al diseño un protocolo de seguridad reactiva: ¿qué sensor debes incorporar y cómo debe actuar el bucle principal si un alumno se cruza a menos de 20 cm del robot en movimiento?
Vuelve al principio: la barrera de Ximena funciona porque un sensor ultrasónico mide la distancia, la placa compara con un umbral, y si hay un carro ordena al servo subir la barrera; todo en un ciclo que no termina nunca.