38
Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Embed Size (px)

Citation preview

Page 1: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Robótica EducativaClase II: Sensores de Línea y Lógica Proposicional

Page 2: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

¿Qué es un Sensor de Línea?

Page 3: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

¿Qué es un sensor?

Un sensor es un dispositivo diseñado para captar determinada información; una magnitud del exterior y transformarla en otra magnitud, que seamos capaces de cuantificar y manipular.

Page 4: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Tipos de Sensores

Luz visible.

Luz infrarroja.

Sonido audible.

Ultra sonido.

Temperatura.

Presión.

Velocidad.

Campo eléctrico.

Campo magnético

Humedad

PH

Page 5: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Sensor de Línea

Un sensor de línea o sensor réflex, es un sensor con la posibilidad de detectar la capacidad que tiene un objeto de reflejar luz o no.

Page 6: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Sensor de Línea

Este sensor está compuesto de un DIODO EMISOR INFRARROJO y un FOTOTRANSISTOR.

Page 7: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Ensamble de Sensores• Usar los tornillos #40.

pasarlos por el orificio del Sensor de línea (LS), por el Separador Circular (CS), por el Poste #25 (P25). insértalos en la Plataforma (PF) en los orificios que muestra la figura, realizar la sujeción con las tuercas T3.

Page 8: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Ensamble de Sensores•Colocar la segunda Plataforma (PF)

Page 9: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Ensamble de Sensores•Ajustar la Plataforma (PF) por medio de las tuercas T3 y los tornillos #6.

Page 10: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Prueba de sensores

Vamos a probar los sensores de línea, para esto cargaremos un ejemplo muy sencillo desde la interfaz de programación Innobot IDE.

Page 11: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Prueba de Sensores 

 void setup() { Serial.begin(9600);}void setup (){ int sensorValue = sensorRead(J1); Serial.println (sensorValue); delay (1);}

Page 12: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Función sensorRead()DescripciónHará la lectura del valor del sensor que deseemos  SintaxisSensorRead (PORT); Parámetros

PORT: indica el puerto del cual se quiere obtener su valor, los valores posibles J1, J2, J3, J4, J5, J6

DevuelveUn valor entero, que será el valor que el sensor le enviara a la tarjeta

Page 13: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Monitor Serie

Page 14: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Lógica Proposicional

Page 15: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Qué es una proposición?

Una proposición es una frase declarativa y que, como tal, es una afirmación sobre algo que puede o no ser verdad. Esta no puede ser verdadera y falsa al mismo tiempo.

Page 16: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Clases de proposición

Proposiciones Simples Son aquellas que solo realiza una afirmación, es decir, aquellas que no tienen ningún conector.

Ejemplo:

Juan tiene 20 años

Manuela es una niña

Proposiciones CompuestasSon aquellas que tiene dos o más afirmaciones, es decir tiene uno o más conectores en ellas.

Ejemplo:

Juan tiene 20 años Y es hombre.

A Manuela le gusta jugar con muñecas O jugar con los carros.

Page 17: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Proposiciones y Condicionales

Si Juana hace sus deberes entonces obtiene buenas notas Si no entonces tendrá que reforzar.

Si Entonces Si no

Page 18: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Condicionales: Sentencia if - elseEn nuestro lenguaje En C++Si Entreno duroEntonces Gano la competenciaSi no Entonces Perderé la competencia

if(acción==entrenar duro){Ganare la competencia;}else {Perderé la competencia;}

Si Entonces _________________Si Entonces _________________ 

if(______________){ _________________;}else{_________________;}

Page 19: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Cuantificadores <  Menor que Este símbolo se utiliza para preguntar si hay un valor

menor que otro. Siempre de la siguiente manera A<B (A menor que B), B<C (B menor que C)

>  Mayor que Este símbolo se utiliza para preguntar si hay un valor mayor que otro. Siempre de la siguiente manera C>D (C mayor que D), D>F (D mayor que F).

<= Menor igual que

Este símbolo se utiliza para preguntar si hay un valor menor O igual que otro. Siempre de la siguiente manera A<=B (A menor O igual que B), B<=C (B menor O igual que C).

>= Mayor igual que

Este símbolo se utiliza para preguntar si hay un valor mayor O igual que otro. Siempre de la siguiente manera C>=D (C mayor O igual que D), D>=F (D mayor O igual que F)

Page 20: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Reto

Utiliza los conceptos aprendidos para hacer un programa que permita convertir el robot en un detector de borde. Para esto puedes utilizar la función sensorRead() y la sentencia if – else.

Page 21: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Operadores LógicosSímbolo Nombre Función

&& Y (Conjunc

ión)

Con Y le damos prioridad a el cumplimiento de dos o más sentencias a la vez.

|| O (Disyunci

ón)

Con O solo se debe cumplir una sentencia para adquirir un verdadero.

! Negación Este se utilizara para realizar la negación de algo, es decir si una sentencia es verdadera, pero se antecede de este símbolo, esta sentencia pasara a ser falsa.

Page 22: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Calibrar Sensores

Page 23: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

lineCompare()DescripciónAsignara el valor de referencia como el leído para una superficie blanca y asignara un rango de valores para negro. SintaxislineCompare (PORT, valor_de_referencia);Parámetros

PORT: indica el puerto del cual se quiere obtener su valor, los valores posibles J1, J2, J3, J4, J5, J6valor_de_referencia: este será el valor en la que mediante el test de monitor serial se lee mientras esta en una superficie blanca.

DevuelveN/A: Esta función no me devuelve ningún valor.

Page 24: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Calibrar Sensoresvoid setup(){ lineCompare (J1, valor_de_referenciaJ1); lineCompare (J2, valor_de_referenciaJ2); }void loop(){

}

Page 25: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Función lineRead()DescripciónDetecta si hay una superficie negra o blanca, se utiliza para que nuestro robot siga una línea negra o blanca.SintaxislineRead(PORT);Parámetros

PORT: indica el puerto del cual se quiere obtener su valor, los valores posibles J1, J2, J3, J4, J5, J6

DevuelveWHITE (1) - Si la superficie es Blanca. WHITE>valor_de_referenciaBLACK (0) - Si la superficie es negra. 50 <BLACK<valor_de_referenciaVOID (3) - Si la superficie no devuelve un valor de negro o blanco. VOID<50

Page 26: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Reto

Reescribe el código de detector de borde y utiliza la función lineRead() en vez de sensorRead(), calibra los sensores!!.

Page 27: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Seguidor de LíneaActividad: Utiliza todos los conocimientos hasta acá aprendidos para seguir correctamente la pista.

Page 28: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Caso Estado Sensores

Si Sensor derecho esta en BLANCO Y sensor izquierdo esta en BLANCO

Entonces

Voy hacia adelante

Las instrucciones para lograr esto son:

if(lineRead(J5) == WHITE && lineRead(J1) == WHITE){

motorOn(M1, FORWARD);

motorOn(M2, FORWARD);

}

Page 29: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Si Sensor derecho esta en NEGRO Y sensor izquierdo esta en BLANCO

Entonces

Giro hacia _________________

Las instrucciones para lograr esto son:

if(lineRead(J5) == ________ && lineRead(J1) == ________){

motorOn(M1, ________);

motorOn(M2, ________);

}

Page 30: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Si Sensor derecho esta en BLANCO Y sensor izquierdo esta en NEGRO

Entonces

Giro hacia _________________

Las instrucciones para lograr esto son:

if(lineRead(J5) == ________ && lineRead(J1) == ________){

motorOn(M1, ________);

motorOn(M2, ________);

}

Page 31: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Y el cuarto caso..

if(lineRead(J5)== BLACK &&.lineRead(J1) == BLACK){

motorOff(M2,M1); motorOff(M2,M1);

}

Page 32: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Reto

Completa los ejemplos anteriores y basados en ellos y en toda la experiencia que has adquirido haz que el Innobot siga la pista correctamente.

Page 33: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

InterseccionesYa sabes como seguir una línea, ahora debes aprender a sortear el primer obstáculo. Intersecciones!

Page 34: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

¿Cómo girar en una intersección?

Page 35: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Retomemos el código anterior

if(lineRead(J5) == BLACK && lineRead(J1) == BLACK){

motorOff(M2); motorOff(M1);}

¡Nuestro Robot debería hacer algo además de parar!

Veamos

Page 36: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Completa y Analiza//Paramos un momento

________(M1); ________(__);delay(___);

//Garantizamos que el robot salga de la intersección motorOn(__,_______); motorOn(__,_______); _____(____);

//Garantizamos que el robot salga de la pista girando un poco motorOn(__,_______); motorOn(__,_______); _____(____); //Utilizamos la función mientras - while

while(lineRead(__) == WHITE){ //Girar motorOn(__,_______);

motorOn(__,_______);}

Page 37: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Reto

Completa el ejemplo e intégralo a tu código principal, líbrate de esa molesta intersección!!

Page 38: Robótica Educativa Clase II: Sensores de Línea y Lógica Proposicional

Próxima ClaseAprenderemos como comenzar a Programar nuestro Innobot, es decir, vamos a darle instrucciones para que realice lo que deseamos. Luego nos introduciremos al maravilloso mundo de los sensores.