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

Slides:



Advertisements
Presentaciones similares
Estructuras condicionales
Advertisements

Sensor proximidad.
Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios
Estructuras de decisión en C
Entendiendo la definición de clases
PHP-MYSQL OPERADORES EN PHP
Noción de lógica Cuantificacional
Estructuras de control
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Unidad 2 Algoritmos y resolución de problemas
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Preguntas tipo test (Tema I)
COMPUTER DATA SYSTEMS.
Los condicionales IF en PHP Programación en Internet II.
Programas Son una serie o secuencia de instrucciones entendibles por los ordenadores que permiten la realización de las acciones o tareas para las que.
VISUAL BASIC CONSOLA Todas las ordenes o instrucciones se digitan dentro de sub Main() y End Sub ÁREA DE TRABAJO: Las aplicaciones de consola son aquellas.
¿Cómo desfragmentar un disco duro?
Las variables en PHP Programación en Internet II.
2 Acciones y funciones 2.1 Concepto
Funciones y procedimientos
Matemáticas Discretas y Algoritmos
Ingeniero Anyelo Quintero
Tercera Clase Patricio A. Navarrete Septiembre 10 de 2011.
ESTRUCTURAS DE CONTROL
Programación de Computadores
Clase V: Seguidor de línea + pelotas
FUNCIONES LOGICAS SI(PL;V_V;V_F)
LÓGICA PROPOSICIONAL.
Capítulo 1 “Elementos de Programación”
SENTENCIAS DE CONTROL Ing. José Antonio Poma G..
Tablas de verdad en PHP Programación en Internet II.
Valor X Valor Y Punto (0,0) Coordenadas.
LOGICA DE ENUNCIADO LOGICA DE PREDICADO
Programación Básica con NQC Patricio A. Castillo Pizarro 25/08/2007.
Adquisición Entrada-Sistema-Salida Entradas Procesamiento Comunicación Transmisión Procesamiento Comunicación Recepción Visualización, Presentación.
Integrantes: David Miguel Martínez Rodríguez Diego David Bósquez Granja.
RESTA DE FRACCIONES DEL PRIMER TIPO.
Unidad II: Fundamentos de Programación
Operadores lógicos en PHP Programación en Internet II.
Lógica de enunciado La lógica de enunciados o de proposiciones es el nivel más básico de análisis lógico y descansa exclusivamente en las conectivas.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 18/08/2006.
LÓGICA SIMBÓLICA SE HA ESTABLECIDO QUE EN EL PROCESO DEL RAZONAMIENTO LÓGICO, LA VERDAD SÓLO SE OBTIENE SI SE CUMPLEN DOS CONDICIONES: 1.- LAS PROPOSICIONES.
CÁLCULO PROPOSICIONAL
Términos algoritmo diseñar algoritmo implementar algoritmo
Patricio A. Castillo José M. Galarce Agosto 23 de 2008 Segunda Clase.
Programación Básica con NQC Patricio A. Castillo 12/04/2008.
Argumentos Deductivos e Inductivos
LENGUAJE “C” Programación.
AMIGOS DE SANTIAGO VILA
Presente un cuestionario con los aspectos mas importantes sobre los
Las fórmulas más usadas en excel
HERRAMIENTAS OFIMÁTICAS M.S.C. IVETTE HERNÁNDEZ DÁVILA
Devuelve el valor lógico FALSO. Sintaxis: FALSO( ) Observación: También puede escribir la palabra FALSO directamente en la hoja de cálculo o en la fórmula.
Introducción al lenguaje PROCESSING para ARDUINO
Estructuras de Decisión
Robótica para Todos Clase III: Sensórica.
Clase I: Introducción y Ensamble Etapa I
ESTRUCTURA DE CONTROL REPETITIVAS: WHILE, DO… WHILE
Décimo Curso de Programación Básica con NQC “Segunda Clase” Cristián Arenas Ulloa Agosto 29 de 2009.
Tema 8: Programación estructurada Introducción La importancia del conocimiento de programación es mucho mayor de lo que se piensa. Aprender a programar.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 5.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 3 – Diseño de Programas.
Dpto. de Electrónica - Universidad de AlcaláTuBot GUIA DE MONTAJE Y PROGRAMACIÓN MOTORES TuBot 2015.
1 Clase 6: control (1ª parte) iic1102 – introducción a la programación.
Entrada y Salida en C++, Estructuras de Control Prof. Manuel B. Sánchez.
ALGORITMOS Asignatura: Informática. Algoritmos Conjunto de instrucciones ordenadas de forma lógica y precisa, con un inicio y fin que permite resolver.
Practica 1 Componentes del Robot. Sensor Ultrasónico El Sensor Ultrasónico de Distancia PING (o "PING)))" como lo denomina el fabricante) tiene una interfaz.
SISTEMAS DE AUTOMATIZACIÓN Y CONTROL ORIENTADO AL CONOCIMIENTO Y APLICACIÓN DE LOS SISTEMAS EMBEBIDOS SESION 04 José Luis Albites Sanabria MSc. Biomedical.
Transcripción de la presentación:

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

¿Qué es un Sensor de Línea?

¿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. Jennifer

Tipos de Sensores Luz visible. Campo eléctrico. Luz infrarroja. Campo magnético Sonido audible. Humedad Ultra sonido. PH Temperatura. Presión. Velocidad. Jennifer

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.

Sensor de Línea Este sensor está compuesto de un DIODO EMISOR INFRARROJO y un FOTOTRANSISTOR.

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.

Ensamble de Sensores Colocar la segunda Plataforma (PF)

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

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. Ruta: Archivo>Innobo>LineSensor>LineTest2

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

Función sensorRead() Descripción Hará la lectura del valor del sensor que deseemos   Sintaxis SensorRead (PORT); Parámetros PORT: indica el puerto del cual se quiere obtener su valor, los valores posibles J1, J2, J3, J4, J5, J6 Devuelve Un valor entero, que será el valor que el sensor le enviara a la tarjeta

Monitor Serie

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.

Clases de proposición Proposiciones Simples Proposiciones Compuestas 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 Compuestas Son 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.

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

Condicionales: Sentencia if - else En nuestro lenguaje En C++ Si Entreno duro Entonces Gano la competencia Si no Entonces Perderé la competencia if(acción==entrenar duro){ Ganare la competencia; } else { Perderé la competencia; Si _________________   if(______________){ _________________; else{

Cuantificadores < Menor que <  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)

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.

Operadores Lógicos Símbolo Nombre Función && Y (Conjunció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.

Calibrar Sensores

lineCompare() Descripción Asignara el valor de referencia como el leído para una superficie blanca y asignara un rango de valores para negro. Sintaxis lineCompare (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, J6 valor_de_referencia: este será el valor en la que mediante el test de monitor serial se lee mientras esta en una superficie blanca. Devuelve N/A: Esta función no me devuelve ningún valor.

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

Función lineRead() Descripción Detecta si hay una superficie negra o blanca, se utiliza para que nuestro robot siga una línea negra o blanca. Sintaxis lineRead(PORT); Parámetros PORT: indica el puerto del cual se quiere obtener su valor, los valores posibles J1, J2, J3, J4, J5, J6 Devuelve WHITE (1) - Si la superficie es Blanca. WHITE>valor_de_referencia BLACK (0) - Si la superficie es negra. 50 <BLACK<valor_de_referencia VOID (3) - Si la superficie no devuelve un valor de negro o blanco. VOID<50

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

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

Y el cuarto caso.. if(lineRead(J5)== BLACK &&.lineRead(J1) == BLACK){ motorOff(M2,M1); }

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.

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

¿Cómo girar en una intersección?

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

Completa y Analiza //Paramos un momento ________(M1); ________(__); delay(___); //Garantizamos que el robot salga de la intersección motorOn(__,_______); _____(____); //Garantizamos que el robot salga de la pista girando un poco //Utilizamos la función mientras - while while(lineRead(__) == WHITE){ //Girar }

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

Próxima Clase Aprenderemos 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.