Aprender a programar microcontroladores en C

Que se necesita para programar microcontroladores

Actualmente hay muchas opciones para programar una pequeña aplicación que active unas salidas y controle motores, luces, etc…

Sea cual sea la opción que escojamos siempre tendremos que tener unos elementos comunes:

  • Un editor procesador de texto.
  • Un compilador o ensamblador con depurador.
  • Un programador.

Editor

El editor de texto, es un programa para escribir, cuya función principal es ayudar a escribir. Según vamos escribiendo el editor nos colorea las palabras del lenguaje y sus posibles opciones, también las funciones, variables y código mal escrito que hace que el programa sea mas fácil de escribir y depurar errores. Una pieza fundamental por tanto será que tengamos un buen editor.

Compilador

El compilador, es un programa que traduce el código escrito en un lenguaje como c++ a código de ensamblador o a un archivo binario o hexadecimal directamente, lo cual es ejecutado directamente por un microprocesador o microcontrolador.
Un ensamblador, es un programa que traduce un tipo de código de muy bajo nivel (hay que colocar muchas instrucciones para que se realice una acción) a un archivo binario o hexadecimal.

Programador

Un programador tiene dos partes, un software pare el ordenador y un aparato físico que se encargan de enviar el archivo hexadecimal desde el ordenador en que se compila, al microcontrolador que lo debe ejecutar.

 

IDE todo en uno

Un IDE en inglés que significa “Entorno de Desarrollo Integrado” (Integrated Development Environment), es un conjunto de las cosas vistas antes, el IDE se compone de un editor de texto, un compilador, un ensamblador y un programador (software). La idea es que la mayoría de eestas cosas queden ocultas para simplificar la labor, por lo que muchas veces solo vemos el programa para escribir y un botón que compila, ensambla y traspasa el programa al micro, todo automáticamente.

Una buena opción para introducirse son las placas de Arduino que son una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de proyectos electrónicos.

Placa Arduino UNO

Placa Arduino UNO

Arduino: Una plataforma construida a partir de microcontroladores AVR de Atmel, son increíblemente baratos, poderosos, y no solo traen un IDE y un Bootloader, si no que además trae muchas funciones  en C++, gracias a lo cual, puedes hacer complejos programas en poco tiempo.

Un Bootloader, es un programa especial para el microcontrolador, que hace que no requiera un aparato especial para cargarle los programas que hace el usuario. Antiguamente en el comienzo de la programación con microprocesadores el programa del usuario se grababa en una o varias memorias EPROM las cuales se las podía borrar usando una luz ultravioleta y volver a usar grabando los datos con un programador. Con el uso del Bootloader el programa se carga rápidamente mediante una conexión USB con el ordenador.

Algunas de las placas de arduino son:

  • Arduino Nano.
  • Arduino Mini.
  • Arduino BT.
  • LilyPad Arduino.
  • Arduino Fio.
  • Arduino Pro.
  • Arduino Pro Mini.
  • Xbee shield.
  • Ethernet shield.
  • Arduino uno.

Hay otras alternativas como PICAXE que es el nombre de un sistema microcontrolador que se basa en una gama de circuitos integrados PIC.

El objetivo de estos circuitos era para su uso en la educación y para aficionados a la electrónica, también son utilizados en ámbitos técnicos y comerciales, incluyendo el desarrollo rápido de prototipos.

Enlaces para obtener mas información:

http://arduino.cc/es/

http://www.microchip.com/

Como programar microcontroladores PIC

Lo mejor para estudiantes de electrónica que estén comenzando en el entorno de programación de microcontroladores es leer tutoriales y vídeos con ejemplos de teoría y practica. Aquí podréis ver uno que me ha gustado bastante y es ideal para iniciarse.

En este vídeo se describe un programa que controla una pantalla LCD, un LED y lee unas entradas, el microcontrolador usado es un 16F877A. Este es un microcontrolador barato que en la tienda nos costará unos 4 Euros.