El documento describe los microcontroladores, incluyendo que funcionan como el corazón de un circuito al permitir desarrollar tareas complejas mediante programación. Existen diferentes tipos de microcontroladores que ordenan sus pines de forma distinta. Programar microcontroladores implica pasar por fases como conectar el chip al computador a través de un puerto serial y debuggear el código para encontrar errores.
1. 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.
2. 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.
3. 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.
4. 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.
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?
- Está el circuito conectado correctamente al puerto serial?
6. - 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:
7. 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:
8. 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.
9. 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:
10. 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:
11. 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:
12. El For-Next, es para cuando uno quiere hacer algo una cierta cantidad de veces, y luego continuar.
Ejemplos:
Pseudocodigo: