180 likes | 325 Views
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.
E N D
Programación Básicacon “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. • 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.
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.
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.
Fundamentos de Robótica con Lego • Origen de los Lego MindStorms • El RCX como Unidad Fundamental a programar • Capacidades
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.
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)
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.
Introducción al lenguaje “NQC” • ¿Qué es? • ¿Para qué sirve? • Estructura fundamental
¿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.
¿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.
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.
Estructura fundamental task main() { // Sentencias }
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.
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.
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.
Programación Básicacon “NQC” Pedro F. Toledo – Patricio Castillo 15/04/2007