Physical computing cap 4-5

16
Capitulo 4: Microcontroladores Los microcontroladores se pueden describir como el corazón de un circuito elaborado. Su función es permitirnos desarrollar labores más complejas mediante la programación del código que llevan dentro. El microcontrolador se ubica entre las señales de input y output que tenga nuestro circuito. De esta forma, interpreta las señales de entrada, y entrega distintas señales de salida dependiendo de como se programe. Existen distintos tipos de microcontroladores, y dependiendo de esto, cada uno de sus pines están ordenados de distinta forma, enviando señales distintas.

Transcript of Physical computing cap 4-5

Page 1: Physical computing cap 4-5

Capitulo 4: Microcontroladores

Los microcontroladores se pueden describir como el corazón de un circuito elaborado. Su función es permitirnos desarrollar labores más complejas mediante la programación del código que llevan dentro.

El microcontrolador se ubica entre las señales de input y output que tenga nuestro circuito. De esta forma, interpreta las señales de entrada, y entrega distintas señales de salida dependiendo de como se programe.

Existen distintos tipos de microcontroladores, y dependiendo de esto, cada uno de sus pines están ordenados de distinta forma, enviando señales distintas.

Page 2: Physical computing cap 4-5

Hay que destacar también que, usar controladores de más bajo nivel, implica más trabajo, ya que al tener menos tecnología, hay cosas que deben implementarse dentro del circuito para que puedan funcionar adecuadamente. Pueden ser menos costosos, pero no son recomendables para principiantes.

Page 3: Physical computing cap 4-5

Así luce un circuito con un microcontrolador integrado.

Hay que notar también que dependiendo del chip que usemos, se debe hacer referencia a los pines con distintos nombres. Estos van de P5 a P20, 0 a 15, y de P0 a P15.

Page 4: Physical computing cap 4-5

Existen varios tipos de chip, dependiendo del costo y características podemos encontrar algunos que se pueden programar y reprogramar las veces que uno guste, y otros son programables una sola vez. Para llevar a cabo esta tarea de programarlos, hay que pasar por distintas fases:

El conector comúnmente usado es el tipo serial. Este permite pasar la información del computador al chip de una manera sencilla. A continuación podemos ver como es la conexión que se debe establecer.

Por lo general, todos los software disponibles, que permiten comunicarnos con los microcontroladores, tienen una interfaz muy similar, además del lenguaje con el cual trabajan. Aquí tenemos un ejemplo de como luce este software.

Page 5: Physical computing cap 4-5

Debugging:

Aprender a programar en cierto sentido es todo un arte. Por lo general, las operaciones que uno le asigna, o las funciones que programa dentro del chip no suelen funcionar a la primera. Para esto, tenemos que aprender a encontrar de manera eficiente cual es el error dentro del código. Esto quiere decir, que es muy importante encontrar ese pequeño detalle, sin necesidad de modificar el código por completo. Para esto, se recomienda ir revisando paso por paso el código, probando después de cada cambio efectuado. Si no se logran cambios, se debe dejar todo como estaba antes, para así poder aislar el error en particular sin cambiarlo todo. Este proceso también permite aprender para el futuro, cuales son los errores que uno comete.

Estas son algunas de las preguntas que tenemos que hacernos a la hora de buscar un error:

- Está el circuito con corriente o energía?- El pin que se menciona en el software es el que estamos usando en el circuito?- Funciona el LED?- El resistor tiene el valor adecuado?

Page 6: Physical computing cap 4-5

- Está el circuito conectado correctamente al puerto serial?- Esta el software configurado para usar el puerto serial adecuado?- Existe otra aplicación que tenga control sobre el puerto serial?

Si ninguna de estas preguntas te ayuda, debes buscar en las partes más básicas. Suele suceder que uno tenga un error en las partes que tiene más confianza, ya que al conocerlas mejor puede que nos descuidemos un poco.

Capitulo 5: Programando

El proceso de programar, es la parte en que uno le escribe en su memoria al microcontrolador todo lo que uno quiere que haga. Si bien puede ser una tarea muy complicada, podemos alegrarnos de que programar un chip, es mucho más sencillo que la programación en un computador.

Existe un orden en particular a la hora de programar. Uno escribe el código en líneas, y el chip básicamente irá línea por línea leyendo cada una de las tareas que uno le asigne.

Para organizar mejor las cosas, uno va dando nombre a los conjuntos de tareas u ordenes que uno escribe, estas funcionan como bloques, y para que se ejecuten debemos llamarlas. Estos bloques también son llamados “rutinas”.

Uno de los comandos que más usaremos es el “loop”, el cual básicamente se encarga de repetir una acción en particular, cada vez que lo usamos. Esta acción se repetirá sin parar.

Un ejemplo del loop se vería asi:

Page 7: Physical computing cap 4-5

Otro comando muy utilizado es el “If”, o en español “Si”. Tal como su nombre lo sugiere, sirve para ligar una acción a otra. Entonces cuando programemos algo, podemos decir, el evento A sucede SI (ejemplo, dato1=0), en caso contrario, no ocurrirá nada, o si nosotros lo establecemos ocurrirá el evento B. Ejemplo:

Variables:

Las variables son como en una ecuación, parámetros que queremos evaluar o probar, y que nos sirven para medir o ejecutar algunas acciones. En cierto sentido, se pueden ver como una caja que contiene determinados accesorios, y si queremos utilizarlas, hacemos referencia al nombre de la caja para que podamos usar sus accesorios, o las acciones que se la asignaron a estas.

Para almacenar variables, basta con escribirlas en el código:

Page 8: Physical computing cap 4-5

Para declarar como funcionaran, o que información almacenaran, las anotamos de esta forma:

Dependiendo de si usamos para programar PBasic, MBasic,PicBasic Pro, o BX-Basic, tendremos que declarar con distintos nombres las variables, y tendrán distinta capacidad de almacenamiento estas. Algunas pueden tener valores solo positivos, otras negativos y positivos, y también hay que notar que solo se usan números enteros, y no decimales.

Page 9: Physical computing cap 4-5

Algunos ejemplos usando distintas variables:

Existen también subrutinas y funciones que nos pueden facilitar el trabajo a la hora de programar.

También se pueden declarar constantes dentro de todo el código. Ejemplos:

Page 10: Physical computing cap 4-5

Para evitar escribir una y otra vez códigos muy largos, podemos usar las llamadas subrutinas, o rutinas propias. Entonces lo que hacemos es almacenar o guardar un código en particular y llamarlo por un nombre, así, para no tener que repetirlo todo el tiempo, solo llamamos a la subrutina por algún nombre que le hayamos asignado como “Tarea2”

Ejemplos:

Page 11: Physical computing cap 4-5

Algunos loops más avanzados son el While-Wend, y el For-Next. Básicamente lo que hacen es repetir o ejecutar algo una y otra vez como un loop, pero sujeto a una condición. Entonces, mientras ocurra algo en particular, o haya un determinado input, el loop se repetirá, sino, el código seguirá con la siguiente acción. Ejemplos:

Page 12: Physical computing cap 4-5

El For-Next, es para cuando uno quiere hacer algo una cierta cantidad de veces, y luego continuar. Ejemplos:

Pseudocodigo: