Teach Lecciones con laboratorios remotos

Lección Teach

Programación visual con Arduino real (3/4): entradas y decisiones

El alumnado usa bloques visuales para leer una entrada, tomar una decisión con un umbral y verificar el comportamiento del LED en una placa Arduino real.

  • Arduino Board (visual)
  • 55 min
  • 3 ESO
  • es
  • Tecnología y Digitalización
Arduino Board (visual)
Arduino Board (visual)

Resultados de aprendizaje

  • Leer una entrada y comprobar que cambia antes de decidir una salida.

  • Usar una condición si / si no con una comparación y un umbral.

  • Diferenciar entrada digital y entrada analógica con un ejemplo real.

Vista previa de la actividad del estudiante

Contenido de la actividad

Solo vista previa. En una sesión de clase, los estudiantes pueden completar respuestas y entregar su trabajo al docente.

1

Entrada, umbral y decisión

10 min

Una entrada es información que la placa lee del exterior. Hay dos tipos:

- Entrada digital: solo dos estados, como un botón pulsado / no pulsado
(o HIGH / LOW).
- Entrada analógica: muchos valores posibles. En una placa Arduino Uno, una
lectura analógica da un número de 0 a 1023 (por ejemplo, la posición de un
potenciómetro, que es una rueda que gira).

Un sensor es un componente que produce una de esas lecturas. Un umbral es
el valor de corte que usas para convertir una lectura analógica (muchos números)
en una decisión de sí/no. Ejemplo: "si la lectura es mayor o igual que 500,
enciende el LED; si no, apágalo". 500 es el umbral.

Recuerda la estructura del editor: Arduino configuración se ejecuta una vez
al empezar; Arduino bucle infinito se repite sin parar. La lectura de entrada
y la decisión van en el bucle infinito para que la placa revise el valor muchas
veces.

¿Qué significa usar un umbral de 500 en una lectura analógica que va de 0 a 1023?

Escribe una diferencia entre una entrada digital y una entrada analógica.

2

Leer y comprobar la entrada

16 min

Antes de decidir, comprueba que puedes leer la entrada y que cambia. Esta
comprobación es clave: si la entrada no cambia, ninguna decisión funcionará.

  1. Abre arduino-visual-board.

  2. Camino principal (analógico): en Entrada/Salida (en inglés *Input/Output*), usa Leer pin analógico y empieza por el pin A0.

  3. Para *ver* la lectura puedes, de forma opcional, usar Comunicaciones (en inglés *Comms*): añade Configuración serial 9600 bps y un bloque Escribir con la lectura. Si el laboratorio no muestra la salida serie, no pasa nada: en el paso siguiente usarás el LED como señal.

  4. Verificar / compilar y Enviar al dispositivo.

  5. Cambia la entrada desde los controles del laboratorio (gira el potenciómetro / mueve el control de entrada) y comprueba que la lectura cambia.

  6. Si la lectura no cambia al mover la entrada, prueba otro pin analógico (A0 a A5) hasta que cambie. Así confirmas qué pin lee tu entrada.

Rellena la tabla con una fila por cada posición de entrada que pruebes. Usa
al menos tres filas: mínimo, medio y máximo; deja las demás vacías. En cada fila
anota la posición de la entrada, el pin usado, la lectura o efecto visible, y si
cambió al mover la entrada.

Posición / estado de la entrada Pin usado Lectura o efecto observado ¿Cambió al mover la entrada?
3

Tomar una decisión

22 min

Ahora añade una condición si / si no (categoría *Lógica*; en inglés *Logic*) que use tu lectura y
un umbral para encender o apagar el LED integrado.

  1. Añade un bloque si / si no.

  2. En la condición, compara tu lectura analógica confirmada con un umbral: por ejemplo, Leer pin analógico A0 500. Si confirmaste otro pin analógico, usa ese pin en lugar de A0.

  3. Dentro de hacer (si se cumple), pon Establecer LED integrado en HIGH.

  4. Dentro de si no, pon Establecer LED integrado en LOW.

  5. Añade Esperar 100 milisegundos al final para que la lectura se repita de forma estable.

  6. Verificar / compilar, Enviar al dispositivo y prueba moviendo la entrada.

  7. Calibra: si el LED no cambia donde quieres, ajusta el umbral (sube o baja el 500) y repite hasta que el LED se encienda y apague donde esperas.

Tu programa debería quedar parecido a esto:

Diagrama visual de bloques: dentro de Arduino bucle infinito hay una condición si Leer pin analógico A0 es mayor o igual que 500; en hacer, Establecer LED integrado en HIGH; en si no, Establecer LED integrado en LOW; después, Esperar 100 milisegundos.

Diagrama de referencia de la decisión. La lectura de A0 se compara con el umbral, y el LED cambia según la rama hacer o si no.

Arduino bucle infinito:
   si  [Leer pin analógico [A0]]  [≥]  [500]
   hacer:
      [Establecer LED integrado] [HIGH]
   si no:
      [Establecer LED integrado] [LOW]
   [Esperar] 100 milisegundos

Esta referencia usa A0 porque es el punto de partida habitual. Si tu
comprobación mostró otro pin analógico, conserva la misma forma del programa pero
cambia A0 por el pin que confirmaste.

Explica tu condición completa: qué entrada lees, con qué umbral (o estado) la comparas y qué salida cambia.

Describe dos pruebas: una en la que el LED se enciende y otra en la que se apaga. Incluye la posición/estado de la entrada y, si la calibraste, el umbral final.

4

Si no cambia, depura

7 min

Si el LED no cambia aunque muevas la entrada, escribe tres comprobaciones ordenadas que harías antes de pedir ayuda (piensa en: pin de lectura, valor del umbral, y si subiste/enviaste el programa).