ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Seguidor De Linea


Enviado por   •  17 de Septiembre de 2013  •  331 Palabras (2 Páginas)  •  450 Visitas

Página 1 de 2

Seguidor de lineas.

En este proyecto se utilizó un pequeño diseño para realizar el seguidor de lineas. Cuenta con 2 sensores que serán los encargados de seguir la linea, arduino se encargara de realizar la parte lógica ya que este tomara las desciones a partir de las señales de entrada mandadas por los sensores.

El proyecto es muy fácil, solo se tiene que tener cuidado de que todo se encuentre en buen funcionamiento y que todo este conectado de una forma correcta y tener cuidado de que no se cometan fallas.

El equipo necesario es:

-2 motores CD

-2 sensores OP8012

-Base

-Arduino

Con lo anterior se realizara el proyecto, se tomara en cuenta de que este proyecto debe de seguir una linea negra con fondo blanco. Esto lo hará porque la programación esta hecha de forra que cuando un sensor contenga un alto mande una señal a arduino y haga girar el motor del lado contrario, esto para que se mueva hacia el lado que debe de ir.

La programación:

//Driver para motores

const int AdelanteIzq = 10; 

const int AdelanteDer = 5;

const int AtrasIzq = 11;

const int AtrasDer = 6;

//Entradas digitales, sensores de linea

const int sensorIzq = 2;

const int sensorDer = 3;

//Para lecturas de linea

int sensorValueIzq = 0;

int sensorValueDer = 0;

void setup() {

   pinMode(AdelanteIzq, OUTPUT); 

   pinMode(AtrasIzq, OUTPUT); 

   pinMode(AdelanteDer, OUTPUT); 

   pinMode(AtrasDer, OUTPUT); 

   pinMode(sensorIzq,INPUT);

   digitalWrite(sensorIzq, HIGH); //pull-up

   pinMode(sensorDer,INPUT);

   digitalWrite(sensorDer, HIGH); //pull-up

   pinMode(13,OUTPUT);  //indicador de fuera de linea

}

void loop() {

  //Lectura de sensores

  sensorValueIzq = digitalRead(sensorIzq);

  sensorValueDer = digitalRead(sensorDer);

 //Indicador de línea

 if (sensorValueIzq == 1 || sensorValueDer ==1 )

 {

  digitalWrite(13,HIGH); 

 } else

 {

  digitalWrite(13,LOW); 

 }

 if (sensorValueIzq == 1 && sensorValueDer ==1) //Fuera de linea, se detiene

 {

     digitalWrite(AdelanteIzq,0);

     digitalWrite(AdelanteDer,0);

     digitalWrite(AtrasDer,0);

     digitalWrite(AtrasIzq,0);

 } else if (sensorValueIzq == 0 && sensorValueDer ==0) //Sobre la linea, camina adelante

 {

     digitalWrite(AdelanteIzq,1);

     digitalWrite(AdelanteDer,1);

     digitalWrite(AtrasDer,0);

     digitalWrite(AtrasIzq,0);

 } else if (sensorValueIzq ==

...

Descargar como (para miembros actualizados) txt (3 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com