Programación Básica con “NQC”

18
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 15/04/2007

description

Programación Básica con “NQC”. Pedro F. Toledo – Patricio Castillo 15/04/2007. Objetivos del Curso. Se pretende que al final del curso los alumnos: Comprendan los conceptos fundamentales de Robótica y Control. Comprendan los conceptos de Algoritmo y Lenguaje de Programación. - PowerPoint PPT Presentation

Transcript of Programación Básica con “NQC”

Page 1: Programación Básica con “NQC”

Programación Básicacon “NQC”

Pedro F. Toledo – Patricio Castillo15/04/2007

Page 2: Programación Básica con “NQC”

Objetivos del Curso

Se pretende que al final del curso los alumnos:• Comprendan los conceptos fundamentales de Robótica y Control.• Comprendan los conceptos de Algoritmo y Lenguaje de Programación.• Sean capaces de desarrollar un algoritmo.• Dominen la implementación de algoritmos simples en el lenguaje “NQC”.• Puedan desarrollar y programar un robot con una función simple determinada.• Queden motivados en pro del desarrollo de tecnologías.

Page 3: Programación Básica con “NQC”

Evaluación

• El curso será evaluado con 2 pruebas (pr1 y pr2) de 60 minutos cada una, las pruebas tendrán una ponderación de 40% la primera y 60% la segunda con notas de 0 a 100.

• Se realizará una tercera prueba (pr3) de 60 minutos para aquellos alumnos que por razones justificadas no pudieron dar alguna de las 2 pruebas anteriores.

• Los alumnos deberán completar y entregar informes de cada uno de los 4 laboratorios (l1, l2, l3 y l4). Los cuatro laboratorios se considerarán obligatorios y darán lugar a un factor de laboratorio “∂”.

• La nota final (NF) será la multiplicación de la nota de las pruebas y el factor de laboratorio “∂”, se considerará aprobados a aquellos alumnos con nota igual o superior a 55.

• Si un alumno se encuentra dentro del rango 50-54, se le permitirá dar la prueba recuperativa (pr3), en la que el alumno deberá obtener al menos un (“110 – nota actual”) para poder aprobar, caso en el cual aprobará con nota 55.

Page 4: Programación Básica con “NQC”

Laboratorios

• Se realizarán 4 laboratorios. Éstos consisten en la una serie de pruebas en torno a una unidad programable “RCX 1.0”.

• Cada “laboratorio” será realizado en grupos de 2 a tres personas.• Cada laboratorio contará con una “Guía de Laboratorio” en la que se especificará cada uno

de los detalles a realizar en la experiencia.• Para que se considere un laboratorio como realizado, cada grupo debe enviar el “Informe de

Laboratorio” que corresponda, en formato “.pdf”, para ser evaluado con una nota de 0 a 100.

Page 5: Programación Básica con “NQC”

Fórmula de Nota Final

10

)6241(

1450

155

4

)4321(

prprNF

llll

Page 6: Programación Básica con “NQC”

Fundamentos de Robótica con Lego

• Origen de los Lego MindStorms• El RCX como Unidad Fundamental a programar• Capacidades

Page 7: Programación Básica con “NQC”

Origen de los Lego Mindstorms

• En 1998 “LEGO Company” lanzó un nuevo producto llamado “LEGO Mindstorms: Robotic Invention Kit“. Tenía 717 piezas e incluía motores, sensores y un “Ladrillo RCX” que tenía un microprosesador incorporado.

• Realmente, la línea de productos fue echa por tres organizaciones: “Resnick and Papert’s Epistemology and Learning research group”, “LEGO Corporation” y “MIT Media Laboratory”.

• Actualmente, la última versión de RCX es llamada NXT e incorpora nuevos sensores y un sistema de transmisión de datos más robusto.

Page 8: Programación Básica con “NQC”

Capacidades

• Procesador 8bit Hitachi Renesas H8/3292, 16MHz• SRam, en Chip 16Kb• SRam, externa 512b• Salidas 3 puertos, 9V 500mA• Entradas 3 puertos• Display 1 LCD• Sonido 1 Twiter• Timers 4 Timers de Sistema (8b)• Baterías 6x AA• Transformador 9-12V Solo en versión 1.0• Comunicación Puerto IR (Transmisor - Receptor)

Page 9: Programación Básica con “NQC”

El Lenguaje de programación y su función

• El lenguaje de programación es un conjunto de palabras, reglas y normas con las que se puede escribir un algoritmo.

• El lenguaje de programación permite al programador comunicar un algoritmo a una máquina computacional, de tal manera que esta lo pueda realizar.

Page 10: Programación Básica con “NQC”

Introducción al lenguaje “NQC”

• ¿Qué es?• ¿Para qué sirve?• Estructura fundamental

Page 11: Programación Básica con “NQC”

¿Qué es?

• El lenguaje “NQC” es un lenguaje diseñado por Dave Baum para programar bloques “RCX”.• Su nombre es un acrónimo de “Not Quite C” (No completamente C).• Como su nombre lo indica, es muy parecido al popular lenguaje de programación C, uno de

los primeros lenguajes de programación de alto nivel y herramienta indispensable para cualquier persona que trabaje en computación, de hecho, es el lenguaje que se enseña a los alumnos de primer año de Ing. Civil Electrónica, Telemática e Informática en la UTFSM.

Page 12: Programación Básica con “NQC”

¿Para qué sirve?

• Este lenguaje está diseñado para programar bloques “RCX”, de hecho no presenta ninguna utilidad en otro tipo de plataformas diferentes a la del “RCX”.

• Por lo anterior permite programar los bloques “Scout” y “Ciberbob”.• Al programar directamente los “RCX” este lenguaje permite observar muy fácilmente el

comportamiento de los programas ya que es muy simple hacer funcionar actuadores y sensores, situación compleja en la computación tradicional.

Page 13: Programación Básica con “NQC”

Estructura fundamental

• Fundamentalmente “NQC” es un lenguaje que agrupa bloques de algoritmos en “Tareas” o “Tasks” que cumplen la función de ser programas independientes en la implementación.

• “NQC” tambien tiene la posibilidad de crear “Funciones” con las cuales se puede obtener el resultado de un proceso complejo con solo dar los datos a procesar y llamar a la función indicada.

• Este lenguaje también permite programar subrutinas, estos son bloques de código que siempre se ejecutan de la misma manera, por lo que es innecesario estar escribiéndolos en cada situación donde son requeridos, estos bloques se “Compilan” de manera independiente y pueden ser llamados desde cualquier parte del código.

Page 14: Programación Básica con “NQC”

Estructura fundamental

task main()

{

// Sentencias

}

Page 15: Programación Básica con “NQC”

Entorno de “NQC Edit”

• “NQCEdit” será el programa que se utilizará a lo largo del curso para desarrollar, compilar y descargar programas a los “RCX”

• La versión asociada al programa no es de la ventana donde se escribe. Esta asociado al archivo compilador “nqc.exe” que se encuentra en la misma carpeta que el ejecutable de la ventana.

Page 16: Programación Básica con “NQC”

Instalación y archivos necesarios

• “NQC Edit” requiere fundamentalmente de 2 archivos, uno es la consola gráfica y el segundo es el compilador. Ambos se pueden encontrar en el sitio web del curso en la sección downloads/desarrolladores.

• Ambos archivos deben ser colocados en el mismo directorio.• Una de las ventajas del programa es que no requiere instalación, por lo que no es necesario

poseer permisos de instalación donde se desee ejecutar.

Page 17: Programación Básica con “NQC”

Uso del Programa

• Para iniciar el programa se debe ejecutar el archivo “Nqcedit.exe” en la carpeta donde se ha instalado, esto abrirá el entorno gráfico.

Page 18: Programación Básica con “NQC”

Programación Básicacon “NQC”

Pedro F. Toledo – Patricio Castillo15/04/2007