Durante abril compra hasta a 12 meses sin intereses con tarjeta de crédito.
0

Shopping cart

Close

No hay productos en el carrito.

Seguidor de luz con Arduino

Contenido:

Material:

Si bien este tutorial será desarrollado sobre Tinkercad, también puede desarrollarse de manera física como todos nuestros otros tutoriales de Arduino, así que de todas formas te compartiré los materiales.

  • 2 Resistencias 1K ohm
  • 2 Fotorresistencias
  • 1 Arduino UNO
  • 1 Micro servo
  • 1 Protoboard

Introducción

En un mundo cada vez más consciente de la eficiencia energética y el aprovechamiento de fuentes de energía renovable, la tecnología se convierte en un aliado fundamental para explorar nuevas formas de aprovechar la luz solar de manera inteligente. Uno de los proyectos más emocionantes en esta dirección es la creación de un «Seguidor de Luz» que, literalmente, sigue la luz del sol a medida que se desplaza a través del cielo. ¿Cómo se logra esto? La respuesta se encuentra en la magia de la electrónica y la programación, y eso es precisamente lo que exploraremos en esta entrada.

Desarrollo:

Comencemos importando las librerías que utilizaremos, en este caso solamente Servo

#include <Servo.h>

Ahora crearemos las constantes que almacenarán los pines que utilizaremos, en este caso serán 3, 2 para los pines analógicos y 1 para el pin digital del servomotor

const int fotoresistenciaPin1 = A0;
const int fotoresistenciaPin2 = A1;
const int servoPin = 3;

Ahora crearemos una instancia de la clase Servo

Servo servo;

Configuremos ahora la inicialización de nuestro servomotor y de la comunicación serial donde visualizaremos los datos de las fotorresistencias. Inicializaremos el servomotor a 90 grados, esto para tener rango de movimiento hacia la derecha e izquierda

void setup()
{
  Serial.begin(9600);
  servo.attach(servoPin);
  servo.write(90);
}

Y listo, llegamos a la sección final, el loop, en esta parte definiremos el funcionamiento o lógica de funcionamiento. Diremos que para un valor mayor a 300 en la LDR 1, el servomotor debe moverse a 45 grados, mientras que para un valor mayor a 300 en la LDR 2, el servomotor debe colocarse a 135 grados. Si los dos valores son mayores a 300, el servomotor debe colocarse a 90 grados, lo mismo para cualquier otro caso.

void loop()
{
  int valorFoto1 = analogRead(fotoresistenciaPin1);
  int valorFoto2 = analogRead(fotoresistenciaPin2);

  Serial.print("Valor de la fotoresistencia 1: ");
  Serial.println(valorFoto1);
  Serial.print("Valor de la fotoresistencia 2: ");
  Serial.println(valorFoto2);

  if (valorFoto1 > 300 && valorFoto2 <= 300)
  {
    servo.write(45);
  } 
  else if (valorFoto1 <= 300 && valorFoto2 > 300)
  {
    servo.write(135);
  } 
  else if (valorFoto1 > 300 && valorFoto2 > 300)
  {
    servo.write(90);
  }
  else
  {
    servo.write(90);
  }

  delay(1000);
}

Resultados:

Listo, tenemos programado y funcionando nuestro seguidor de luz, ahora solo es cuestión de crear una estructura física para sostener un pequeño panel solar y colocar las fotorresistencias de modo que capten la luz solar para que el servo pueda colocar al panel en la posición con mejor nivel de luz.

Te comparto el código completo y simulación en Tinkercad, si el simulador no carga, posiblemente estés utilizando Chrome o Edge, recuerda que para una mejor experiencia debes utilizar Mozilla. Te comparto el enlace.

Tags:

Share:

Deja una respuesta

You May Also Like