Kit-Expansión Robot móvil evasor de obstáculos con...

8
KIT EXPANSIÓN- ROBOT MOVIL EVASOR DE OBSTÁCULOS CON SENSORES INFRARROJOS WWW.ROBODACTA.MX 1 Kit-Expansión Robot móvil evasor de obstáculos con sensores infrarrojos

Transcript of Kit-Expansión Robot móvil evasor de obstáculos con...

Page 1: Kit-Expansión Robot móvil evasor de obstáculos con ...store.robodacta.mx/Material/Kit-Robotevasordeobsta... · kit expansiÓn- robot movil evasor de obstÁculos con sensores infrarrojos

KIT EXPANSIÓN- ROBOT MOVIL EVASOR DE OBSTÁCULOS CON SENSORES INFRARROJOS WWW.ROBODACTA.MX 1

Kit-Expansión Robot móvil

evasor de obstáculos con

sensores infrarrojos

Page 2: Kit-Expansión Robot móvil evasor de obstáculos con ...store.robodacta.mx/Material/Kit-Robotevasordeobsta... · kit expansiÓn- robot movil evasor de obstÁculos con sensores infrarrojos

KIT EXPANSIÓN- ROBOT MOVIL EVASOR DE OBSTÁCULOS CON SENSORES INFRARROJOS WWW.ROBODACTA.MX 2

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

- elementos de sujeción

a)4 tornillos 7/16” 2-56 y 4 tuercas 2-56”

b)2 soporte en escuadra

-MiniProtoboard

-6 cables jumper Macho-hembra

- 4 cables jumper Macho-Macho

-2 sensores infrarrojos GP2Y0D815Z0F 15cm PCB

-tira de pines ( si tienes cable jumper H-H ) si no en vez de eso utiliza el cable

jumper H-M)

Robot evasor de obstáculos

Cuando se habla de un robot evasor de obstáculo se trata de un robot que por medio de

sensores puede evadir ciertos obstáculos que se encuentren a su alrededor. Cuando el sensor

detecta algún objeto que obstruya el camino del robot, mandará una señal al controlador

(Driver) que a su vez mandará una señal a los motores para realizar una acción en específico.

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

Paso 1 Ensamblaje

Colocaremos la protoboard y seguiremos los pasos tal y como lo muestran las figuras.

Tomando en cuenta que el soporte en escuadra azul será reemplazado por el soporte

metálico de la siguiente figura

Page 3: Kit-Expansión Robot móvil evasor de obstáculos con ...store.robodacta.mx/Material/Kit-Robotevasordeobsta... · kit expansiÓn- robot movil evasor de obstÁculos con sensores infrarrojos

KIT EXPANSIÓN- ROBOT MOVIL EVASOR DE OBSTÁCULOS CON SENSORES INFRARROJOS WWW.ROBODACTA.MX 3

Si tiene cables jumper Hembra-Hembra es mejor que utilices estas tiras (como se indica en el

paso 1) para hacer las conexiones que se necesiten. Si tienen cables jumper Macho-Hembra

sería lo ideal para omitir este paso y conectarlos directamente.

Recuerda que los soportes ahora son los metálicos pero se ensamblan de la misma manera

siguiendo el paso 2.

Page 4: Kit-Expansión Robot móvil evasor de obstáculos con ...store.robodacta.mx/Material/Kit-Robotevasordeobsta... · kit expansiÓn- robot movil evasor de obstÁculos con sensores infrarrojos

KIT EXPANSIÓN- ROBOT MOVIL EVASOR DE OBSTÁCULOS CON SENSORES INFRARROJOS WWW.ROBODACTA.MX 4

Page 5: Kit-Expansión Robot móvil evasor de obstáculos con ...store.robodacta.mx/Material/Kit-Robotevasordeobsta... · kit expansiÓn- robot movil evasor de obstÁculos con sensores infrarrojos

KIT EXPANSIÓN- ROBOT MOVIL EVASOR DE OBSTÁCULOS CON SENSORES INFRARROJOS WWW.ROBODACTA.MX 5

Los sensores tienes tres terminales que son: GND, VCC y OUT. Estas dos primeras son la

alimentación del sensor (negativo y positivo) respectivamente y la terminal de OUT es la señal

de salida. Por medio de ésta señal podremos saber si un objeto ha sido detectado, por lo que

irá directamente a las terminales de la tarjeta controladora (Arduino, RedBoard, etc).

Los sensores se alimentarán con 5V, mismos que tomaremos del regulador que viene por

defecto en la tarjeta que vamos a utilizar.

Paso 2 Programación

//Robodacta Robot Expansión evasor de obstáculos

//Declararación de variables

int value= 1; //este valor vale 1, no está en el pín 1

int irsensorD=3; // receptor derecho

int irsensorI=2; // receptor 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;

// inicia void setup

void setup (){

pinMode(irsensorD,INPUT); // elegimos si los pines son entradas o salidas

pinMode(irsensorI,INPUT);

pinMode(ena,OUTPUT);

pinMode(enb,OUTPUT);

pinMode(enaa,OUTPUT);

pinMode(enbb,OUTPUT);

}

// inicia Void Loop

void loop ()

// iniciamos el programa con void adelante

{

adelante();

/*1. Usamos sentencia if que permite poner condiciones a una acción, si se cumple tal

condición

se ejecuta lo que hay dentro del if, si no se cumple entonces no habra cambios y el

programa no lo ejecutará.

2. usaremos value para crear la condicion de sensado si value =0 entonces

Page 6: Kit-Expansión Robot móvil evasor de obstáculos con ...store.robodacta.mx/Material/Kit-Robotevasordeobsta... · kit expansiÓn- robot movil evasor de obstÁculos con sensores infrarrojos

KIT EXPANSIÓN- ROBOT MOVIL EVASOR DE OBSTÁCULOS CON SENSORES INFRARROJOS WWW.ROBODACTA.MX 6

la sentencia if se ejecuta, si value=1 entonces la sentencia if no se ejecuta y

ejecuta adelante y no ha

detectado ningun objeto */

value=1;

value=digitalRead(irsensorD);// value lee el valor digital del sensor D y adopta ese

valor

if (value==0) // si value es igual a 0 ejecuta la siguiente acción

{ alto();

delay(200);

atras();

delay (2000);

izquierda ();

delay (1000);

adelante ();}

adelante ();

value=digitalRead(irsensorI); // value lee el valor digital del sensor I y adopta ese valor

if (value==0)

{ alto();

delay(200);

atras ();

delay(2000);

derecha ();

delay (1000);

adelante ();}

}

// Establecemos subrutinas

// void para controlar cada sentido del robot

void atras(){

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

digitalWrite (enb, 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 izquierda(){

Page 7: Kit-Expansión Robot móvil evasor de obstáculos con ...store.robodacta.mx/Material/Kit-Robotevasordeobsta... · kit expansiÓn- robot movil evasor de obstÁculos con sensores infrarrojos

KIT EXPANSIÓN- ROBOT MOVIL EVASOR DE OBSTÁCULOS CON SENSORES INFRARROJOS WWW.ROBODACTA.MX 7

digitalWrite (ena, HIGH);

digitalWrite (enb, LOW) ;

digitalWrite (enaa,LOW);

digitalWrite (enbb,HIGH);}

void derecha (){

digitalWrite (ena,LOW);

digitalWrite (enb,HIGH);

digitalWrite (enaa, HIGH);

digitalWrite (enbb,LOW); }

void alto () {

digitalWrite (ena,LOW);

digitalWrite (enb,LOW);

digitalWrite (enaa, LOW);

digitalWrite (enbb,LOW); }

Puedes descargar el programa desde aquí ProgramaRobotEvasor

Observamos entonces que tenemos la zona de declaración de variables irsensorD,

irsensorI son las variables asignadas a las terminales 2 y 3. Éstas serán variables enteras, que

significa que tendrán números sin decimales. Estos tipos de sensores están diseñados para

entregar un 0 o un 1 lógico dependiendo de la distancia a la que se encuentre. No son una

señal analógica que cambia conforme al tiempo. Es más bien un si detecto o no detecto. Por

lo que no usaremos las terminales de entrada analógica de la Tarjeta de control.

Tenemos también ena, enb, enaa y enbb, como ya lo habíamos observado en el

programa anterior donde solo programamos el robot para realizar algunos movimientos

básicos por periodos de tiempo, son las variables que controlan la etapa de potencia.

Value es una variable que se usa dentro de la programación, en ésta indicamos que su

valor será de 1 y no que estará en el pin 1. Sera una variable del sistema que no tendrá un pin

físico y nos ayudará a leer los valores de las terminales físicas donde se encuentran los

sensores.

En void setup tenemos las entradas y salidas. IrsensorD e irsensorI serán entradas y las

señales hacia los motores serán salida.

El programa del Kit con movimientos básicos solo contenía las salidas hacia la etapa de

potencia, pero ahora agregamos las que pertenecen a los sensores para darle cierto grado de

autonomía.

Page 8: Kit-Expansión Robot móvil evasor de obstáculos con ...store.robodacta.mx/Material/Kit-Robotevasordeobsta... · kit expansiÓn- robot movil evasor de obstÁculos con sensores infrarrojos

KIT EXPANSIÓN- ROBOT MOVIL EVASOR DE OBSTÁCULOS CON SENSORES INFRARROJOS WWW.ROBODACTA.MX 8

En void loop tenemos el cuerpo del programa, value iniciará con un valor de 1, pero

value será igual a el valor que tenga la terminal irsensorD o irsensorI dependiendo sea el caso.

Se usa la sentencia If indicando que la condición se cumplirá si value vale 0, esto es

cuando un objeto es detectado.

Las palabras atrás (), izquierda (), derecha (), adelante () y alto () son subrutinas ya establecidas

en el programa, usadas de la misma forma que en el programa anterior (kit básico)

Los delays son utilizados para marcar el tiempo en el que se realizará la acción.

Físicamente actuará de esta manera, el robot irá hacia adelante hasta que detecte un

obstáculo, esto hará que el sensor mande un 0 lógico al controlador que entonces ejecutará

las subrutinas de detener por 2s, atrás por 2s y luego izquierda o derecha según sea el caso

por 1s, después de esto el robot seguirá nuevamente hacia adelante hasta que otro de los

sensores se haya activado.

Paso 3 Poniéndolo en marcha

Se usará el Arduino IDE para cargar el programa a la tarjeta. Recuerda que mientras

cargues los programas a la tarjeta no debes de tener puesto el conector de barril macho de

alimentación. Luego de esto debió haberte quedado algo como en la figura de abajo.

En la siguiente liga podrás observar un video con su funcionamiento.

https://www.youtube.com/watch?v=FRbIWZCnvD0