Ir al contenido

3.3 Fotocelda

En este tutorial vas a aprender a medir la intensidad de la luz usando una entrada analógica de tu ESP32. Vas a usar el nivel de luz ambiental para controlar automáticamente cuántos LEDs se tienen que prender. Vista general La idea es simpl…

En este tutorial vas a aprender a medir la intensidad de la luz usando una entrada analógica de tu ESP32. Vas a usar el nivel de luz ambiental para controlar automáticamente cuántos LEDs se tienen que prender.

Vista general

La idea es simple: el sensor detecta cuánta claridad hay y el programa decide si prende más o menos luces. Es un ejemplo práctico de cómo interactuar con el mundo físico procesando señales analógicas para generar una respuesta visual.

Componentes necesarios

  • (1) x Elegoo ESP32
  • (2) x Protoboard de 400 puntos
  • (8) x LEDs
  • (8) x Resistencias de 220 ohm
  • (1) x Resistencia de 1k ohm
  • (1) x IC 74HC595
  • (1) x Fotoresistencia (Fotocelda)
  • (20) x Cables M-M (puentes macho a macho)

Introducción a los componentes

FOTOCELDA: La que vamos a usar es del tipo LDR (resistencia dependiente de la luz). Como indica su nombre, funciona como una resistencia común, pero su valor cambia según la cantidad de luz que recibe.

Este componente tiene una resistencia de unos 50 kΩ en oscuridad casi total y baja hasta los 500 Ω cuando hay mucha luz. Para que el ESP32 pueda medir esto, necesitamos convertir esa variación de resistencia en un voltaje que la placa pueda entender. La forma más fácil de hacerlo es combinándola con una resistencia fija (divisor de tensión).

Juntas, la resistencia y la fotocelda se comportan como un potenciómetro. Cuando hay mucha luz, la resistencia de la fotocelda es bajísima comparada con la fija, y es como si el potenciómetro estuviera al máximo. En la penumbra, la resistencia sube y es como si bajáramos el nivel hacia GND.

Esquema de conexión y Diagrama de cableado

Mirá bien los diagramas antes de conectar todo. Una vez que cargues el código que te pasamos abajo, probá tapar la fotocelda con el dedo o acercarla a una lámpara para ver cómo reaccionan los LEDs.

Código

Hacé clic en el enlace azul para descargar el archivo a tu compu. Acordate que antes de abrirlo tenés que tener instalado el IDE de Arduino y los drivers correspondientes al ESP32. Si no sabés cómo hacerlo, fijate en la "Parte 1" de la guía.

📥 DESCARGAR photocell.ino

Con este código, el ESP32 lee la intensidad de luz, mapea el valor para decidir cuántos LEDs prender y usa el registro de desplazamiento 74HC595 para mandar la señal. Abrí el Serial Monitor para ver los valores que está tirando el sensor en tiempo real.


int lightPin = 4;   // Entrada analógica del sensor
int latchPin = 5;   // ST_CP del 74HC595
int clockPin = 18;  // SH_CP del 74HC595
int dataPin = 19;   // DS del 74HC595
int leds = 0;       // Variable para el estado de los LEDs

En el setup configuramos los pines como salida, y en la función updateShiftRegister nos encargamos de mandar los datos al integrado. En el loop, la función analogRead toma la lectura y map la traduce a un rango de 0 a 8 para prender la cantidad justa de luces mediante operaciones de bits.

Solución de problemas

Si no prende ningún LED, revisá el cableado del 74HC595 y asegurate de que los LEDs no estén al revés. También fijate que la resistencia de 1kΩ esté bien conectada formando el divisor de tensión con la fotocelda.

Fuente: Adaptado al español desde el wiki oficial Elegoo (licencia CC BY-SA). Revisión técnica por equipo Breva.

Fuente: Adaptado al español desde el wiki oficial (licencia CC BY-SA). Revisión técnica por equipo Breva.
25%
Tecnología real, elegida con criterio técnico Probás, aprendés y te llevás lo correcto Showroom abierto en Rosario Impresión 3D · Electrónica · Software Desde 2012 en impresión 3D FilAr — Argentina, extruido por nosotros Probá antes de llevarte Combos pensados, no pegados No te vendemos una caja. Entendemos lo que hay adentro. Repuestos críticos en stock Soporte por WhatsApp 9-19 Bambu Lab en showroom Filamentos para tocar Arduino, ESP32 y sensores Robótica educativa para tu aula Equipamos escuelas y empresas Producción 3D con criterio PLA y PETG fabricados en Argentina Trazabilidad por lote — FilAr Perfiles calibrados para tu impresora Cursos y demos en Breva Academy Sábados con demo abierta Garantía explicada en términos humanos No desaparecemos después del checkout Asesoramiento técnico sin compromiso Retiro en el día en Rosario Envío a todo el país Factura A para empresas Catálogo curado, no inflado Si lo vendemos, lo probamos antes De RepRap a la nueva generación Más de 13 años imprimiendo Criterio técnico transversal Tres mundos, una misma cabeza Impresoras 3D en Rosario Notebooks, monitores y periféricos Domótica con ESP32 Cámaras, sensores y trazabilidad Para makers, técnicos y emprendedores Para escuelas y empresas Soluciones, no SKUs Cotización formal para B2B Plan de mantenimiento para empresas Capacitación docente incluida Combo Bambu + FilAr Combo arranque sin renegar Combo ESP32 IoT La tecnología se entiende usándola No te vendemos lo que no probamos Sabemos por qué falla un purgado Sabemos por qué un PETG burbujea Sabemos por qué una pieza no se pega No vendemos por catálogo Curaduría con criterio Showroom · Asesoramiento · Soporte Probá en vivo antes de decidir FilAr — el filamento que sabemos Hardware + software, mismo equipo Automatización, datos y producción Tecnología tangible Probada antes de venderla Soporte que responde La compra no termina en el checkout Comprá una vez. Te ayudamos siempre. Modo experiencia activado Modo showroom: encendido Real hardware. Real support. Touch it. Try it. Take it home. Build. Print. Automate. Repeat. Tres mundos. Una tienda. Tecnología para construir Tecnología para producir Tecnología para enseñar Productos seleccionados, no inflados Lo que recomendamos, lo probamos Si va a fallar, lo sabemos Soporte técnico sin guion Vení a tocar el showroom Impresoras imprimiendo en mostrador Filamentos al tacto Notebooks encendidas Electrónica armada Demos los sábados Cursos presenciales Guías técnicas gratis Repuestos para Bambu Lab Repuestos para Creality Hot-ends, boquillas y plates Sensores, motores y módulos Componentes PC y mejoras Comprá con criterio Probá con calma Aprendé con quien sabe Llevate lo correcto Hacé proyectos reales Rosario · Centro · Showroom abierto Tecnología argentina cuando se puede Tecnología importada cuando hace falta Curaduría > Catálogo Hechos > Promesas Servicio > Discurso Stack: Bambu · Creality · FilAr · Arduino · ESP32 No somos marketplace Somos gente que la usa Y la fabricamos cuando se puede Breva · Rosario Tecnología real, elegida con criterio técnico Probás, aprendés y te llevás lo correcto Showroom abierto en Rosario Impresión 3D · Electrónica · Software Desde 2012 en impresión 3D FilAr — Argentina, extruido por nosotros Probá antes de llevarte Combos pensados, no pegados No te vendemos una caja. Entendemos lo que hay adentro. Repuestos críticos en stock Soporte por WhatsApp 9-19 Bambu Lab en showroom Filamentos para tocar Arduino, ESP32 y sensores Robótica educativa para tu aula Equipamos escuelas y empresas Producción 3D con criterio PLA y PETG fabricados en Argentina Trazabilidad por lote — FilAr Perfiles calibrados para tu impresora Cursos y demos en Breva Academy Sábados con demo abierta Garantía explicada en términos humanos No desaparecemos después del checkout Asesoramiento técnico sin compromiso Retiro en el día en Rosario Envío a todo el país Factura A para empresas Catálogo curado, no inflado Si lo vendemos, lo probamos antes De RepRap a la nueva generación Más de 13 años imprimiendo Criterio técnico transversal Tres mundos, una misma cabeza Impresoras 3D en Rosario Notebooks, monitores y periféricos Domótica con ESP32 Cámaras, sensores y trazabilidad Para makers, técnicos y emprendedores Para escuelas y empresas Soluciones, no SKUs Cotización formal para B2B Plan de mantenimiento para empresas Capacitación docente incluida Combo Bambu + FilAr Combo arranque sin renegar Combo ESP32 IoT La tecnología se entiende usándola No te vendemos lo que no probamos Sabemos por qué falla un purgado Sabemos por qué un PETG burbujea Sabemos por qué una pieza no se pega No vendemos por catálogo Curaduría con criterio Showroom · Asesoramiento · Soporte Probá en vivo antes de decidir FilAr — el filamento que sabemos Hardware + software, mismo equipo Automatización, datos y producción Tecnología tangible Probada antes de venderla Soporte que responde La compra no termina en el checkout Comprá una vez. Te ayudamos siempre. Modo experiencia activado Modo showroom: encendido Real hardware. Real support. Touch it. Try it. Take it home. Build. Print. Automate. Repeat. Tres mundos. Una tienda. Tecnología para construir Tecnología para producir Tecnología para enseñar Productos seleccionados, no inflados Lo que recomendamos, lo probamos Si va a fallar, lo sabemos Soporte técnico sin guion Vení a tocar el showroom Impresoras imprimiendo en mostrador Filamentos al tacto Notebooks encendidas Electrónica armada Demos los sábados Cursos presenciales Guías técnicas gratis Repuestos para Bambu Lab Repuestos para Creality Hot-ends, boquillas y plates Sensores, motores y módulos Componentes PC y mejoras Comprá con criterio Probá con calma Aprendé con quien sabe Llevate lo correcto Hacé proyectos reales Rosario · Centro · Showroom abierto Tecnología argentina cuando se puede Tecnología importada cuando hace falta Curaduría > Catálogo Hechos > Promesas Servicio > Discurso Stack: Bambu · Creality · FilAr · Arduino · ESP32 No somos marketplace Somos gente que la usa Y la fabricamos cuando se puede Breva · Rosario