Resumen:
A veces, los entusiastas de la electrónica tienen ideas para construir robots a partir de animales salvajes. ¡Hay perros robot, serpientes robot, pájaros robot e incluso insectos robóticos! En este proyecto, construirás tu propio robot que perseguirá automáticamente una fuente de luz, imitando un comportamiento llamado fototaxis que se observa en algunos insectos y flores. Este es un robot que persigue la luz, para que esto funcione el robot necesita al menos dos sensores de detección de luz, delante y espaciados entre sí.

Figura 1: Luz prototipo siguiendo al robot Arduino
Descripción:
Requisitos previos y equipo:
Necesitará lo siguiente:
-
Una placa Arduino o un clon de Arduino (aquí tienes una guía si la necesitas)
-
Dos motores CC.
-
Un módulo Bluetooth TTL-UART de 5v.
-
Chasis de robot y ruedas que se adaptan al tamaño del chasis y motor.
-
Arduino IDE para programación.
Principio de funcionamiento:
Arduino Clone se utiliza aquí para leer la intensidad de la luz de estos dos fotorresistores y hacer una comparación y dirigir el robot en la dirección de la luz. Por ejemplo, si ambos fotorresistores se vuelven más livianos, el robot debería moverse en línea recta. Si el fotorresistente correcto recibe más luz que el robot correcto, debería girar hacia la derecha.
Otra especialidad de este proyecto es que usando el mismo código y algunas modificaciones en el hardware podemos hacer que el robot evite objetos, inclinando el Fotorresistor hacia el suelo para que podamos aprovechar las sombras del objeto para evitar el objeto evitando el oscuridad.
Este robot Photovore también se puede cambiar a un robot Photophobe simplemente invirtiendo la conexión de los motores, es decir, conectando el motor derecho al izquierdo y también invirtiendo los terminales positivo y negativo.

Figura 2: Diagrama de bloques de la luz que sigue al robot Arduino
El sensor que estamos usando aquí es una resistencia dependiente de la luz (LDR) que exhibe fotoconductividad. Su resistencia aumenta al disminuir la intensidad de la luz y viceversa. Para usarlos como sensor, tenemos que medir la caída de voltaje en el LDR. Porque un cambio de resistencia significa un cambio de voltaje.
Dos formas diferentes del principio del divisor de voltaje para implementar esto son aumentar el voltaje con luz. (R*Vin)/(R+Rfoto) = Vsalida

Figura 3: Diagrama de circuito de la red divisora de voltaje sensible a la luz
Otra es la disminución de la tensión con la luz. (Rfoto *Vin)/(R+Rfoto) = Vout

Fig. 4: Diagrama de circuito de la red divisora de voltaje sensible a la oscuridad
Hay tres pasos para determinar qué resistencia debemos usar para R. Para hacer esto, primero necesitamos medir la resistencia en el fotorresistor en dos situaciones usando un multímetro. La primera situación es la luz más oscura del Robot. La segunda situación es la luz más brillante del Robot. Ahora, necesitamos multiplicar los dos valores de resistencia; encontrar la raíz cuadrada del total dará el valor de resistencia que debes usar.
Montaje de herrajes:
Haga el circuito como se muestra en el diagrama del circuito. Monta el robot con las piezas seleccionadas y conecta los motores al circuito. Los optoacopladores se utilizan para proteger Arduino de peligros de alto voltaje.
Descripción del código:
configuración vacía {
sensorValue1 = analogRead(LDR1);
sensorValue2 = analogRead(LDR2);
IZQUIERDA = valor del sensor 1/100;
DERECHA = sensorValue2/100;
N IZQUIERDA = IZQUIERDA;
NR DERECHA = DERECHA;
}
La parte anterior del código es para medir la intensidad de la luz normal y almacenar este valor para compararlo en el futuro y estabilizar el robot.
Las siguientes condiciones se utilizan para navegar por el robot:
if ((IZQUIERDA == N IZQUIERDA) && (DERECHA == NR DERECHA))
Condición para comparar los valores LDR actuales con los valores LDR normales, para detener el robot cuando no hay cambios.
if ((IZQUIERDA > N IZQUIERDA) && (DERECHA > NR DERECHA)&&(DERECHA == IZQUIERDA))
Condición para mover el robot hacia adelante si ambos valores LDR aumentan.
if ((DERECHA > IZQUIERDA)&&((IZQUIERDA > NIZQUIERDA) (DERECHA > NR DERECHA)))
Condición para mover el robot hacia la derecha si se aumentan ambos valores de LDR.
if ((IZQUIERDA > DERECHA)&&((IZQUIERDA > NIZQUIERDA) (DERECHA > NR DERECHA)))
Condición para mover el robot hacia la izquierda si se aumentan ambos valores de LDR.
Diagramas de circuito
| Luz basada en Arduino siguiendo el diagrama del circuito del robot | ![]() |
Vídeo del proyecto
