74. Calibrando los valores de una fotorresistencia gracias al ciclo While

 ¡Hola a todos! 👋

Continuamos practicando con el ciclo While y, para esta actividad, retomaremos un proyecto que creamos anteriormente: "LED reactivo a la luz".

¿Qué teníamos en el proyecto anterior?

En el proyecto original, utilizamos una fotorresistencia para variar la intensidad de un LED según la luz captada. Sin embargo, había un problema: el LED no se apagaba completamente ni alcanzaba su máxima intensidad. 😕

Al simular el circuito, observamos que:

  • Al desplazar el slider hacia la derecha (menos luz), el LED no se apagaba del todo.

  • Al desplazarlo hacia la izquierda (más luz), el LED no brillaba al máximo.

Esto se debía a que los valores leídos por la fotorresistencia no cubrían todo el rango esperado (0-1023). En su lugar, variaban entre 5 y 1020, aproximadamente.

La solución: Calibración con el ciclo While

Para resolver esto, implementamos un sistema de calibración en tiempo de ejecución usando un pulsador y el ciclo While. La idea es:

  1. Detectar los valores reales mínimos y máximos de la fotorresistencia.

  2. Mapear estos valores al rango 0-255 para controlar correctamente el LED.

Paso a paso en el código

  1. Agregamos un pulsador al pin 10 y un LED indicador al pin 13.

  2. Declaramos variables globales para almacenar los valores mínimos y máximos del sensor:

    cpp
    int sensorMin = 1023;
    int sensorMax = 0;
  3. Creamos la función calibrar() que:

    • Enciende el LED indicador.

    • Lee el valor de la fotorresistencia.

    • Actualiza sensorMin y sensorMax según los valores leídos.

  4. En el loop principal, usamos un ciclo While para ejecutar la calibración mientras se presiona el pulsador.

  5. Mapeamos los valores usando sensorMin y sensorMax en lugar de 0 y 1023.

Resultado final

Al presionar el pulsador y mover la fotorresistencia, el sistema calibra automáticamente los valores mínimos y máximos. Así, el LED se apaga y enciende por completo, sin importar las variaciones en los componentes. 🎯

Conclusión

Gracias al ciclo While y un algoritmo sencillo, logramos que el circuito se adapte a las condiciones reales de la fotorresistencia. ¡Un paso más hacia proyectos más precisos y profesionales!

¿Te animas a probarlo? ¡Déjanos tus comentarios! 👇


¡Espero que este post sea útil! Si necesitas ajustes adicionales, házmelo saber. 

Comentarios

Entradas más populares de este blog

11. Ejemplos Básicos de Leds y Pulsadores

12. Demostracion de como usar Tinkercad para simular Arduino con circuitos

Tutorial: Controlar la Intensidad de un LED con Potenciómetro (PWM)