2 florencia sepúlveda

Post on 04-Aug-2015

402 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Florencia Sepúlveda Camposano

Paper 1: Physical Computing Cap IV y V

Capítulo IV: El microcontrolador Lo más difícil de esto, es lograr que el computador haga algo, ya que esto generalmente implica aprender nuevos lenguajes y ambientes de desarrollo, donde archivos oscuros deben ubicarse en lugares oscuros. En softwares, es común demostrar tu maestría logrando que tu programa diga “Hello World”. Este mensaje en un microcontrolador es un LED parpadeante. Una vez logrado esto, todo se vuelve más sencillo. Hasta ahora, los circuitos que hemos visto no entregan muchas posibilidades de interacción. Sin embargo, ubicando un microcontrolador en el imput y/o ouput, podemos lograr cosas como contar cuantas veces alguien aprieta el interruptor, automatizar el prendido de la carga, o crear una alarma antirrobos. Identificar los pins del microcontrolador En los documentos de tu microcontrolador encontrarás un diagrama de que explica las funciones de cada uno de los pins del microcontrolador. Todo microcontrolador tendrá pins para conectarse a poder y a tierra, pins para programar el chip, y otros para inputs y outputs. Controladores de bajo nivel: reloj externo Todo microprocesador necesita un pulso regular de voltaje para medir sus operaciones. Muchos módulos vienen con este reloj en sus sistema, sin embargo, los de nivel bajo necesitan que se les instale uno por separado. Se puede utilizar un cristal externo como reloj o un circuito de resistencia/capacitor. El R/C no es muy exacto, por lo que no es recomendado. Tu primer circuito basado en un microcontrolador Antes de programar el microcontrolador, es necesario construir el primer circuito de output. Se busca conectar un LED a un pin del microprocesador. Para esto hay que conectar una resistencia de 220-ohm a la misma fila de que el pin de más abajo a la izquierda del microprocesador. Conectar el otro lado en una fila vacía. Conectar el lado positivo de un LED a la misma fila. Conectar el lado negativo a la fila de tierra. Llevar el programa al chip Los microcontroladores vistos en el libro son todos reprogramables repetidas veces. Sin embargo, existen microcontroladores que solo pueden ser programados una sola vez. Estos son mucho más baratos, pero son generalmente usados para producción en masa, y no para el desarrollo de nuevos dispositivos. El proceso de cargar el programa en el microcontrolador puede variar según marcas, pero existen dos componentes comunes a todos: una conexión hardware entre el computador multimedia y el microprocesador, y un software en el computador multimedia para programar y compilar el programa y cargarlo al microprocesador. Programacion de módulos tipo estampilla Para este tipo de módulos el editor, downloader y debugger están combinados en una sola aplicación, la cual se puede descargar gratis desde la página del fabricante. Ellos usan un lenguaje de programación simple, conocido como BASIC. Conexión hardware: Estos módulos se conectan vía cable serial al puerto serial del computador multimedia. Hoy en día, esto se hace mediante puertos USB. Entornos de programación de software: Luego de bajar el software de la página del fabricante, es necesario escribir el mismo programa en los tres ambientes. Cuando corra hará al LED, ubicado en el pin 12, parpadear cada medio segundo.

Programación de chips de bajo nivel La programación en este tipo de módulos requiere de más trabajo. En primer lugar, es necesario instalar componentes extras al circuito para lograr que corra. En segundo lugar, hay una pieza adicional del hardware necesaria para traspasar el programa al chip. En tercer lugar, hay varios softwares que se deben instalar y configurar para poder escribir, compilar y cargar el programa. Algunos de estos softwares son gratis, y otros no. El programador de hardware: La mayor diferencia en relación a los módulos de nivel medio es el programador de hardware extra. Este dispositivo se conecta al puerto paralelo o el puerto serial del PC y carga el programa en el PIC. Programación de entornos de software: Se requieren de tres piezas de software distintas: un editor de texto, un compilador y un descargador. Algunos editores de texto son diseñados especialmente para programación, tienen opciones de formateo para hacer la lectura del programa más sencilla, e incluyen herramientas para correr automáticamente el compilador y abrir el descargador. Debugging En electrónica y programación, nunca nada funciona correctamente a la primera. Lo primero es pensar en lo que podría estar fallando. Después, reemplazar lo que se piensa que no está funcionando por algo que debería funcionar, para comprobar si es ese efectivamente el problema. Es importante cambiar una cosa a la vez, para comprobar donde efectivamente está el problema. Aquí algunos problemas comunes:

- ¿Está el circuito conectado a poder? - ¿Es el pin mencionado en el software el mismo usado en el circuito? - ¿Funciona el LED? - ¿Se está usando la resistencia adecuada? - ¿Está el circuito conectado correctamente al puerto serial? - ¿Tiene otra aplicación el control del puerto serial?

Capítulo V: Programación Las buenas noticias son que programar microcontroladores es mucho más fácil que programar computadores de escritorio. Además, para cualquier tipo de programación, hay solo cuatro herramientas básicas utilizadas por los programadores: loops, if statements, variables, y rutinas. Gran parte de las otras funciones, son combinaciones de estas cuatro. Control de flujo: Cómo el computador “lee” un programa El microcontrolador “lee” el programa en el orden en que fue escrito, de arriba para bajo, hasta que no queden más instrucciones que seguir. Existen algunas palabras (claves o reservadas) que el sistema reconoce automáticamente, y otras que deben ser definidas. Mientras la escritura normal se divide en oraciones y párrafos, los programas se dividen en afirmaciones y bloques. Loops Muchos programas solo tendrán un bloque, conocido como rutina principal. Para evitar que el programa pare al terminar el bloque, es necesario ponerlo en un loop, para decirle que una vez llegado al final, repita el bloque una y otra vez. Comúnmente, esto se logra con el comando “Goto main”. If statements También conocidos como afirmaciones condicionales, son usados para tomar decisiones en base a varias condiciones que podrían ocurrir mientras corre el programa. Un if statement comienza con la palabra clave “if”, seguido por una condición y luego por la palabra clave “then”. Variables Variables son lugares en la memoria del computador para guardar o cambiar información. Se usan para llevar un registro de nuestro programa.

Rutinas incorporadas: subrutinas y funciones En cualquier lenguaje de programación, existe un número de rutinas incorporadas para ejecutar las tareas más comunes. Constantes: Son variables que no cambian una vez que el programa comienza a correr. Se usan para etiquetar números que se utilizan repetidamente en un programa. Se pueden hacer cambios en todo los lugares donde está la constante, con solo cambiar esta. Rutinas caseras A veces nos encontramos con una combinación de códigos en particular, que usamos repetidamente. En vez de escribirla una y otra vez, podemos escribirla solo una vez, y “llamarla” desde varios lugares. De esta forma, el código queda más organizado y más fácil de modificar. Es recomendable dar nombres, a estas subrutinas, que describan su función. Loops avanzados: While-wend y for-next Existen loops más cortos, como los for –next, while-wend, and do-while, que pueden facilitar la programación. While-wend o do while: la duración del loop es determinada por una condición. For-next: se usa cuando se quiere hacer algo un número determinado de veces, y luego seguir con el circuito. Pseudocódigo Esto sirve para facilitar la transición desde una idea a un código. En primer lugar, hay que descomponer lo en pasos lo que se busca que el computador haga. Luego, se debe escribir esto en un estilo más formal conocido como pseudocódigo. Esto reitera los pasos descritos usando la estructura de un programa, pero no en palabras de programación. Es recomendado hacer dejar comentarios en el código constantemente. De esta manera, será más fácil recordar que función cumple cada parte del programa, y también será más sencullio para terceros trabajar con este. Debugging Este comando hace que el procesador envíe un mensaje que aparecerá en la pantalla. Este permita comprobar si una línea en particular del código está siendo ejecutado correctamente. Si aquella línea está funcionando, aparecerá la ventana con el mensaje, si no está funcionando, no se recibirá ningún mensaje. El comando debugg también puede ser utilizado para obtener el valor de una variable en un tiempo determinado. Buenos hábitos de debugging Siguiendo las siguientes guías, se facilitará el proceso de debugging:

- Mantener el programa pequeño. - Guardar muchas versiones. - Conocer cada línea (deja comentarios). - Mirar todas las variables (no solo las que sospechas que tienen problemas)

top related