Nivel de burbuja

Nivel de burbuja

by Citilab Edutec

Boards
Boards:

Citilab ED1

Component/s
Components:

None
Esta actividad forma parte del Curso del Citilab. ¡Échale un vistazo!

Nivel de burbuja

Placas Placas: Citilab ED1, micro\:bit, micro\:STEAMakers, M5Stack-Core y otras con acelerómetro y pantalla de matriz de LEDs.

Acelerómetro

  • Otro sensor que incorpora la placa es el acelerómetro. Con este sensor podemos saber la inclinación que tiene la placa en cualquiera de los tres ejes (X, Y y Z).
  • El rango de valores en estos ejes va de -100 a 100, siendo 0 en los ejes X e Y si la placa está completamente plana respecto al suelo.
X Y
Inclinación X Inclinación Y

Burbuja simple

Reto 1: prueba a hacer lo mismo pero con el eje Y, es decir, dibujando un punto hacia el lado donde esté inclinada la placa

Reto 1

Solución al reto 1

Solución reto 1

Mapeo de valores

  • Si ahora quisiéramos encender cualquier punto de la pantalla dependiendo de la inclinación en X e Y, ¡necesitaríamos 25 bloques parecidos a los que acabamos de hacer!
  • Podemos pensar una solución más eficiente tratando de mapear (convertir de un rango a otro) el valor de inclinación en X e Y al número de fila y columna del LED que queremos encender.
Inclinación (X o Y) LED (X o Y)
-100 1
-50 2
0 3
50 4
100 5

De esta manera, solo necesitaremos los bloques enciende x _ y _ y apaga x _ y _ para controlar los puntos de la pantalla LED.

Bloques enciende y apaga

Reto 2: encuentra la fórmula para transformar el valor de inclinación X o Y (de -100 a 100) a un valor de fila o columna de la pantalla (del 1 al 5)

Reto 2

Solución al reto 2

Solución reto 2

Encender y apagar LEDs de la pantalla

  • Ahora que ya tenemos la fórmula, podemos usarla para encender un LED y apagarlo justo después (¡si no, todos quedarían encendidos!).

Burbuja 1

  • Si lo probamos, veremos que aun así aparece un problema, ya que puede que no se encienda y se apague el mismo LED (¡el valor de inclinación puede cambiar entre un bloque y el otro!).
  • Por eso deberíamos guardar en algún sitio el valor que nos da la fórmula, y para eso están las variables.

Variables

  • Sirven para guardar temporalmente un valor durante la ejecución de un programa.

  • Primero crearemos una variable para guardar el valor de x, entrando en la categoría Variables y pulsando el botón Crear una variable. Repetimos el mismo proceso para crear la variable que guardará la y.

Crear una variable

  • Finalmente, solo tendremos que usar el bloque asigna _ a _ para guardar las fórmulas correspondientes en las variables.

Burbuja 2

Biblioteca TFT

Placas Placas: Citilab ED1, M5Stack-Core y otras con acelerómetro y pantalla TFT

  • Podemos ir más allá y mejorar la visualización de la burbuja usando la TFT, disponible en la carpeta Gráficos y pantallas.

Librería TFT

  • Con esta biblioteca podemos usar bloques para dibujar líneas, rectángulos y otras formas, además de escribir texto en la pantalla.

Bloques librería TFT

  • En nuestro caso podemos usar un rectángulo o un círculo para representar la burbuja, configurando su tamaño y color.

Mapeo de valores (II)

  • La fórmula que usamos antes ya no nos sirve, porque ahora podemos trabajar con cualquier píxel de la pantalla.

Bloques ancho y alto TFT

  • La pantalla de la Citilab ED1 tiene 128 píxeles de ancho y 128 de alto, así que los valores de X e Y van de 0 a 127.
Reto 3: encuentra la fórmula para transformar el valor de inclinación X o Y (de -100 a 100) a una posición en la pantalla (de 0 a 127)

Reto 3

Solución al reto 3

Solución reto 3

Dibujar la burbuja

  • Como en el caso anterior, deberemos guardar cada resultado de la fórmula en su variable correspondiente.
  • Si usamos el bloque de círculo, solo hace falta indicar el radio y el color. Una vez dibujado, podemos “borrarlo” dibujándolo otra vez en color negro.

Burbuja TFT

  • Es recomendable limpiar la pantalla al principio, para asegurarnos de que no queda ningún dibujo anterior.

Reescalar

  • La operación de reescalar es muy útil cuando queremos convertir un valor de un rango a otro. Por eso MicroBlocks incluye un bloque que lo hace automáticamente. Hay que activar el modo avanzado en el icono de configuración. Menú configuración

Reescalar Pantalla LED Reescalar TFT

Esta actividad forma parte del Curso del Citilab. ¡Échale un vistazo!

⬅️ Actividad anterior Actividad siguiente ➡️

CC-BY-SA

© by Citilab Edutec 2019-2025.
This work is licensed under a CC-BY-SA 4.0 license.