Está en la página 1de 3

NOMBRE Y APELLIDOS

DNI / NIF

FECHA REALIZACIÓN 06/09/2022

ACTIVIDAD PRÁCTICA
Contesta en esta hoja de respuesta a los ejercicios que se plantean. Cuando finalices, sube
este mismo archivo al buzón correspondiente.

TÍTULO: Programación y Robótica en el Aula

OBJETIVO GENERAL: Conocer el funcionamiento de la programación y Robótica


en el Aula

DURACIÓN: 2 horas.

DESARROLLO DE LA ACTIVIDAD:

El/la alumno deberá contestar a cada una de las cuestiones que se platean a
continuación:

1. ¿Cómo funciona un robot huye-luz?

Escribe aquí la respuesta…


Un robot huye luz funciona como su nombre indica huyendo de la luz en dirección contraria a la
que lo detecta. El robot está provisto de dos sensores de luz, estos detectan la cantidad de luz
ofreciendo medidas entre 0 y 500. Cuando uno de los sensores detecta una cantidad de luz
hace que el robot gire en dirección contraria a donde procede la luz. Cuando los sensores
detecten oscuridad el robot se detendrá. Si el sensor derecho detecta luz el robot girará a la
izquierda y al contrario si el sensor izquierdo detecta luz el robot girará a la derecha. En el caso
de que ambos sensores detecten luz el robot avanzara recto en busca de oscuridad.

2. Explica la programación de un huye luz.

Escribe aquí la respuesta…

Pág. 1
Lo primero es declarar dos variables que asociaremos con los dos sensores de luz conectados
a los pines, por ejemplo, A2 y A3. A estos los llamaremos luz_derecha y luz_izquierda. Estos
sensores nos lanzaran un valor de 500 en plena luz y de 0 en oscuridad total.

#include <Servo.h>

/*** Global variables ***/


Servo servo_6;Servo servo_9;

/*** Function declaration ***/

void setup()
{
servo_6.attach(6);
servo_9.attach(9);
}

A continuación indicaremos al robot que debe avanzar rápido en el caso que ambos sensores
detecten más de 300 lo que indica que hay mucha luz.
void loop()
{
int luz_derecha=analogRead(A2);
int luz_izquierda=analogRead(A3);
if ((luz_derecha > 300) && (luz_izquierda > 300)) {
servo_6.write(0);
delay(20);
servo_9.write(0);
delay(20);
}
Luego le indicamos que si detecta más luz en el sensor derecho debe girar a la izquierda
porque hay menos luz.
if (luz_derecha > luz_izquierda) {
servo_6.write(180);
delay(20);
servo_9.write(90);
delay(20);
}
Y al contrario si el sensor izquierdo detecta mas luz el robot debe girar a la derecha.
if (luz_derecha < luz_izquierda) {

Pág. 2
servo_6.write(90);
delay(20);
servo_9.write(0);
delay(20);
}
Para terminar le indicamos que cuando ningún sensor detecte luz el robot debe detenerse.
Este lo hará cuando detecte menos de 100.
if ((luz_derecha < 100) && (luz_izquierda < 100)) {
servo_6.write(90);
delay(20);
servo_9.write(90);
delay(20);
}

}
Y con esto ya hemos acabado de programar nuestro robot huye luz

Pág. 3

También podría gustarte