ARTE
BELLEZA Y BIENESTAR
ARTESANÍA
CULTURA E HISTORIA
ENTRETENIMIENTO
MEDIO AMBIENTE
COMIDA Y BEBIDAS
FUTURO VERDE
INGENIERÍA INVERSA
CIENCIAS
DEPORTES
TECNOLOGÍA
TECNOLOGÍA VESTIBLE
Reading a Photoresistor — SIK Circuit 6
Ed

Creado por

Ed

17. marzo 2026FI
48
0
0
0
0

Reading a Photoresistor — SIK Circuit 6

Use a photoresistor (light sensor) to control LED brightness. Learn about voltage dividers, analog input, and the map() function for sensor-to-output conversion.

Instrucciones

1

Parts & Introduction

A photoresistor (or LDR — Light Dependent Resistor) changes resistance based on light levels. Combined with a fixed resistor, it forms a voltage divider that the Arduino can read as an analog value. You'll use this to control LED brightness automatically.

Parts Needed

  • 1x Arduino Uno + USB cable
  • 1x Breadboard
  • 1x Photoresistor
  • 1x LED (any color)
  • 1x 330Ω Resistor
  • 1x 10KΩ Resistor (for voltage divider)
  • 6x Jumper Wires

Materiales para este paso:

SparkFun Inventors Kit - V3.2SparkFun Inventors Kit - V3.21 kit
Arduino Uno R3Arduino Uno R31 pieza
BreadboardBreadboard1 pieza
PhotoresistorPhotoresistor1 pieza
5mm LED5mm LED1 pieza
330 Ohm Resistor330 Ohm Resistor1 pieza
10K Ohm Resistor10K Ohm Resistor1 pieza
Jumper WiresJumper Wires5 piezas

Herramientas necesarias:

Computer with Arduino IDE
2

Hardware Hookup

Wiring Instructions

  1. Connect one side of the photoresistor to 5V.
  2. Connect the other side to Analog Pin A0.
  3. Connect a 10K resistor from Analog Pin A0 to GND (this completes the voltage divider).
  4. Connect the LED positive leg to Digital Pin 9 (PWM-capable).
  5. Connect the LED negative leg through a 330Ω resistor to GND.

The voltage divider produces a voltage proportional to light level, which the Arduino reads as 0-1023.

Materiales para este paso:

PhotoresistorPhotoresistor1 pieza
5mm LED5mm LED1 pieza
330 Ohm Resistor330 Ohm Resistor1 pieza
10K Ohm Resistor10K Ohm Resistor1 pieza
BreadboardBreadboard1 pieza
Jumper WiresJumper Wires5 piezas
3

Arduino Code

Open the Arduino IDE and upload the following sketch to your Arduino board.

photoresistor.inoarduino
/*
SparkFun Inventor's Kit
Example sketch 06 — PHOTORESISTOR

Use a photoresistor (light sensor) to control LED brightness.

Hardware connections:
  Photoresistor: one side to 5V, other side to analog pin 0
  10K resistor between analog pin 0 and GND
  LED: positive to digital pin 9 (PWM), negative through 330 ohm to GND

This code is completely free for any use.
*/

const int sensorPin = 0;
const int ledPin = 9;

int lightLevel, high = 0, low = 1023;

void setup()
{
  pinMode(ledPin, OUTPUT);
}

void loop()
{
  lightLevel = analogRead(sensorPin);

  manualTune();

  //autoTune();

  analogWrite(ledPin, lightLevel);
}

void manualTune()
{
  lightLevel = map(lightLevel, 0, 1023, 0, 255);
  lightLevel = constrain(lightLevel, 0, 255);
}

void autoTune()
{
  if (lightLevel < low)
  {
    low = lightLevel;
  }
  if (lightLevel > high)
  {
    high = lightLevel;
  }

  lightLevel = map(lightLevel, low+30, high-30, 0, 255);
  lightLevel = constrain(lightLevel, 0, 255);
}

Materiales para este paso:

Arduino Uno R3Arduino Uno R31 pieza

Herramientas necesarias:

Computer with Arduino IDE
4

Test & Experiment

What You Should See

The LED brightness changes based on ambient light. Cover the photoresistor to dim or brighten the LED (depending on orientation).

Troubleshooting

  • LED stays dark: Check LED polarity. Also verify the photoresistor is in the circuit correctly.
  • Not responding to light: The photoresistor spacing is non-standard — make sure both legs are making good contact.
  • Subtle changes: Try using a flashlight or covering the sensor completely for more dramatic results.

Experiments to Try

  • Uncomment autoTune() to let the Arduino automatically calibrate to your lighting conditions.
  • Use the sensor to trigger actions at specific light thresholds (e.g., turn on a "night light" when dark).

Materiales

8

Herramientas requeridas

1
  • Computer with Arduino IDE
Total estimado
MX$2,346.00

CC0 Dominio público

Este Blueprint se publica bajo CC0. Eres libre de copiar, modificar, distribuir y usar este trabajo para cualquier propósito, sin pedir permiso.

Apoya al Maker comprando productos a través de su Blueprint, donde gana una Comisión del Maker establecida por los vendedores, o crea una nueva iteración de este Blueprint e inclúyela como conexión en tu propio Blueprint para compartir ingresos.

Discusión

(0)

Iniciar sesión para unirte a la discusión

Cargando comentarios...