programación básica con nqc

17
Programación Básica con NQC Patricio A. Castillo 04/04/2008

Upload: lauren

Post on 08-Jan-2016

24 views

Category:

Documents


0 download

DESCRIPTION

Programación Básica con NQC. Patricio A. Castillo 04/04/2008. Fundamentos de Robótica con LEGO. La línea LEGO Mindstorms. El bloque RCX. Capacidades. La Línea LEGO Mindstorms. Desarrollo del bloque programable por tres organizaciones: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Programación Básica con NQC

ProgramaciónBásica con NQC

Patricio A. Castillo04/04/2008

Page 2: Programación Básica con NQC

Fundamentos de Robótica con LEGO• La línea LEGO Mindstorms.• El bloque RCX.• Capacidades.

Page 3: Programación Básica con NQC

La Línea LEGO Mindstorms

• Desarrollo del bloque programable por tres organizaciones:– Resnick and Papert’s Epistemology and Learning research group.– Massachusett’s Institute of Technology Media Laboratory (MITML).– LEGO Corporation.

• En 1998 LEGO Company lanzó el producto:– LEGO Mindstorms : Robotic Invention System.

• Se componía por 717 piezas además de motores, sensores y un RCX 1.0.

Page 4: Programación Básica con NQC

El bloque RCX

• Unidad Digital Programable.

• Es un Microcontrolador de bajo costo y alto rendimiento.

• Interfaces especialmente diseñadas y de fácil manejo.

• En conjunto con los sensores y actuadores de la línea Mindstorms, permite el modelamiento de sistemas embebidos.

Page 5: Programación Básica con NQC

Capacidades

• Procesador Hitachi Renesas 8bits H8/3292 16MHz.• SRAM integrada 16kbits.• SRAM externa 512bits.• 4 Timers de Sistema de 8bits.• Comunicación IR.• 3 puertos salida 9V 500mA.• 3 puertos entrada.• Pantalla.• Twiter.• Baterías 6xAA.• Transformador 9-12V sólo en 1.0.

Page 6: Programación Básica con NQC

Fundamentos de Programación

• Lenguajes de Programación.• Función de los Lenguajes.

Page 7: Programación Básica con NQC

Lenguajes de Programación

• Conjunto de palabras, operadores y reglas sintácticas y semánticas que definen la estructura y significado de un lenguaje artificial para escribir algoritmos en una forma interpretable por una máquina.

• Lenguajes:– Pianola– Cálculo Lambda, 1930 (Paradoja de Russel, 1901)– Assembler, 1950– Fortran, 1957– Lisp, 1959– C, 1972– MATLAB, 1978– SQL, 1978– C++, 1983– Abel, 1983– Verilog, 1983, 1995– HTML, 1991– Phyton, 1991– PHP, 1994– Java, 1995– C#, D, 2000

Page 8: Programación Básica con NQC

Función de los Lenguajes

• La función del Lenguaje de programación es permitir al programador comunicar un algoritmo a una entidad computacional, de manera que ésta lo pueda interpretar.

• Primero se establece la sintaxis y estructura del lenguaje.• Luego se efectúa la compilación del lenguaje.• El lenguaje compilado se encuentra en “lenguaje de máquina” y se puede

cargar en el microcontrolador.

• Diferentes procesadores, estructuras, dispositivos : Diferentes compiladores.

Page 9: Programación Básica con NQC

Lenguaje de Programación NQC

• Origen y propósito.• Programa secuencial.• Estructura básica.

Page 10: Programación Básica con NQC

Origen y Propósito

• NQC es un lenguaje diseñado por Dave Baum para programar bloques RCX.

• N.Q.C. significa : “Not Quite C”.• Es decir “No Completamente C”.

• Estructura basada en el popular lenguaje C, un lenguajes fundamental para el aprendizaje de programación.

• Fue diseñado sólo para programar bloques RCX, Scout, Cybermaster y Spybot.

• Las funciones de control de actuadores y control de sensores vienen incorporadas, permitiendo abstraerse de la electrónica interna para concentrarse en el algoritmo y facilitar la programación.

Page 11: Programación Básica con NQC

Programa Secuencial

• El lenguaje NQC, así como C y otros lenguajes similares posee una estructura Secuencial.

• Se establecen “Tareas” que comprenden algoritmos a ser ejecutados por el robot.

• Se determinan las estructuras del control para implementar el algoritmo deseado.

• Se hace uso de las funciones implementadas.

• Es posible preparar “Subrutinas” que facilitan la escritura de tareas repetitivas.

Page 12: Programación Básica con NQC

Estructura Básica

task main () {

/*Sentencias*/

}

Page 13: Programación Básica con NQC

Entorno de Programación NQC Edit• Descripción.• Instalación.• Modo de uso.• Casos de uso.

Page 14: Programación Básica con NQC

NQC Edit

• Un entorno de programación es una aplicación que facilita la escritura, compilación y generalmente también la transmisión del lenguaje de programación a lenguaje de máquina y al microcontrolador.

• Para el desarrollo de las experiencias prácticas que componen este curso se utilizará la aplicación “NQC Edit 1.77” y el compilador “NQC 3.1r6”

• Ésta aplicación es una interfaz gráfica que evita tener que trabajar en consola con el compilador “nqc.exe” que se encarga de realizar el trabajo de bajo nivel.

Page 15: Programación Básica con NQC

Instalación de NQC Edit

• Se necesitan dos ficheros ejecutables:– nqc.exe– NQCEdit.exe

• El primero es el compilador.• El segundo es la interfaz gráfica.• El primero es independiente, pero el segundo necesita al primero.• No necesita instalación.• Deben estar instalados los controladores de la torre USB.

• “NQCEdit1.77-nqc3.1r6.zip” se encuentra en “Descargas” -> “Desarrolladores”.

• “driver_usb_lego_tower_164.zip” se encuentra en “Descargas” -> “Drivers”.

Page 16: Programación Básica con NQC

Modo de uso de NQC Edit

• Se ejecuta la interfaz gráfica “NQCEdit.exe”.

Page 17: Programación Básica con NQC

ProgramaciónBásica con NQC

Patricio A. Castillo04/04/2008