Tomo 6: ¡PROYECTO INTEGRADOR 1! - Iluminación Inteligente

¡Felicidades por llegar al primer proyecto integrador! Es hora de combinar todo lo que hemos aprendido. Ya no trabajaremos con sensores por separado; los uniremos para crear un sistema más inteligente y útil. Construiremos un sistema de iluminación automática que solo se enciende cuando es necesario: cuando alguien está presente Y está oscuro.

🧠 La Lógica del Proyecto: El Poder del `&&` (Y)

La clave de este proyecto es la toma de decisiones basada en múltiples condiciones. En programación, usamos operadores lógicos para esto. El más importante hoy es el operador "Y" lógico, que en C++ se escribe como &&. La condición if (condicion1 && condicion2) solo será verdadera si AMBAS condiciones son verdaderas al mismo tiempo. Es la base para crear sistemas que responden a situaciones complejas del mundo real.

🧠 El Código: El Cerebro del Sistema

Este código lee los dos sensores (PIR y LDR) y usa una sola declaración `if` con el operador `&&` para controlar el LED.

Código Arduino

/*
 * PROYECTO INTEGRADOR 1: Iluminación Inteligente de Pasillos
 * Descripción: Enciende una luz si se detecta movimiento Y está oscuro.
 * Por: Profe Campos
 * CECyTEM 05 Guacamayas
*/

const int pinPir = 2;       // Pin del sensor de movimiento
const int pinLdr = A0;      // Pin del sensor de luz
const int pinLed = 9;       // Pin del LED que simula la luz del pasillo

int valorLuz;               // Variable para la lectura del LDR
boolean hayMovimiento;      // Variable para la lectura del PIR (true/false)
int umbralOscuridad = 400;  // Umbral de oscuridad (ajustable)

void setup() {
  pinMode(pinLed, OUTPUT);
  pinMode(pinPir, INPUT);
  // El pin A0 ya es una entrada por defecto
}

void loop() {
  // Leemos ambos sensores en cada ciclo
  valorLuz = analogRead(pinLdr);
  hayMovimiento = digitalRead(pinPir);
  
  // Aquí está la magia: la condición IF con el operador AND (&&)
  // SI (hayMovimiento es VERDADERO Y el valorLuz es MENOR que el umbral)...
  if (hayMovimiento == true && valorLuz < umbralOscuridad) {
    digitalWrite(pinLed, HIGH); // ...entonces enciende la luz.
    // Opcional: un delay aquí mantendría la luz encendida un tiempo fijo
    // después de la última detección, pero el PIR ya tiene un ajuste para esto.
  } else { // SI NO se cumplen AMBAS condiciones...
    digitalWrite(pinLed, LOW); // ...asegúrate de que la luz esté apagada.
  }
  delay(300); // Pequeña pausa
}
        

🔌 Manos a la Obra: El Circuito

Integraremos los circuitos del sensor PIR y la LDR para controlar un solo LED, que simula la iluminación de un pasillo. La clave es organizar bien el cableado en la protoboard.

Diagrama del Circuito 6

Diagrama de conexión del proyecto final del primer parcial

💡 Conceptos Clave de la Misión

🚀 ¡Inténtalo Tú Mismo! (Retos)