Tutorial ESP32 22/55 - Sintiendo la luz usando LED Arduino | Kit de aprendizaje IoT ESP32 de SunFounder

Tutorial ESP32 22/55 - Sintiendo la luz usando LED Arduino | Kit de aprendizaje IoT ESP32 de SunFounder

En este tutorial, exploraremos cómo utilizar un Resistor Dependiente de Luz (LDR) con el microcontrolador ESP32 para medir la intensidad de la luz. Al leer la resistencia del LDR, podemos activar acciones, como encender un zumbador cuando el nivel de luz supera un cierto umbral. Este proyecto demostrará la interacción entre los niveles de luz y las capacidades de lectura analógica del ESP32, permitiéndonos crear aplicaciones responsivas basadas en la luz ambiental. (en el video a las 5:30)

Hardware Explicado

Los componentes principales que utilizaremos en este proyecto incluyen el microcontrolador ESP32, un LDR y una resistencia de 10 kΩ. El LDR cambia su resistencia en función de la intensidad de la luz que incide en su superficie: más luz resulta en una menor resistencia, mientras que menos luz resulta en una mayor resistencia. Esta propiedad nos permite medir diversos niveles de luz al conectar el LDR en una configuración de divisor de voltaje con la resistencia.

El microcontrolador ESP32 cuenta con Wi-Fi y Bluetooth integrados, lo que lo hace ideal para proyectos de IoT. Tiene varios pines analógicos que pueden leer diferentes niveles de voltaje, que utilizaremos para monitorear el voltaje en el LDR. Este voltaje se convertirá en un valor analógico que el ESP32 puede procesar y utilizar para activar acciones como activar un zumbador.

Detalles de la hoja de datos

FabricanteEspressif Systems
Número de parteESP32
Tensión de lógica/IO3.3 V
Tensión de suministro3.0 - 3.6 V
Corriente de salida (por GPIO)40 mA máx
Orientación sobre la frecuencia PWM1 kHz - 40 kHz
Umbrales de lógica de entradaAlto: 2.0 V mín, Bajo: 0.8 V máx
Caída de voltaje / RDS(on)/ saturación0.3 V máx
Límites térmicos-40 °C a 125 °C
PaqueteQFN48
Notas / variantesSoporta múltiples protocolos Wi-Fi y Bluetooth.

  • Utiliza un resistor de 10 kΩ en serie con el LDR para la división de voltaje.
  • Asegúrate de que el ESP32 esté alimentado con 3.3 V para evitar daños.
  • Conecta correctamente el LDR y la resistencia para medir la intensidad de la luz.
  • Utiliza un condensador para desacoplar si es necesario para estabilizar la alimentación.
  • Verifique los valores de lectura analógica para asegurarse de que se encuentren dentro de los rangos esperados.

Instrucciones de cableado

ESP32-22_light_sensor-wiring

Para cablear el LDR y la resistencia al ESP32, comienza conectando un terminal del LDR al pin de alimentación de 3.3 V en el ESP32. El otro terminal del LDR debe conectarse a un terminal de la resistencia de 10 kΩ. Conecta el otro terminal de la resistencia a tierra.

A continuación, conecta un cable puente desde el punto de unión entre el LDR y la resistencia al pin.35en el ESP32. Esta configuración crea un divisor de voltaje, permitiendo que el ESP32 lea el voltaje variable basado en la intensidad de luz que incide en el LDR. Asegúrate de que todas las conexiones estén seguras y de que el LDR esté posicionado donde pueda detectar con precisión los cambios en la luz.

Ejemplos de código y guía paso a paso

En el código, comenzamos inicializando la comunicación serial para monitorear las lecturas del LDR. El identificador clave aquí esanalogValue, que almacena la lectura del pin35.

void setup() {
  Serial.begin(115200);
}

void loop() {
  int analogValue = analogRead(35);
  Serial.printf("ADC analog value = %d\n",analogValue);
  delay(100);
}

Este fragmento de código inicializa el monitor serial a una velocidad de baudios de 115200 y lee continuamente el valor analógico del pin.35El valor se imprime en el monitor serial, lo que nos permite observar cómo cambia con los niveles de luz variables.

Cuando la intensidad de la luz cambia, la resistencia del LDR varía, y por lo tanto la tensión leída por el ESP32 también cambiará, reflejando las condiciones de luz (en el video a las 12:45).

Demostración / Qué Esperar

Al ejecutar el programa y observar el monitor serie, deberías ver elADC analog valuefluctuar en función de las condiciones de luz ambiental. Cuando cubres el LDR, el valor debería aumentar, indicando una mayor resistencia, mientras que exponerlo a una luz brillante debería reducir el valor significativamente. Este comportamiento se puede utilizar para activar un zumbador o cualquier otra acción basada en los umbrales predefinidos.

Si las lecturas no cambian como se esperaba, verifique si hay problemas de cableado, asegúrese de que el LDR no esté flotando y confirme que el ESP32 esté alimentado correctamente. Esto ayudará a prevenir problemas comunes y garantizar un funcionamiento fluido (en el video a las 15:30).

Tiempos del video

  • 00:00 Comenzar
  • 1:48 Introducción al LDR
  • 8:33 Explicación del cableado
  • 11:07 Explicación del código de Arduino
  • 13:07 Seleccionando la placa ESP32 y el puerto COM en el IDE de Arduino
  • 14:49 Demostración de lectura de valor
  • 17:24 Entendiendo el valor del Día y la Noche
  • 18:47 Valor DAC y lectura de voltaje

Imágenes

ESP32-22_light_sensor
ESP32-22_light_sensor
ESP32-22_light_sensor-wiring
ESP32-22_light_sensor-wiring
821-ESP32 Tutorial 22/55- Arduino code for Light dependant resistor
Idioma: C++
¡Copiado!

Recursos y referencias

Archivos📁

No hay archivos disponibles.