- Portada
- Ensamblaje mecánico
-
Montaje electrónico y Programación
-
Introducción al Montaje Electrónico
-
MentorBit y el Expansor de E/S
-
Librerías de los módulos
-
Módulo de cargador solar
-
Módulo MentorBit de LDR
-
Módulo MentorBit de LED RGB
-
Actividad 1: Encendido automático de luces
-
Módulo MentorBit de DHT-11
-
Actividad 2: Monitorización del ambiente
-
Módulo MentorBit de MQ
-
Actividad 3: Detección de gas
-
Módulo MentorBit Medidor de Distancia Láser
-
Módulo MentorBit de E/R Infrarrojo
-
Módulo MentorBit PIR
-
Actividad 4: Garaje automatizado
-
- Proyectos Finales
Actividad 1: Encendido automático de luces
Actividad 1: Encendido automático de luces
Actividad 1:

El objetivo de esta actividad es diseñar y programar un sistema de iluminación automática que encienda dos módulos LED RGB cuando la luz ambiental disminuya por debajo de un umbral, utilizando un sensor LDR para detectar la luminosidad.
Los LEDs RGB deben encenderse cuando sea de noche en color blanco. Además, vamos a activar el LED Azul del MentorBit para indicar que entramos en modo noche.
Solución código C++
#include <MentorBitRGB.h> //librería para manejar los valores del RGB
#include <MentorBitPuertos.h> //librería de puertos
#include <MentorBit.h>
MentorBitPuertos miModuloPuertos;
MentorBit miMentorBit;
//Usaremos el pin digital del puerto de módulo 2, que es el pin 26 para el primer RGB.
#define LED_PIN_1 MentorBitPuertos::PUERTO_MODULO_2_DIGITAL
//Usaremos el pin digital del puerto de genérico 1 del expansor, que es el pin D2 para el segundo RGB.
#define LED_PIN_2 MentorBitPuertos::PUERTO_GENERICO_1_DIGITAL_6
// Declaramos los objetos del RGB
MentorBitRGB led_rgb1(LED_PIN_1);
MentorBitRGB led_rgb2(LED_PIN_2);
// ------------------------------------
void setup() {
Serial.begin(9600);
// definimos el pin del LDR
pinMode(miModuloPuertos.PUERTO_MODULO_1_ANALOGICO, INPUT);
// Inicializar pines apagados
digitalWrite(miMentorBit.LED_AZUL, LOW);
led_rgb1.begin(); // INICIALIZA el módulo led rgb
led_rgb1.cambiarBrillo(50); // Fija un brillo (0-255)
led_rgb1.apagar();
led_rgb2.begin();
led_rgb2.cambiarBrillo(150);
led_rgb2.apagar();
int R = 0;
int G = 0;
int B = 0;
}
void loop() {
int valorLDR = analogRead(miModuloPuertos.PUERTO_MODULO_1_ANALOGICO);
// Mostrar por serial el valor analógico leído del LDR.
Serial.print("El valor analógico de la LDR es: ");
Serial.println(valorLDR); // Imprimimos la variable que contiene la lectura
if(valorLDR > 750){
// Encendemos el LED azul solamente y esperamos
digitalWrite(miMentorBit.LED_AZUL, HIGH);
int R = 255;
int G = 255;
int B = 255;
// Le decimos a la librería qué color queremos poner en qué píxel
led_rgb1.cambiarColor(R, G, B);
led_rgb2.cambiarColor(R, G, B);
delay(200);
}
else{
digitalWrite(miMentorBit.LED_AZUL, LOW);
//volvemos a poner los píxeles a 0
led_rgb1.apagar();
led_rgb2.apagar();
delay(200);
}
delay(2000); // Esperamos dos segundos antes de cambiar de color.
}
| Vistas | |
|---|---|
| 2 | Número de vistas |
| 2 | 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.