Download Primera Clase - Curso Programación Básica con NQC

Document related concepts
no text concepts found
Transcript
Programación Básica
con NQC
Patricio A. Castillo Pizarro
18/08/2007
Fundamentos de la Robótica con LEGO
•
•
•
Origen de la línea LEGO Mindstorms.
El bloque RCX como unidad programable.
Capacidades.
Línea LEGO Mindstorms
•
Desarrollo del bloque programable por parte de tres organizaciones:
– Resnick and Papert’s Epistemology and Learning research group.
– Massachusett’s Institute of Technology Media Laboratory.
– LEGO Corporation.
•
En 1998 LEGO Company lanzó el producto:
– LEGO Mindstorms : Robotic Invention Kit.
•
Se componía por 717 piezas además de motores, sensores y un RCX 1.0.
RCX
•
•
•
Unidad Programable.
Es un Microcontrolador de bajo costo y alto rendimiento.
Interfaces especialmente diseñadas y de fácil manejo.
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.
Fundamentos de Programación
•
•
Lenguajes de Programación.
Función de los Lenguajes.
Lenguajes de Programación
•
•
Conjunto de palabras, normas y reglas que establecen la sintaxis que permite escribir
un algoritmo en una forma interpretable por una máquina.
Lenguajes:
– Assembler
– Abel
– Verilog
–
–
–
–
C / C++
Fortran
Phyton
JAVA
– HTML
– PHP
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
como un conjunto de rutinas para las que fue diseñado.
•
•
•
Primero se establece la sintaxis del lenguaje.
Luego se efectúa la compilación del lenguaje.
El lenguaje compilado se encuentra en “idioma de máquina” y se puede cargar en el
microcontrolador.
•
Diferentes procesadores, estructuras, dispositivos : Diferentes compiladores.
Lenguaje de Programación NQC
•
•
•
Origen y propósito.
Programa secuencial.
Estructura básica.
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, uno de los primeros lenguajes de alto
nivel y 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.
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 pueden determinar “Funciones” que permiten estructurar de mejor manera los
algoritmos.
Es posible preparar “Subrutinas” que facilitan la escritura de tareas repetitivas.
Estructura Básica
task main () {
/*Sentencias*/
}
Entorno de Programación NQC Edit
•
•
•
•
Descripción.
Instalación.
Modo de uso.
Casos de uso.
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.75”.
É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.
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.
•
•
“NQCEdit_1.75.zip” se encuentra en “Descargas” -> “Desarrolladores”.
“driver_usb_lego_tower_164.zip” se encuentra en “Descargas” -> “Drivers”.
Modo de uso de NQC Edit
•
Se ejecuta la interfaz gráfica “NQCEdit.exe”.
Entorno de Programación LEGO JEP
•
•
•
•
Descripción.
Instalación.
Modo de Uso.
Casos de Uso.
LEGO JEP
•
•
•
•
LEGO JEP es otra interfaz gráfica cuya función no es ser una herramienta de
desarrollo, sino una utilidad que ilustra gráficamente la estructura del programa a la
vez que permite visualizar el código nqc generado.
Al igual que NQC Edit, permite compilar el programa y enviarlo al RCX.
Está basado en JAVA y requiere al compilador ”nqc.exe”, así como los controladores
de la torre USB.
Aún se encuentra en desarrollo y no es necesario su uso para este curso, pero puede
facilitar la comprensión de las estructuras de programación.
Instalación de LEGO JEP
•
Se necesitan dos ficheros ejecutables:
– nqc.exe
– LegoJEP.jar
•
•
•
•
•
El primero es el compilador.
El segundo es la interfaz gráfica en JAVA.
El primero es independiente, pero el segundo necesita al primero.
Requiere JAVA Runtime Enviroment.
Deben estar instalados los controladores de la torre USB.
•
“lego_jep_app_v0.2.4.517.zip” se encuentra en “Descargas” -> “Desarrolladores”.
Modo de uso de LEGO JEP
•
Se ejecuta la interfaz gráfica “LegoJEP.jar”
Programación Básica
con NQC
Patricio A. Castillo Pizarro
18/08/2007