⭐⭐ Principiante avanzado ⏱️ 15 minutos

Lamparita de noche

Vas a hacer una lamparita de noche inteligente. Si se oscurece, el anillo LED se enciende suave. Si hay luz, se vuelve a apagar.

Primero inicias sesión un momento. Después tu proyecto está listo enseguida.

🧰 ¿Qué necesitas?

1× Arduino UNO
1× Sensor de luz (LDR)
1× Anillo LED RGB (8 LEDs)
🔌
Cable USB + Cables jumper

🗺️ Esquema de conexión

Sigue los cables desde el Arduino hasta cada pieza. Puedes elegir tú los colores de los cables.

Desde Hasta
Arduino UNO · A0 Sensor de luz (LDR) · S
Arduino UNO · 5V Sensor de luz (LDR) · +
Arduino UNO · GND Sensor de luz (LDR) · -
Arduino UNO · D6 Anillo LED RGB (8 LEDs) · DI
Arduino UNO · 5V Anillo LED RGB (8 LEDs) · 5V
Arduino UNO · GND Anillo LED RGB (8 LEDs) · GND

🛠️ Así lo construyes

  1. Conecta el sensor de luz: S a A0, + a 5V y − a GND.
  2. Conecta el anillo LED: DI al pin 6, 5V a 5V y GND a GND.
  3. Abre el monitor serie y mira qué número ves con luz y en oscuro. Ajusta LIMITE_OSCURO con eso.

💻 El código

// Lamparita de noche
// ¿Se oscurece? Entonces el anillo LED se enciende suave. ¿Hay luz? Entonces se apaga.

#include <Adafruit_NeoPixel.h>

const int LUZ_PIN = A0;   // S del sensor de luz en A0
const int ANILLO_PIN = 6;     // DI del anillo LED en pin 6
const int NUM_LEDS = 8;

// Con este valor decimos que está "oscuro". Mira en el monitor serie qué número ves
// con luz y en oscuro, y pon aquí un número intermedio.
const int LIMITE_OSCURO = 500;

Adafruit_NeoPixel anillo(NUM_LEDS, ANILLO_PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  Serial.begin(9600);
  anillo.begin();
  anillo.setBrightness(60);
  anillo.show();
}

void loop() {
  int luz = analogRead(LUZ_PIN);   // Un número de 0 a 1023
  Serial.print(F("Sensor luz: "));
  Serial.println(luz);

  // Con este sensor, el número sube cuando se oscurece.
  // ¿En tu caso va al revés? Cambia > por <.
  bool oscuro = luz > LIMITE_OSCURO;

  for (int i = 0; i < NUM_LEDS; i++) {
    if (oscuro) {
      anillo.setPixelColor(i, anillo.Color(255, 140, 40));  // Luz amarilla cálida
    } else {
      anillo.setPixelColor(i, 0);                         // Apagado
    }
  }
  anillo.show();
  delay(200);
}

🧠 ¿Qué hace el código?

  • El sensor de luz está en A0. analogRead() da un número de 0 a 1023.
  • ¿El número es mayor que LIMITE_OSCURO? Entonces decimos que está oscuro.
  • En la oscuridad damos a todas las lucecitas un color amarillo cálido. Si no, se apagan.

🎯 Prueba esto…

  • Haz que la lamparita brille poco a poco más fuerte cuando se oscurezca
  • Haz que el color cambie despacito, como una lámpara tranquila
  • Haz que la lamparita se apague sola después de 1 minuto

🚀 Construye este proyecto con Codey: abre codey.online/es/starter-kits/uno/projects/night-light y haz clic en HAZ ESTO. Entonces el código y el esquema de conexión estarán listos enseguida.

Primero inicias sesión un momento. Después tu proyecto está listo enseguida.
⬇️ Descarga esta página como PDF 📚 Descarga el tutorial completo (PDF)

Codey Online es un producto de OTRONIC

Crea tu proyecto de Arduino o ESP32 con IA

Describe lo que quieres construir. Codey Online escribe el codigo, dibuja el esquema de conexiones, lo compila y graba tu placa directamente desde el navegador.

Empieza gratis