Introducción a la Plataforma "Pinguino" (Arduino con PIC)
Pinguino es una plataforma de hardware y software "open source" para la experimentación con microcontroladores, similar a Arduino pero basada en un microcontrolador PIC18F2550 y cuenta con su propio Entorno de Desarrollo Integrado de uso y apariencia similar al de Arduino. A diferencia de la placa Arduino, el Pinguino no necesita una Interfaz UART a USB adicional para comunicarse con la PC, debido a que el microcontrolador PIC18F2550 tiene un módulo USB integrado, lo cual le permite comunicarse directamente con la PC y reduce el costo del hardware, dejando además libre el puerto UART del microcontrolador para las aplicaciones.
El circuito básico del Pinguino es muy simple y sólo se precisan unos pocos componentes; todo el software necesario está disponible para bajarse de internet gratuitamente. A pesar de estar todavía en de desarrollo, la plataforma promete mucho en cuanto a costo de entrada pues es muy económico, los componentes de la placa son mínimos y relativamente más fáciles de conseguir en Bolivia y Latinoamérica en comparación con el Arduino.
En este tutorial le damos un vistazo inicial al hardware mínimo, la instalación del software y la compilación y ejecución de un primer programa.
Hardware de la Placa Pinguino
El siguiente diagrama de circuito muestra el hardware mínimo para una placa Pinguino:
El circuito puede ser armado y probado en un breadboad con facilidad, que fue lo que se hizo para este tutorial, y funcionó perfectamente. Para que el circuito funcione, el PIC18F2550 debe tener grabado el cargador de arranque (bootloader) de Pinguino, el cual puede ser bajado de: http://sites.google.com/site/pinguinotutorial/bootloader. Se necesita un programador de microcontroladores Microchip como el Pickit 2, Pickit 3 u otro compatible para grabar el bootloader en el PIC18F2550.
El circuito asume que ya se cuenta con una fuente de alimentación regulada de 5 VDC.
Software Necesario Para Pinguino
Actualmente el software para Pinguino solo está soportado oficialmente para los sistemas operativos Linux, Windows XP, Windows 7 y MACOSX, sin embargo probamos instalarlo en Windows Vista (Home Premiun Service Pack 2) y funcionó junto al hardware sin problemas desde el inicio.Debido a que el entorno de desarrollo integrado de Pinguino (versión beta al momento de la preparación de este tutorial), el cual permite escribir, compilar y grabar los programas, está escrito en Python, es necesario instalar componentes Python para su funcionamiento. En el caso de Windows, la lista de componentes varía ligeramente según sea el sistema operativo (Windows XP o 7) en el cual querramos instalar, sin embargo todo esto está detallado en los tutoriales oficiales del proyecto Pinguino.
Instalación del Software Pinguino en Windows 7
En el sitio : https://sites.google.com/site/pinguinotutorial/installation/windows-7 se encuentra el procedimiento para la instalación del software en Windows 7. Como se encuentra en inglés, simplemente lo tradujimos y desarrollamos a continuación.Primero es necesario instalar el driver libusb. El instalador lo puedes bajar de aquí (http://www.hackinglab.org/pinguino/download/driver%20pinguino%20windows%207/setup.exe).
Este driver es compatible con 32 y 64 bits con múltiples arquitecturas ( X86,AMD64,IA64 ).
Cuando este driver esté instalado, conecta tu placa Pinguino y verifica en el Administrador de Dispositivos (panel de control/sistema/administrador de dispositivos). Se debe ver algo parecido a esto:
Si "Pinguino project" aparece con un ícono de advertencia (!), selecciónalo, haz click en "propiedades", selecciona el botón "Driver" y haz click en el botón "Update Driver". A continuación deberás elegir la opción "Browse my computer for driver software" para guiar a la computadora a una instalación manual del software. la localización del driver y el archivo pinguino.inf se encuentra en c:\program files\LibUSB\driver
Luego debes instalar:
- Python 2.6.6 (http://www.python.org/ftp/python/2.6.6/python-2.6.6.msi)
- wxpython 2.8 (http://downloads.sourceforge.net/wxpython/wxPython2.8-win32-unicode-2.8.11.0-py26.exe)
- pyusb for python 2.6 (http://sourceforge.net/projects/pyusb/files/PyUSB%200.x/0.4.3/pyusb-0.4.3.win32-py2.6.exe/download)
Extráelo a una carpeta de tu elección, ingresa al folder y haz click en el archivo "pinguinobetax-x.py" (pinguinobeta9-05windows.py al momento de la preparación de este tutorial) para lanzar el entorno de desarrollo integrado. (Si el archivo sale como desconocido para el sistema operativo, hacer clcik derecho en el archivo, elegir "Abrir con.." y selecciona Python.)
Probé el procedimiento de instalación en una laptop HP con Windows 7 de 64 bits y funcionó sin problema. El único problema que se presentó es que el driver no se instaló apropiadamente de inicio (aparecía "Pinguino project" con el ícono de advertencia) pero siguiendo el procedimiento arriba indicado se solucionó al instante.
Instalación del Software Pinguino en Windows XP
En el sitio: https://sites.google.com/site/pinguinotutorial/installation/windows se encuentra el procedimiento para la instalación del software en Windows XP, también está en ingles, pero es muy similar al procedimiento para Windows 7 arriba detallado. Se debe tomar en cuenta sin embargo, que los componentes de software para la instalación son de versiones distintas y los enlaces para bajarlos se encuentran también en dicha página.Instalación del Software Pinguino en Windows Vista
Como dije al principio, el entorno de desarrollo no está oficialmente soportado para Windows Vista y no existe ningún tutorial en el sitio oficial para su instalación en este sistema operativo, sin embargo yo por mi parte logré una instalación exitosa en una laptop HP con Windows Vista (Home Premiun Service Pack 2) utilizando el mismo procedimiento y componentes de la instalación en Windows 7. Obviamente no garantizo que pueda funcionar en cualquier máquina con Windows Vista, solamente lo comparto como información para quien quiera probar por su propia cuenta.Corriendo el Primer Programa
En la página: https://sites.google.com/site/pinguinotutorial/beginners/led-blink se encuentra un ejemplo sencillo de programa para el Pinguino para probar que todo funciona correctamente. Todo lo que hace es simplemente prender y apagar un LED intermitentemente. Lo traducimos a continuación para su conveniencia (dibujos y texto original perteneciente al mencionado sitio):
Led Blink: Esta es la primera prueba de tu placa Pinguino. La meta es parpadear un LED.
Qué necesitas:
Circuito de prueba:
Nota: PIN 0 corresponde a USER I/O-0 en el diagrama de circuito del Pinguino.
Software
Copia el siguiente código en la ventana de un nuevo
- Compílalo con el botón "Compile" en el menú de íconos (si apuntas los íconos con el mouse, se pueden ver los nombres de cada función realizada por cada ícono).
- Cárgalo a tu placa o circuito Pinguino con el botón "Upload to Pinguino"
- En la ventana "Vascobootloader" pulsa el botón "Write" para cargar el programa al circuito Pinguino. Una vez cargado, el programa empieza a ejecutarse automáticamente y en este caso el LED empieza a parpadear.
Prueba algo: el número "500" en la instrucción "delay(500);" representa el tiempo en milisegundos que el LED permanece prendido y apagado para lograr el parpadeo. Cambia la cantidad a digamos 200 u 800 para ver qué sucede.
Nota: Para grabar otro nuevo programa en la placa, si esta ya ha sido grabada y está corriendo un programa anterior, debes apretar el botón reset, contar hasta 3 y recién pulsar el botón "Write" en la ventana "Vascobootloader", de otro modo el Pinguino no es reconocido por el software.
La explicación del funcionamiento del lenguaje usado en Pinguino (que es el mismo que el usado en Arduino) sale del alcance de este tutorial, sin embargo se puede encontrar una referencia completa del mismo en el sitio oficial de Arduino: http://arduino.cc/es/Reference/HomePage
Así como varios tutoriales en: http://arduino.cc/es/Tutorial/HomePage
Sitio Oficial
El desarrollador del proyecto Pinguino es Jean Pierre Mandon, cuyo sitio oficial es: http://www.hackinglab.org/ y el sitio de tutoriales se encuentra en https://sites.google.com/site/pinguinotutorial/home donde se encuentra información de loscircuitos y placas oficiales de Pinguino con PIC18F2550 y PIC18F4550, los procedimientos de instalación ya descritos, varios ejemplo de programa para principiantes y demás información adicional.
Conclusión
En mi caso no me llevó más de 30 minutos armar el circuito, instalar el software y correr mi primer programa. La plataforma todavía está en etapa de desarrollo y se han reportado ciertos casos de problemas de instalación incluso en los sistema soportados Windows XP y 7, sin embargo, otras plataformas (incluyendo Arduino) presentan también esporádicamente los mismos problemas. El costo es muy atractivo, pues los componentes cuestan casi la mitad que lo que cuesta armar un circuito Arduino básico; el hecho de no necesitar un circuito adicional de interfaz USB abarata su costo.
El entorno de desarrollo es básicamente similar al de Arduino, el lenguaje de programación también y por consiguiente podemos suponer que muchos programas y librerías existentes para Arduino pueden ser usadas o adaptadas con facilidad para su uso con Pinguino.
Nota: Para todos los interesados en armar su placa Pinguino estamos ofreciendo el PIC18LF2550 con y sin el bootloader pre grabado, así como el cristal de 20 Mhz. Contáctennos para más detalles.
Raúl Alvarez Torrico
www.TecBolivia.com
Suscríbete a Nuestro Boletín Para Recibir Noticias de Próximas Publicaciones
Productos Relacionados en Nuestra Tienda Virtual
{product_snapshot:id=126|134|114||145|146}