Kit Expansión.-Robot móvil Seguidor de luz · KIT EXPANSIÓN- ROBOT MÓVIL SEGUIDOR DE LÍNEAS 2...

7
KIT EXPANSIÓN- ROBOT MÓVIL SEGUIDOR DE LÍNEAS WWW.STORE.ROBODACTA.MX 1 Kit Expansión.-Robot móvil Seguidor de luz

Transcript of Kit Expansión.-Robot móvil Seguidor de luz · KIT EXPANSIÓN- ROBOT MÓVIL SEGUIDOR DE LÍNEAS 2...

KIT EXPANSIÓN- ROBOT MÓVIL SEGUIDOR DE LÍNEAS WWW.STORE.ROBODACTA.MX 1

Kit Expansión.-Robot móvil

Seguidor de luz

KIT EXPANSIÓN- ROBOT MÓVIL SEGUIDOR DE LÍNEAS WWW.STORE.ROBODACTA.MX 2

Robot seguidor de LUZ

Un robot seguidor de luz es capaz de tomar decisiones dependiendo únicamente de

una fuente luminosa, como su nombre lo indica este robot es capaz de seguir una luz. Los

sensores que se utilizan son sensibles a reaccionar con los cambios de luminosidad del

entorno.

Nota: Para este kit se necesita el Kit Básico Robodacta

Material -Material del robot Movimientos básicos (consultar PDF aquí )

-Mini Protoboard

- 4 cables jumper Macho-Macho

-2 LDR

-2 resistencias de 10K

-cable UTP o de conexión

Paso 1 Ensamblaje

KIT EXPANSIÓN- ROBOT MÓVIL SEGUIDOR DE LÍNEAS WWW.STORE.ROBODACTA.MX 3

KIT EXPANSIÓN- ROBOT MÓVIL SEGUIDOR DE LÍNEAS WWW.STORE.ROBODACTA.MX 4

Los sensores que se utilizan comúnmente en un robot seguidor de luz son las

fotorresistencias o los LDR como también se conocen. El funcionamiento de una

fotorresistencia es parecido al de un potenciómetro, ambos cambian el valor de su resistencia

solo que a diferencia del potenciómetro que hay que hacerlo manual, este cambia su

resistencia dependiendo de la cantidad de luz que incida en él.

El circuito que observamos es un divisor de voltaje, que está conectado a las entradas

analógicas del arduino, como el voltaje es una señal analógica esta será procesada por medio

de un convertidor analógico digital, que hará una relación entre 0 y 1023 y 0 y 5v permitiendo

hacer uso de esos valores en el programa (en este caso hablando de un convertidor de 10bits)

KIT EXPANSIÓN- ROBOT MÓVIL SEGUIDOR DE LÍNEAS WWW.STORE.ROBODACTA.MX 5

Paso 2 Programación

//Robodacta Robot Expansión Seguidor de Luz

// Declaración de variables

int senD,senI;// terminales de LDR derecho e izquierdo

int ena=9;// terminal 9 y 7 controlan motor 1

int enb=7;

int enaa=10;// terminal 10 y 8 controlan motor 2

int enbb=8;

int sen=0;

/*Declaración de entradas y salidas, en este caso como A0 Y A5 ya están

definidas como entradas analógicas no se pondrán en void setup */

void setup() {

pinMode(ena,OUTPUT);

pinMode(enb,OUTPUT);

pinMode(enaa,OUTPUT);

pinMode(enbb,OUTPUT);}

// comienza void loop

void loop() {

senD=analogRead(A0); // lee el valor del pin A0 y asígnalo a senD

senI=analogRead(A5); // lee el valor del pin A5 y asígnalo a senI

sen= senD-senI; // sen será igual a la resta de ambos valores anteriores

if (sen<26 && sen >-1 && senD>450 && senI>450){ // si está entre 0 y 25 y los

sensores mayor que 450 ejecuta adelante

adelante();

}

if(senD<400 && senI<400){ // si ambos sensores son menores a 400 entonces

ejecuta alto

alto(); }

if (sen>25 && senD>450 ) // si sen es mayor de 25 y el sensor derecho es mayor a

450 ejecuta derecha

{derecha();}

if (sen<0 && senI>450) // si sen es menor que 0 y el sensor izquierdo es mayor a

450 ejecuta izquierda

{izquierda();}

}

// Establecer subrutinas para ejecutar movimientos

KIT EXPANSIÓN- ROBOT MÓVIL SEGUIDOR DE LÍNEAS WWW.STORE.ROBODACTA.MX 6

void atras(){

digitalWrite (ena, LOW);// LOW estado bajo 0

digitalWrite (enb, HIGH);//HIGH estado alto 1

digitalWrite (enaa, LOW);

digitalWrite (enbb, HIGH);}

void adelante(){

digitalWrite (ena, HIGH);

digitalWrite (enb, LOW);

digitalWrite (enaa, HIGH);

digitalWrite (enbb, LOW);}

void derecha(){

digitalWrite (ena, HIGH);

digitalWrite (enb, LOW) ;

digitalWrite (enbb,LOW);

digitalWrite (enbb,HIGH);}

void izquierda (){

digitalWrite (ena,LOW);

digitalWrite (enb,HIGH);

digitalWrite (enaa, HIGH);

digitalWrite (enbb,LOW);}

void alto(){

digitalWrite (ena, LOW);// LOW estado bajo 0

digitalWrite (enb, LOW);//HIGH estado alto 1

digitalWrite (enaa, LOW);

digitalWrite (enbb, LOW);}

Puedes descargar el programa desde este enlace ProgramaSeguidorLuz

Se tiene la declaración de variables en la parte de arriba, y en void setup la declaración

de variables como entrada o como salida. En este programa solo tenemos las salidas que van

hacia el motor y no indicamos las entradas que son analógicas ya que el Arduino IDE ya

reconoce A0 y A5 como entradas analógicas.

La idea principal del robot es que cuando la fotorresistencia de la izquierda capte

mayor cantidad de luz que la derecha este ejecute un movimiento hacia la derecha para

seguir la fuente luminosa, en caso que la fotorresistencia de la derecha capte mayor cantidad

de luz que el de la izquierda entonces ejecute movimiento hacia la derecha.

KIT EXPANSIÓN- ROBOT MÓVIL SEGUIDOR DE LÍNEAS WWW.STORE.ROBODACTA.MX 7

Esto se hace con la variable sen que es la diferencia entre las dos señales, así

tendremos valores negativos y positivos que nos ayudara a saber a qué lado girar.

Hay que tomar en cuenta que los sensores estarán dando valores de 0 1023, el

programa responde ante estas variables del entorno. Cuando se tenga el robot en una área

oscura con poca luz, el robot tendrá valores menores a 400, por eso en ese valor le diremos

que este en alto.

Cuando los sensores tengas valores arriba de los 450 empezará a moverse hacia

adelante siempre y cuando también sen este dentro de 0 a 25. Cuando haya menos luz los

sensores alcanzarán valores menores como 300, 200 y cuando haya más luz estos estarán con

valores más altos como 500, 600, 900 etc.

Paso 3 Poniéndolo en marcha

Abrimos el arduino IDE y cargamos el programa, recordando nuevamente no tener

puesto el conector de barril con la batería de 9v mientras se tiene conectada la tarjeta con la

computadora.

Aquí hay un video donde puedes observar cómo debe de funcionar

https://youtu.be/VkRUIXCdvHk