- Portada
- Fundamentos de MentorBit
- Alimentación de circuitos y dispositivos
-
Programación y ejercicios básicos
-
Introducción
-
Driver necesario para programar la placa
-
Descripción de mBlock
-
Descripción de IDE Arduino
-
Estructura de un programa
-
Variables
-
Tipos de datos
-
Operadores
-
Sintaxis
-
Principales Bloques
-
Principales funciones C/C++
-
Monitor Serial
-
Actividad 1: Mi primer programa
-
Estructuras de control
-
Actividad 2: Bucle for
-
Actividad 3: Bucle while
-
Actividad 4: Condicional if y else
-
Actividad 5: Sentencia Switch
-
Arrays
-
Actividad 6: Los Arrays
-
Recibir por Serie
-
Actividad 7: Recepción por bus serial
-
Funciones
-
Funciones en Bloques
-
Funciones en C/C++
-
Actividad 8: Mis primeras funciones
-
Clases en C/C++
-
Actividad 9: Mi primera Clase
-
Actividad 10: Mi propia Calculadora
-
-
Programación y ejercicios con hardware
-
Introducción a MentorBit
-
LEDs
-
Actividad 11: LEDs de colores
-
El LED RGB
-
Actividad 12: LED RGB
-
El pulsador
-
Actividad 13: Pulsador en Pull Down
-
Actividad 14: Pulsador en Pull Up
-
El Potenciómetro
-
Actividad 15: Potenciómetro
-
El Zumbador
-
Actividad 16: Zumbador Pasivo
-
La Fotorresistencia
-
Actividad 17: LDR
-
Sensor de temperatura DS18B20
-
Actividad 18: DS18B20
-
El Servomotor
-
Actividad 19: Servomotor
-
Motores Corriente Continua
-
Puente en H
-
Actividad 20: Motor DC
-
Introducción a Motores paso a paso
-
Actividad 21: Motor paso a paso
-
Displays 7 Segmentos
-
Actividad 22: Display 7 Segmentos
-
Pantallas LCD
-
Actividad 23: Pantalla LCD
-
Actividad 24: Pantalla LCD
-
Pantallas OLED
-
Actividad 25: Pantalla OLED
-
Actividad 26: Pantalla OLED
-
Reloj en Tiempo Real (RTC)
-
Actividad 27: RTC
-
Tarjeta micro SD
-
Actividad 28: Micro SD
-
Actividad 29: Micro SD & RTC
-
Actividad 30: Micro SD & RTC
-
Puertos para Módulos MentorBit
-
Puertos de Comunicaciones
-
Puertos Genéricos
-
- Problemas Adicionales
- Proyectos Finales
Problema 2
Problema 2

Luces Interactivas para una Gran Fiesta
Estás organizando una gran fiesta y has decidido que las luces jueguen un papel crucial en la ambientación. Para lograr un efecto especial, utilizarás un sistema de control de luces interactivas que respondan a tus instrucciones en tiempo real.
Para ello, vamos a utilizar los siguientes componentes del MentorBit:
2 Botones
2 Leds
Pantalla LCD
Display 7 Segmentos
Descripción de Sistema:
Botón de configuración (S1): Sirve para ajustar el tiempo de parpadeo de las luces. Mientras mantengas presionado el botón, una variable de tiempo (inicializada en 0) se incrementa de 200 en 200 milisegundos. Ese valor será utilizado como el intervalo de parpadeo de las luces.
Botón de activación (S2): Al pulsar este botón, el tiempo seleccionado se aplicará a las luces, que comenzarán a parpadear de manera intermitente según el valor almacenado en la variable. El valor de esta variable también se irá reduciendo progresivamente a medida que pasa el tiempo, haciendo que las luces parpadeen más rápido hasta detenerse.
Funcionamiento del Sistema:
Mientras el botón S1 esté presionado, la pantalla LCD mostrará el mensaje "Cargando...", indicando que se está ajustando el tiempo de las luces.
Al soltar S1, la variable dejará de incrementarse y el valor actual de la variable se mostrará en un display 7 segmentos.
Al pulsar el botón S2, los LEDs comenzarán a parpadear en intervalos de tiempo iguales al valor de la variable un total de 10 veces.
En la pantalla LCD aparecerá el mensaje "Felices Fiestas!!!"
El display 7 segmentos mostrará el valor de las variable, que irá disminuyendo mientras los LEDs siguen parpadeando.
Si se pulsa el botón S1 se cancela el parpadeo de los LEDs.
Los LEDs continuarán parpadeando hasta que el valor de la variable llegue a 0, momento en el que el parpadeo cesará y la fiesta estará lista para comenzar con una iluminación perfecta.
Detalle del Hardware:
Botón S1: Sirve para ajustar el valor de la variable de tiempo, que determina el intervalo de parpadeo de las luces.
Botón S2: Aplica el valor de la variable a los LEDs, que parpadeará en intervalos de tiempo que corresponde al valor de la variable.
Pantalla LCD: Muestra los mensajes "Cargando..." mientras ajustas el tiempo, y "Felices Fiestas!!!" cuando los LEDs comienzan a parpadear.
LEDS: Parpadean según el valor seleccionado para crear el efecto de luces intermitentes 10 veces en total.
Display 7 segmentos: Muestra el valor de la variable que controla el parpadeo de las luces, decreciendo a medida que pasa el tiempo.
Tarea:
Escribe un programa que controle las luces de la fiesta siguiendo los siguientes pasos:
Configuración del tiempo de parpadeo: Mientras se mantiene presionado S1, la variable de tiempo se incrementa de 200 en 200 milisegundos. Cuando se suelte el botón, la pantalla LCD deja de mostrar "Cargando..." mientras el valor se va reflejando en el display 7 segmentos.
Aplicación del valor: Al pulsar S2, el valor seleccionado se asigna a los LEDs, que parpadearán de acuerdo con el intervalo de tiempo.
Reducción del valor: Mientras los LEDs parpadean, el valor de la variable se reduce gradualmente en el display 7 segmentos hasta llegar a 0, momento en el que los LEDs dejan de parpadear, o pulsando el botón S1 para terminar el parpadeo.
el valor del pin tiene que ser mayor a 0, para mantener un margen de seguridad puede poner un número
más elevado, en este caso vamos a utilizar >100:
mostrar en pantalla vacío y limpiando antes de mostrar:
valor del pin tiene que ser mayor a 0, para mantener un margen de seguridad puede poner un número
más elevado, en este caso vamos a utilizar >100:
}
limpiar la pantalla:
bucle, para ello, dentro del bucle se puede cambiar la variable "i" a un número mayor que "Repeticiones",
puedes poner un valor elevado también:
}
}
Desafío adicional 1:
Haz que el mensaje "Cargando..." en la pantalla LCD sea dinámica. Mientras el botón S1 esté presionado y el tiempo de parpadeo se esté ajustando, el mensaje deberá mostrar una animación en la que los puntos después de la palabra "Cargando" vayan apareciendo progresivamente, hasta completar tres puntos ("Cargando.", "Cargando.." y "Cargando..."). Luego, la secuencia debe reiniciarse, creando un efecto de movimiento.
dinámica puedes usar un bucle de repetir, junto a un bloque de esperar y finalmente que imprima por
pantalla dejando mensajes actuales:
dinámica puedes usar un comando de bucle de repetir, junto al comando de esperar y finalmente que
imprima por pantalla dejando mensajes actuales:
Desafío adicional 2:
Añade una validación que limite el valor máximo de la variable para evitar que los LEDs parpadeen demasiado tiempo. Puedes mostrar un mensaje de error en la pantalla LCD si el valor excede un umbral predefinido, como "Tiempo máximo alcanzado".
fila de debajo:
Desafío adicional 3:
Sustituye la función del botón S1 por un potenciómetro, ajustando el tiempo de cada parpadeo de los LEDs moviéndolo. Puedes ajustar el tiempo de parpadeo entre un tiempo máximo y un tiempo mínimo. Mientras no pulses el botón S2, en la pantalla LCD seguirá mostrando el mensaje estático "Cargando...".
Para este desafío hay que añadir el potenciómetro:
valor por 10 para posteriormente dividirlo entre 10 y así obtener 1 decimal:
| Vistas | |
|---|---|
| 13 | Número de vistas |
| 13 | Vistas de miembros |
| 0 | Vistas públicas |
| Acciones | |
|---|---|
| 0 | Gustos |
| 0 | No me gusta |
| 0 | Comentarios |
Compartir por correo
Por favor iniciar sesión para compartir esto webpage por correo.



