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 en redes sociales
Compartir enlace
Compartir por correo

Por favor iniciar sesión para compartir esto webpage por correo.