2 florencia sepúlveda

518 views
443 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
518
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

2 florencia sepúlveda

  1. 1. Florencia Sepúlveda Camposano Paper 1: Physical Computing Cap IV y VCapítulo IV: El microcontroladorLo más difícil de esto, es lograr que el computador haga algo, ya que esto generalmenteimplica aprender nuevos lenguajes y ambientes de desarrollo, donde archivos oscuros debenubicarse en lugares oscuros. En softwares, es común demostrar tu maestría logrando que tuprograma 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 cosascomo contar cuantas veces alguien aprieta el interruptor, automatizar el prendido de la carga,o crear una alarma antirrobos.Identificar los pins del microcontroladorEn los documentos de tu microcontrolador encontrarás un diagrama de que explica lasfunciones de cada uno de los pins del microcontrolador. Todo microcontrolador tendrá pinspara conectarse a poder y a tierra, pins para programar el chip, y otros para inputs y outputs.Controladores de bajo nivel: reloj externoTodo 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 bajonecesitan que se les instale uno por separado. Se puede utilizar un cristal externo como relojo un circuito de resistencia/capacitor. El R/C no es muy exacto, por lo que no esrecomendado.Tu primer circuito basado en un microcontroladorAntes 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 unaresistencia de 220-ohm a la misma fila de que el pin de más abajo a la izquierda delmicroprocesador. Conectar el otro lado en una fila vacía. Conectar el lado positivo de un LEDa la misma fila. Conectar el lado negativo a la fila de tierra.Llevar el programa al chipLos microcontroladores vistos en el libro son todos reprogramables repetidas veces. Sinembargo, existen microcontroladores que solo pueden ser programados una sola vez. Estosson mucho más baratos, pero son generalmente usados para producción en masa, y no parael desarrollo de nuevos dispositivos. El proceso de cargar el programa en el microcontroladorpuede variar según marcas, pero existen dos componentes comunes a todos: una conexiónhardware entre el computador multimedia y el microprocesador, y un software en elcomputador multimedia para programar y compilar el programa y cargarlo almicroprocesador.Programacion de módulos tipo estampillaPara este tipo de módulos el editor, downloader y debugger están combinados en una solaaplicación, la cual se puede descargar gratis desde la página del fabricante. Ellos usan unlenguaje de programación simple, conocido como BASIC.Conexión hardware: Estos módulos se conectan vía cable serial al puerto serial delcomputador 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 delfabricante, es necesario escribir el mismo programa en los tres ambientes. Cuando corrahará al LED, ubicado en el pin 12, parpadear cada medio segundo.
  2. 2. Programación de chips de bajo nivelLa programación en este tipo de módulos requiere de más trabajo. En primer lugar, esnecesario 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 tercerlugar, hay varios softwares que se deben instalar y configurar para poder escribir, compilar ycargar 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 medioes el programador de hardware extra. Este dispositivo se conecta al puerto paralelo o elpuerto serial del PC y carga el programa en el PIC.Programación de entornos de software: Se requieren de tres piezas de software distintas: uneditor de texto, un compilador y un descargador. Algunos editores de texto son diseñadosespecialmente para programación, tienen opciones de formateo para hacer la lectura delprograma más sencilla, e incluyen herramientas para correr automáticamente el compilador yabrir el descargador.DebuggingEn electrónica y programación, nunca nada funciona correctamente a la primera. Lo primeroes 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 elproblema. Es importante cambiar una cosa a la vez, para comprobar donde efectivamenteestá 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ónLas buenas noticias son que programar microcontroladores es mucho más fácil queprogramar computadores de escritorio. Además, para cualquier tipo de programación, haysolo 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 programaEl 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 oreservadas) 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 enafirmaciones y bloques.LoopsMuchos programas solo tendrán un bloque, conocido como rutina principal. Para evitar que elprograma pare al terminar el bloque, es necesario ponerlo en un loop, para decirle que unavez llegado al final, repita el bloque una y otra vez. Comúnmente, esto se logra con elcomando “Goto main”.If statementsTambién conocidos como afirmaciones condicionales, son usados para tomar decisiones enbase a varias condiciones que podrían ocurrir mientras corre el programa. Un if statementcomienza con la palabra clave “if”, seguido por una condición y luego por la palabra clave“then”.VariablesVariables son lugares en la memoria del computador para guardar o cambiar información. Seusan para llevar un registro de nuestro programa.
  3. 3. Rutinas incorporadas: subrutinas y funcionesEn cualquier lenguaje de programación, existe un número de rutinas incorporadas paraejecutar las tareas más comunes.Constantes: Son variables que no cambian una vez que el programa comienza a correr. Seusan para etiquetar números que se utilizan repetidamente en un programa. Se puedenhacer cambios en todo los lugares donde está la constante, con solo cambiar esta.Rutinas caserasA veces nos encontramos con una combinación de códigos en particular, que usamosrepetidamente. 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ácilde modificar. Es recomendable dar nombres, a estas subrutinas, que describan su función.Loops avanzados: While-wend y for-nextExisten loops más cortos, como los for –next, while-wend, and do-while, que pueden facilitarla 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 luegoseguir con el circuito.PseudocódigoEsto sirve para facilitar la transición desde una idea a un código. En primer lugar, hay quedescomponer lo en pasos lo que se busca que el computador haga. Luego, se debe escribiresto en un estilo más formal conocido como pseudocódigo. Esto reitera los pasos descritosusando 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ássencullio para terceros trabajar con este.DebuggingEste comando hace que el procesador envíe un mensaje que aparecerá en la pantalla. Estepermita 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 untiempo determinado.Buenos hábitos de debuggingSiguiendo 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)

×