Introducción a La Plataforma

7
Introducción a la Plataforma "Pinguino" (Arduino con PIC) Escrito por Raúl Alvarez. 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:

description

Pic pinguino

Transcript of Introducción a La Plataforma

Page 1: Introducción a La Plataforma

Introducción a la Plataforma "Pinguino" (Arduino con PIC)Escrito por Raúl Alvarez.

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:

Page 2: Introducción a La Plataforma

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

Page 3: Introducción a La Plataforma

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)

Page 4: Introducción a La Plataforma

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)

Descarga la última versión de Pinguino: (http://www.hackinglab.org/pinguino/download/latestpinguino/)

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:

Page 5: Introducción a La Plataforma

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

// Parpadeo de prueba con Pinguino

#define PIC18F2550

void setup()

{

pinMode(0,OUTPUT);

}

void loop()

{

Page 6: Introducción a La Plataforma

digitalWrite(0,HIGH);

delay(500);

digitalWrite(0,LOW);

delay(500);

}

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

enhttps://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

Page 7: Introducción a La Plataforma

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