Successfully reported this slideshow.

2_Camila_Bonilla

286 views

Published on

  • Be the first to comment

  • Be the first to like this

2_Camila_Bonilla

  1. 1. Camila Bonilla Physical Computing: Sensing and controllingthephysicalworldwithcomputersCapítulo 4: ThemicrocontrollerCuando se introduce un microcontrolador en un circuito, se crean muchas posibilidades de interacción. Input: Al reemplazar la ampolleta por un microcontrolador, se puede contar cuántas veces se presiona el switch, tener distintos switches que se activen de una determinada manera o tener 1 switch que haga varias cosas. Output: al reemplazar el switch por el microcontrolador, se puede automatizar cuándo se tiene que prender, dependiendo se las instrucciones que se le den en el software.Se puede coordinar un número de acciones de output basadas en las distintas acciones de input. - Para identificar los pins del microcontrolador, se puede recurrir al diagrama de pin. Todos los microcontroladores tienen pins que conectan a power y a ground, otros pins encargados de programar el chip, y el pin de input y output. Algunos pins también tienen funciones específicas. - La mayoría de los pins son capaces de input/output digital, y algunos pins son capaces de I/O análogos. - La enumeración del pin parte desde la esquina superior izqda (y se mueve en forma de U). Los stapm-like tienen 24 pins. En estos modelos, los primeros 4 pins son para programar el chip, y los 16 restantes son para I/O general. - Microcontroladores de nivel bajo: Los microcontroladoresstamp-like llevan incorporados un reloj que da el pulso de voltaje , pero en chips de bajo nivel como el PIC, hay que suplirlo con un reloj externo. Se puede reemplazar con un external cristal o con resistores/ capacitadores. - Todos los microcontroladores comparten 2 componentes en común: una conexión hardware entre el computador multimedia y el microprocesador, y programas de software en el computador multimedia que programan y compilan el programa al microprocesador. (ej: editor de texto a binario).
  2. 2. - Para programar módulos stamp-like se usa BASIC. - Depurando:En electrónica es muy importante saber como depurar/limpiar, porque nada sale bien a la 1era vez. Lo primero a hacer es pensar en qué es lo que no está funcionando, y luego cambiarlo por otro componente igual que sí debería funcionar. (cambiar elementos de 1 a 1). Si ese no era el problema intentar con otro, y así siempre. (Hay que ser sistematico!!). Los errores más comunes son los siguientes: o El circuito está con electricidad?(power&ground). Tiene que tener 5 volts, y tiene que desenchufarse después de cualquier cambio. o El pin del software es el mismo usado en el circuito? o Funciona el LED? o La resistencia tiene el valor correcto? (medir los ohms) o El circuito está conectado al puerto USB correcto? o El software está configurado en el miso puerto? o Alguna otra aplicación está usando el serial port? - Muy importante depurar! Mientras menos uno da por hecho, menos depuración será necesaria.Capítulo 5: Programming - Goto/ Gosub son comandos que le ordenan al pc que se salte una parte en particular del programa y luego continúe leyendo. (hasta que tenga la instrucción de volver). - Los programas tienen una rutina principal, donde se les dice las órdenes de acciones a realizar. Cuando se acaba la rutina el programa para. Si uno no quiere que esto suceda se le pone un loop.Los loops comienzan con el comando Do, y terminan con Loop. - También hay Ifstatements. (ej: Ifgetpin(6)=1 then) - Variables: lugares en la memoria del pc para guardar o cambiar información. Se usan variables para mantener un registro del programa. (hay que declarar la variable con un nombre). (ej: DateVar: FareVar) - Ejemplo de una rutina:
  3. 3. En este ejemplo se necesitan 3 tickets para poder pasar por la puerta. (ticketsensor registra el sensor que cuenta los tickets). En ticketssubmitted hay que añadir un 1 a lo que ya existía. Después de abrir la puerta, se resetea a ticketssubmitted 0.- Hay muchas rutinas built-in para las tareas más comunes. (ej: putpin(); getpin() ).- También hay constantes. Se usa para los números que se repiten en el programa. Al cambiar 1 número en un lugar, se cambian todos.- Si quiero saber el estado de un pin (ej:5), pongo pinStateVar= getpin(5))- Subrutinas: Ideal para encontrar una combinación de códigos que uso todo el tiempo. (Está más organizado)- Además del loop (infinito), se pueden programar loops “for-next”, “while-wend” y “do-while”. El for-next es muy conveniente para revisar o cambiar el estado de cosas en secuencia.- Depurando: los pseudocódigos ayudan a formar un plan para el programa. Los programas finales deben seguir la lógica exacta del pseudocódigo. La variable de depurar también se usa para encontrar un valor de una variable en un momento específico. Para depurar mejor se recomienda: - Mantener los programas pequeños (1-2 line program) - Mantener varias versiones (de cada vez que se realizan cambios) y agregar comentarios al principio del prog explicando el cambio. - Saber y entender cada línea. - Ver todas las variables (y depurarlas todas, no sola la que yo creo que tiene problemas)

×