INFORME SIGUE LINEAS
MARTINEZ, MAURICIO EFRAIM
CURSO: 3º2ªC.S.T
FECHA: 25/11/2014
ESPACIO CURRICULAR: TECNOLOGÌA DE CONTROL
LABORATORIO DE INSTRUMENTACIÒN Y MEDICIÒN
PROYECTO DE SIGUE LINEAS CON ARDUINO
El cerebro de este seguidor de linea es una placa deArduino UNO; los sensores de linea son dos pares de Fototransistores y fotodiodos; para controlar el giro de los Motor-reductores se utiliza un L293.
La etapa 2 y 3 representa el opto-acoplador, la etapa 3 es simplemente el foto-diodo conectado a la batería; en la etapa 2 se encuentra el foto-transistor que recibe la luz infrarroja que emite el foto-diodo al reflejarla sobre el suelo (lalínea), pero la señal que sale de esta etapa es muy baja, por lo que utilizo la etapa 1 para amplificarla y conectarla al arduino, recuerda que los pines 2 y 3 del arduino deben ser configurados como entradas digitales .
PROGRAMA DEL ROBOT
Proyecto seguidor de linea
*/
//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 == 1 && sensorValueDer ==0) //Giro a la Izquierda
{
digitalWrite(AdelanteIzq,1);
digitalWrite(AdelanteDer,0);
digitalWrite(AtrasDer,1);
digitalWrite(AtrasIzq,0);
} else if (sensorValueIzq == 0 && sensorValueDer == 1) //Giro a la Derecha
{
digitalWrite(AdelanteIzq,0);
digitalWrite(AdelanteDer,1);
digitalWrite(AtrasDer,0);
digitalWrite(AtrasIzq,1);
}
}
ELEMENTOS EMPLEADOS PARA LA CONSTRUCCION DEL SIGUE LINEAS.
Motorreductores de plástico:
Sensores CNY70
Cuando el LED infrarrojo del CNY70 es alimentado comienza a emitir luz en un espectro que queda fuera de nuestro alcance visual. Este haz de luz, si se encuentra con un objeto a pocadistancia, es capaz de rebotar e incidir sobre el receptor del sensor.
Dependiendo de como hayamos montado el sensor, el receptor entregará un 1 o un 0 cuando la luz le es devuelta y el valor contrario en caso de estar "a oscuras".
Estos son las dos configuraciónes del CNY70. En la A, el emisor devolverá un 1 cuando este recibiendo luz y un 0 en casocontrario. En el modo B el emisor devolverá un 1 si no recibe nada y un 0 en caso de estar recibiendo luz
Si alimentamos el sensor con 5V lo normal es utilizar para RD 220 Ohms y para RT 10 KOhms
Es el tipo de lectura más útilizada, se emplea cuando simplemente nos interesa saber si delante de nosotros hay algo o no lo hay.
El problema es que el emisor no...
Regístrate para leer el documento completo.