Noveno Curso de Programación Básica con NQC Primera Clase www.cursolego.elo.utfsm.cl José M. Galarce H. Abril 4 de 2009.

Slides:



Advertisements
Presentaciones similares
¿Qué es Sofware? Son el conjunto de instrucciones que dirigen las actividades del Hardware Consiste en programas, módulos de soporte y archivos de datos,
Advertisements

Curso de Java Capitulo 1: Introducción a Java Profesor:
CONTROL Y ROBÓTICA ¿QUÉ ES UN ROBOT?
Tecnologías para desarrollo de aplicaciones web. Un caso de uso
Programación Básica con NQC Pedro F. Toledo Universidad Técnica Federico Santa María Departamento de Electrónica.
MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
CONCEPTOS BASICOS DE PROGRAMACION
Lenguajes de programación
Computación PROGRAMACIÓN.
Pamela R. González Patricio A. Navarrete Mayo 8 de 2011
INSTITUTO TECNOLOGICO DE MINATITLAN
INSTITUTO TECNOLOGICO DE MINATITLAN
INFORMACIÓN AUTOMÁTICA Ciencia que estudia el tratamiento
INTRODUCCIÓN A LA PROGRAMACIÓN
SISTEMA DE ROBOTICA DE LEGO. ¿Cómo funciona la computación básica? Entrada Salida El procesador ejecuta los comandos. La memoria guarda los programas.
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.
Quinta Clase Patricio A. Navarrete Junio 3 de 2011.
SubRutinas Se pueden usar subrutinas cuando se necesita el mismo trozo de código en distintos lugares del programa. En esos casos se escribe una subrutina.
POO (Programación Orientada a Objetos)
INTRODUCCIÓN A LA MICROROBÓTICA - SOFTWARE PARA ROBÓTICA EDUCATIVA -
METODOLOGIA DE LA PROGRAMACION
Introducción al Software
LEGO MINDSTORMS Marco Antono López Trinidad Laboratorio de Sistemas Inteligentes Tec de Monterrey Campus Cuernavaca.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 13/05/2006.
Programación Básica con NQC Patricio A. Castillo Pizarro 18/08/2007.
Programación Básica con NQC Patricio A. Castillo 03/05/2008.
Tercera Clase Patricio A. Navarrete Septiembre 10 de 2011.
ALGORITMOS, LENGUAJES Y TECNICAS DE PROGRAMACION
TRADUCTOR DE UN PROGRAMA
Proceso de información en la computadora
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 08/03/2007.
Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa Septiembre 5 de 2009.
Patricio A. Castillo José M. Galarce Agosto 9 de 2008 Charla Informativa.
Segunda Clase Pamela R. González Patricio A. Navarrete Mayo 8 de 2011.
Programación Avanzada
LEGO. LEGO MINDSTORMS Plataforma para el diseño y desarrollo de robots. Sigue la filosofia Lego () armar y construir todo tipo de objetos uniendo bloques.
Un programa no es nada mas que una serie de instrucciones dadas al ordenador en un lenguaje entendido por el, para decirle exactamente lo que queremos.
Programación Básica con NQC Patricio A. Castillo Pizarro 18/08/2007.
LENGUAJE DE PROGRAMACIÓN
Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con.
MICROCONTROLADORES NOCIONES BÁSICAS. ¿QUÉ ES UN MICROCONTROLADOR? MICROCONTROLADOR = MICROPROCESADOR + MEMORIA + PERIFERICOS.
Integrantes: Christian Blanco Raúl Bejarano
Décimo Curso de Programación Básica con NQC “Primera Clase” Cristián Arenas Ulloa Agosto 29 de 2009.
Noveno Curso de Programación Básica con NQC “Tercera Clase” José M. Galarce H. Abril 18 de 2009.
FUNDAMENTOS DE PROGRAMACION
Programación Básica con “NQC”
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 20/05/2006.
COMPUTO III Ing. Jimmy Ojeda Arnica.
LEGO Mindstroms.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 18/05/2007.
ESCUELA NORMAL “PROF. DARÍO RODRÍGUEZ CRUZ” Licenciatura en educación preescolar Alumnas: *Mayra * Monserrat * Idalia *Cinthia Curso: las TIC en la educación.
Patricio A. Castillo José M. Galarce Agosto 23 de 2008 Segunda Clase.
Prof. Flor Narciso Departamento de Computación
Lego Mindstorms Education
Patricio A. Castillo José M. Galarce Septiembre 13 de 2008 Cuarta Clase.
Programación Básica con NQC Patricio A. Castillo 12/04/2008.
NOCIONES BÁSICAS COMPUTO II
Lenguaje programación
PROGRAMACIÓN ESTRUCTURADA LOS DIAGRAMAS DE ESTADO
Software.
Noveno Curso de Programación Básica con NQC “Quinta Clase” José M. Galarce H. Mayo 15 de 2009.
Es un tipo especial de software que nos permite *Crear *Desarrollar *Programar otras aplicaciones. Haciendo uso de sus conocimientos lógicos y lenguajes.
Curso: Programación I Grado: 4to. Bachillerato Prof. Gerardo Barrientos.
Programación Básica con NQC Patricio A. Castillo 04/04/2008.
TEMA 4: MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
 Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
UTILIZACION DE LA COMPUTADORA,ENTORNO Y APLICACIONES (SOFTWARE)
Fundamentos de Programación Unidad I Conceptos Básicos.
 Software  Humanware  Hardware Conformado por.
Transcripción de la presentación:

Noveno Curso de Programación Básica con NQC Primera Clase José M. Galarce H. Abril 4 de 2009

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

i. La Línea LEGO Mindstorms Desarrollo del bloque programable por tres organizaciones: –Resnick and Paperts Epistemology and Learning research group. –Massachusetts 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.

ii. 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.

iii. Capacidades Procesador Hitachi Renesas 8bits H8/ MHz. 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 i.Lenguajes de Programación. ii.Función de los Lenguajes.

i. 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

ii. 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.

Lenguaje de Programación NQC i.Origen y propósito. ii.Programa secuencial. iii.Estructura básica.

i. 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.

ii. 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.

iii. Estructura Básica task main () { /*Sentencias*/ }

Variables de Salida del RCX Los Actuadores son controlados a través de los 3 puertos de Salida del RCX. Cada salida está definida por un nombre de sistema: –OUT_A –OUT_B –OUT_C De acuerdo al programa cargado en el RCX, al ejecutarse determina los estados de las salidas y el funcionamiento de los controladores conectados a ellas a medida que transcurre el programa. El kit con el que se trabajará en las actividades prácticas cuenta con 2 actuadores: –Motor (2) –Ampolleta (1) Por ejemplo, si la luz se encuentra conectada a la salida OUT_A, ésta se encenderá si el estado de ésta variable de sistema está en modo encendido.

Instrucciones de Movimiento Existen funciones que permiten determinar el valor de las variables de salida y que pueden modificar estos valores a medida que transcurre la secuencia del programa. Básicamente, cada función corresponde a una instrucción de movimiento: –On(OUT_X);Enciende la salida X. –Off(OUT_X);Apaga la salida X. –Fwd(OUT_X);La salida avanza. –Rev(OUT_X);La salida retrocede –Wait(tiempo);Espera el tiempo indicado en centésimas de segundo antes de realizar la próxima acción.

Síntesis de Instrucciones de Movimiento Para facilitar la escritura de programas, el lenguaje de programación NQC incorpora funciones de movimiento que sintetizan varias instrucciones: –OnFwd(OUT_X);Enciende hacia delante la salida X. –OnRev(OUT_X);Enciende hacia atrás la salida X. –OnFor(OUT_X, tiempo);La salida se enciende durante el tiempo indicado. (En centésimas de segundo)

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.77 y el compiladorNQC 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.

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. ( OjO: Descomprimir la carpeta para poder trabajar ) 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.

Demostración Práctica Uso de NQC Edit. Selección de dispositivo de comunicación.

Demostración Práctica Cargar firmware.

Demostración Práctica Compilación y Transmisión del programa.

Errores típicos La sentencia task main () debe contener un abrir y cerrar de paréntesis { }. La instrucciones deben terminar en punto y coma. El programa se debe guardar antes de compilar. El programa se debe compilar antes de iniciar la transmisión. Establecer el puerto de comunicación correcto (USB). Los colores que adquieren las palabras en el entorno NQCEdit permiten detectar errores en la escritura.

Noveno Curso de Programación Básica con NQC Primera Clase José M. Galarce H. Abril 4 de 2009