lunes, 9 de marzo de 2015

Microcontroladores PIC

Mis primeras experiencias con microcontroladores fueron hace muchos años, y con la familia MCS-51 de la Intel (años aquellos). Después de mucho tiempo alejado del tema, volví a los micros a traves del Arduino. Que diferencia !!!
Arduino es un concepto  muy interesante y muy exitoso que trasciende los micros Atmel.
Parece dificil de creer, pero aunque había oido de los micros PIC de Microchip, no había tenido la oportunidad de "jugar" con ellos.
Recientemente me decidí  a probar las bondades de estos micros.
Y entonces me di cuenta de las diferencias entre el Arduino y la familia PIC.
Mi idea no es contribuir a la controversia entre PIC y Arduino. Creo que muchas veces lo que vemos en la red realmente no aporta ningún valor.
Mi opinión es que son dos conceptos diferentes, cada uno tiene sus ventajas y sus desventajas, que se manifestarán dependiendo del proyecto en cuestión.
Y el punto es ese, si podemos decidir, lo mas sabio es seleccionar el micro que mas se adecue a nuestras necesidades.
Entonces entremos en materia.
Para trabajar con un micro PIC debemos tener:
  • Un PC. En mi caso voy a trabajar con un portatil con el S/O windows Vista.
  • Un programador de PICS : Hay muchos en el mercado. Yo me decidí por un clon del PICKit2
  • Un programa para grabar el PIC : En mi caso viene con el programador
  • Un ambiente de desarrollo
  • Un micro PIC
Los tres primeros requisitos son los mas sencillos, pero los dos últimos son para meditar.
La razón es que en el mercado hay muchos ambientes de desarrollo y la empresa Microchip tiene una cantidad impresionante de diferentes micros.
En otra entrada detallaré mi experiencia con diferentes ambientes de desarrollo, sin embargo, por los momentos, me decidi por la combinación del IDE Micro Code Studio y el compilador PICBASIC Pro
En relación al micro, empecé por dos de la gama baja:
  • 12F675 : 8 pines, 1KW flash, 64B ram,128B rom, 6 puertos, 4 A/D 10 bits
  • 16F684 : 16 pines, 2KW flash, 128B ram, 256B rom, 12 puertos, 8 A/D 10 bits
Tal vez mi decisión parecerá muy modesta, pero siempre me ha interesado el sacar el máximo provecho de un micro, y mas importante, no deja de deslumbrame lo que podemos hacer con un micro de 8/16 pines !!!

El proyecto que voy a presentar tiene por objeto utilizar varias funcionalidades del 16F684:
  • Uso de pines digitales para encender/apagar leds
  • Comunicación serial a traves de cualquier pin
  • Generación de sonido mediante un altavoz conectado a un puerto digital
El programa utilizado (tomando como base aportes previos en la web) es el mostrado a continuación:

 
 
Un punto a tener en consideración del programa mostrado es que se trata de ordenar en secciones las diferentes funciones del mismo, lo cual le da "elegancia" y ayuda mucho a la hora de realizarle modificaciones.
Para poder utilizar la interfase serial debemos conectar un convertidor serial/usb a los puertos C.0 y C.1
Adicionalmente debemos hacer uso de un programa de comunicación serial en nuestro PC (uno muy utilizado es putty), sin embargo yo utilizo uno propio (MiniTerminal).

Podemos ver en la imágen el mensaje inicial del micro y la ejecución del comando r


El altavoz va conectado al pin C.5 mediante un condensador electrolítico de 10uF




No hay comentarios:

Publicar un comentario