Sie sind auf Seite 1von 8

Amicus: Software libre para PIC 18F25K20

ELECTRNICA
etiquetas: tutoriales

http://www.neoteo.com/amicus-software-libre-para-pic-18f25k20/
Proton es uno de los mejores lenguajes BASIC (considerado de alto nivel) que se encuentra en el
mercado. Fcil de usar y muy potente, es una herramienta muy codiciada por los programadores que
comienzan a transitar el apasionante mundo de los microcontroladores. Su costo resultaba muy
elevado para muchas personas pero ahora, con Amicus IDE, ese problema se resuelve.
Desarrollado en forma especfica para el PIC 18F25K20, Amicus IDE es la versin libre y gratuita
del popular software Proton. En realidad, Amicus es mucho ms que un simple software. Es toda
una plataforma de desarrollo que te permite comenzar a crear desde el primer da. Toda la potencia
de Proton disponible en tu ordenador para trabajar libremente con un PIC muy veloz y robusto como
es el 18F25K20. Tienes uno? Comencemos a programar!
Amicus 18 es una creacin de la gente de Crownhill que, mediante el uso de un PIC capaz de
trabajar a 64Mhz y con la programacin elemental que brinda el lenguaje BASIC, intenta plantarse
frente a la sper-popular plataforma Arduino y demostrarle que es capaz de superarla en
prestaciones y facilidad de uso. Amicus 18 es una placa que combina un poderoso PIC
18F25K20 con un FT232 para facilitar suconectividad USB. El hardware de Amicus 18 es
compatible pin a pin con Arduino, y los mdulos creados para ambas plataformas pueden ser
utilizados e intercambiados entre s.

Es decir, lo que existe para Arduino funcionar en Amicus 18 y viceversa. Observa en la imagen
superior que existe un puente (jumper) que, segn la referencia, es un Arduino Compatibility
Jumper. El uso apropiado de ese jumper te permitir utilizar mdulos Arduino en esta
plataforma Amicus 18. Siguiendo el concepto de apilar mdulos para lograr combinaciones tiles
de hardware, Amicuscuenta con una amplia variedad de posibilidades para aquellos que quieren
iniciarse en el mundo de los microcontroladores. Y aqu debemos remarcar lo siguiente: el software
de Arduino no es compatible con Amicus 18 (y viceversa) a pesar de que las placas de
ampliacin y aplicacin s puedan serlo.

Lo ms importante del proyecto Amicus se plantea en base a tres pilares fundamentales:

Un hardware libre, que puedes modificar y reformar de acuerdo a tus posibilidades. Es decir, no
ests obligado a comprar. Puedes construir t mismo el desarrollo necesario que tu aplicacin
requiera.

Un software muy poderoso y gratuito, basado en el popular y exitoso Proton PIC Basic,
totalmente liberado en todas sus funciones y sin restricciones de uso, y desarrollado de manera
especfica para el PIC 18F25K20: el Amicus IDE.

Un PIC, el 18F25K20, con caractersticas sobresalientes: 11 canales de entradas analgicas, 25


puertos de entrada y salida en total, 4 salidas de PWM, Protocolos SPI, I2C
(Master/Slave), EUSART(Enhanced Universal Synchronous Asynchronous Receiver Transmitter),
capacidad de 32KB de memoria Flash de programa (16KWord) (igual que el 18F2550) y todas la
ventajas y mejoras que ofrecen los PIC de la lnea 18F de Microchip.
Con estas tres herramientas podemos avanzar hacia el aprendizaje, sin restricciones de ninguna
ndole. Y como bien mencionamos antes, no es necesario comprar el hardware Amicus para
empezar a trabajar. Con un PIC 18F25K20, un cristal de 16Mhz y una pequea fuente de
alimentacin podremos comenzar a hacer nuestras primeras experiencias.
Nuestro hardware
As de sencillo es el circuito base que necesitamos para trabajar con este poderoso PIC que, si lo
observas en forma detenida, es compatible pin a pin con microcontroladores como el 16F876A, entre
otros. La diferencia radica en que estamos ante un PIC de la serie 18F y que la alimentacin es
de3,3Volts. En otros aspectos, el hardware no presenta ninguna variante respecto a los montajes
tradicionales. En el hardware original podemos ver la inclusin de un circuito integrado FT232 para
conectar el PIC a un ordenador a travs del puerto USB y una pequea fuente de
alimentacin que sirve para adaptar las tensiones dentro de la placa y distribuirlas de acuerdo a las
necesidades del hardware. En nuestro caso, si deseamos, podemos utilizar la fuente modular para
protoboard que ser ms que suficiente para suministrar energa al PIC y al sistema inicial. Un
detalle importante a destacar del PIC 18F25K20 es que, a pesar de trabajar con una tensin de

alimentacin de 3,3Volts, sus entradas y salidas son capaces de comunicarse con perifricos
que operen a tensiones de niveles TTL(0 5Volts).

El software
Gracias a que fue diseado de manera especfica para el PIC18F25K20 y para trabajar con un cristal
de16Mhz (llevado a 64Mhz con el uso del PLL), Amicus IDE nos permite ahorrar muchas
declaraciones iniciales que, en otros programas, debamos realizar de manera forzada. Por ejemplo,
para encender y apagar un LED en el pin 0 del puerto B bastar con escribir las instrucciones de
manera directa. Es decir, ahora puedes escribir HIGH PORTB.0 o tan slo HIGH RB0 en la primera
lnea, y el programa funcionar sin problemas. Veamos:

Amicus IDE ya conoce o (cree entender) de antemano las condiciones del hardware. Por lo tanto, no
debes declararlas; slo necesitas decirle lo que debe hacer. Es decir, si t le indicas que escriba en
undisplay LCD la tpica frase Hola Mundo, l ya sabr que t has conectado el LCD
alfanumrico de 2 renglones y 16 caracteres a los pines del puerto B utilizados en la
placa Amicus 18. De este modo, no tendrs la necesidad de declarar decenas de lneas de cdigo.
Aqu vas directo a la accin. Le dices: anda, ve y haz esto que te indico. Amicus IDE sabe el resto
y lo prepara por ti. Por eso se le llama Lenguaje de Alto Nivel. Por supuesto, si deseas declarar
patrones de trabajo diferentes a los que el sistema contempla como predeterminados, puedes
hacerlo. Es decir, Amicus sabe que SCL es PORTC.3y que SDA es PORTC.4. Pero si deseas
reasignar estas conexiones hacia otros pines de otros puertos, puedes hacerlo de la misma forma en

que lo hacas en Proton. Es decir, el software no nos hace esclavos del hardware. Otro ejemplo
de la genialidad que este software presenta es el uso de un display LCD alfanumrico. Por
defecto, siempre considerar 2 renglones, 16 caracteres, datos de 4 bits y la utilizacin del puerto B.
Por lo tanto, si respetamos las conexiones (al LCD) que nos muestra el manual de Amicus, la accin
de mostrar texto sera tan sencilla como la siguiente:

Dicho en pocas palabras, si utilizamos el hardware por defecto que utiliza la placa Amicus 18,
podemos disponer de un compilador extraordinario al que no hay que indicarle nada ms que las
instrucciones que deseamos que haga. El resto ya lo sabe todo. Realmente si deseas transmitir a
algn amigo el inters por los microcontroladores, o si deseas comenzar a practicar y hacer tus
primeros pasos sin toneladas de declaraciones e instrucciones, Amicus lleg para hacerte la vida
muy fcil. nica aclaracin: para descargar e instalar Amicus IDE debes tener instalado MPLAB en
tu ordenador.
Un ejemplo sencillo
Ya vimos cmo podemos encender y apagar un LED, cmo escribir texto en un LCD y lo que ahora
haremos es combinar todo eso con la deteccin de un pulsador, el agregado de un sistema antirebotes para que no se produzcan errores al efectuar este proceso. Cuando un pulsador soft-touch
(Cmo me gustan los anglicismos!) comienza a deteriorarse, provoca mltiples contactos o
contactos que no se realizan. En el peor de los casos, si el software no est bien ajustado en tiempo
y forma, un toque breve en el pulsador puede provocar mltiples acciones, mientras que un toque
prolongadopodra causar un desastre. Esto se agrava si al equipo en cuestin lo utilizan mltiples
personas. Por lo tanto, cada vez que sea necesario, debemos utilizar un circuito que detecte la
accin de pulsacin y espere a ser soltado para continuar con el trabajo.

En nuestro ejemplo, el pulsador se utilizar para enviar a travs de la USART del PIC una cadena de
caracteres. Te imaginas el desastre que podra suceder si el pulsador no actuase de manera
correcta? No enviara la cadena de caracteres o lo hara repetidas veces de acuerdo al tiempo que
se tome el usuario pulsando el botn. Entonces, resumamos el trabajo: tendremos un LED
intermitente que encender y apagar cada medio segundo y estar conectado al pin 0 de puerto B.
Adems, incluiremos un LCD que nos mostrar en su primer rengln un texto fijo, mientras que el
texto del segundo rengln cambiar de acuerdo a la actividad del LED. Por otro lado, un pulsador (al
ser presionado) enviar un mensaje de texto a travs de la USART del PIC en cualquier
momento cuando se pulse el botn conectado al pin 0 del puerto C.

Esta ltima oracin no es un dato menor. El envo ocurrir al pulsar el botn en cualquier
momento sin tener que esperar a que el LED apague o encienda. Por ltimo, no importa que al botn
lo accione cualquier nio travieso: el sistema slo permitir un nico envo de datos por cada vez que
el botn se active por flanco descendente. La rutina para lograr un funcionamiento adecuado es muy
sencilla: cuando el micro detecta que el botn ha sido pulsado, se dirige hacia la rutina anti-rebote.
Una vez ah ya habr enviado la trama de datos a travs de la USART. En ese momento observar y
evaluar la situacin elctrica del pulsador. Si an permanece presionado (estado bajo), entrar en
un lazo hasta detectar que ha sido soltado. Es decir, la tensin en el pin 0 del puerto C deja de ser
cero y pasa a un estado lgico alto gracias a R4. Es muy simple y efectivo.

En el circuito podemos ver las conexiones a las tensiones de 3,3Volts y de 5Volts que extraeremos
de la fuente modular para protoboard (que result ser muy cmoda, eficaz y atractiva para
algunos lectores). Y llevaremos la salida desde la USART del PIC hasta la placa que construimos
con el MAX232dedicada a la entrenadora NeoTeo. Algunos capacitores de desacoplo de 100nF,
10nF y 1nF, sumados a pequeos capacitores electrolticos, componen el resto del montaje sobre el
protoboard. El cristalNO puede dejar de ser de 16Mhz para obtener los tiempos adecuados de
demoras (DELAY) y, por supuesto, una correcta comunicacin serial de datos. En nuestros ensayos
llegamos a comunicar, como puedes ver en el video, a 9600 bps. Un pulsador de RESET,
un conector ICSP para programar el PIC, y listo. Nuestro sistema Amicus est preparado para su
primera prueba!
A partir de aqu todo es creacin, imaginacin, inspiracin y transpiracin. Con un software libre y un
hardware que puede ser adaptado a las necesidades de cada usuario, tenemos en nuestras manos
las herramientas para realizar cualquier trabajo, desde el simple LED Blinker hasta el control
del LHC. Lo que sea.

Conclusiones
Crownhill ha dado un paso muy importante en la competencia con Arduino. Utilizando un PIC con
mayor cantidad de entradas y salidas, la misma velocidad de proceso (Arduino tuvo que apelar al
AVRATmega328 para no perder esta carrera) y un software libre basado en el popular
lenguaje BASIC, la apuesta es muy fuerte y tentadora. Si a esto le agregamos que los mdulos
(accesorios) existentes deArduino son compatibles en su mayora con Amicus 18, la propuesta
aparenta ser ms interesante an. Por supuesto, el precio de venta al pblico de ambas plataformas
es el mismo: 25 Euros. La competencia se abre ahora en muchos frentes, con la disponibilidad de
muestras gratis de los microcontroladores, con los precios de los mdulos adicionales, con la
facilidad para usar los programas de aplicacin, con los ejemplos disponibles en la Web para adaptar
nuestros proyectos y hasta con la posibilidad de NO depender de un hardware duro e imposible de
adaptar. Amicus 18 no aparece en el mercado como una copia de Arduino. Es otra cosa. Es un
sistema de desarrollo donde las ataduras al hardware desaparecen y el usuario puede hacer y
deshacer a discrecin.
Quizs no haya vencedores ni vencidos en esta batalla y todos ganemos en creatividad,
experiencia y aprendizaje al aprovechar mltiples sistemas de desarrollo. Pero seguramente t ya
tendrs un favorito en tu mente para futuras aplicaciones, verdad? Cuntanos, tu opinin nos
interesa para futuras entregas. Y lo ltimo por agregar: Has visto el tamao del cdigo del
ejemplo que te hemos mostrado, es decir, la cantidad de lneas necesarias para lograr el
funcionamiento del sistema? Aceptaras el desafo de realizarlo en cualquier otro lenguaje de
programacin utilizando una menor cantidad de texto escrito? Leste bien? No hablemos del
tamao final del HEX obtenido luego de compilar el programa; eso no interesa cuando estamos
dando nuestros primeros pasos. Por ejemplo, cuando estamos aprendiendo a hablar, mam sabe
que estamos llamndola a ella y se muestra orgullosa aunque digamos porqueras como
bab, madagascar o mam-me-mima. Ella sabe que dijimos mam. Luego, ya habr tiempo para
crecer y recibirse de locutor profesional. Aqu sucede algo similar. Primero hablemos de la cantidad
de texto que debes escribir para lograr un resultado exitoso, y luego hablaremos de optimizacin de
cdigo, capacidad de memoria y tamao del HEX. T quieres ver y sentir la accin. Anda, ve por ella,
trela e invtanos a conocer tus listados de programa. Hastahemos inaugurado un foro para
que te luzcas con tus creaciones, trabajos e ideas! Te esperamos!

Amicus IDEWeb Oficial


Amicus IDEDescargar Download
Amicus IDEManual del Compilador

Das könnte Ihnen auch gefallen