You are on page 1of 4

30/1/2015

ControlandotarjetaArduinodirectamentedesdeProcessing|MarlonJ.Manrique

Home

Acerca

Contacto

Controlando tarjeta Arduino directamente desde


Processing

Inicio

Proyectos

Sim Racing

Enlaces

by marlonj | May 9, 2012 | Cacharreos | 3 comments

Tweets
1 Ovejita, 10 Ovejitas, 11
Ovejitas, 100 Ovejitas .. 4
months ago
Follow Me on Twitter

Tags
2014 android arduino beta
conferencia

g27 game

instalacion iracing java


javafx

Algunas veces necesitamos controlar la tarjeta Arduino desde algn programa externo lo cual requiere que se
desarrollen programas para las dos plataformas y un esquema de comunicacin entre las dos para realizar el
intercambio de datos lo cual puede ser difcil de acuerdo al grado de complejidad de laaplicacin, otraopcines utilizar
un programa multipropsitoque expone las funcionalidadesbsicasde lectura y escritura de las tarjetas Arduinoy que

linux livemarlonjcom

marlonj minecraft
mobileprocessing modding

mundosvirtuales
nascar nascar14 netbeans

logrando que solo se necesite programar laaplicaciny no la tarjeta. Esto es lo que precisamente hace Firmata una serie

opensim
opensimulator php

de

processing programa

puede ser controlada desde unaaplicacingracias alibrerasquepermitenenviar ordenes y recibir datos de la tarjeta
protocolos

aplicaciones

que

simplifican

la comunicacin con

la

tarjeta

desde

varios

lenguajes

deprogramacin(http://firmata.org/wiki/Main_Page)
Pros :

programacion pruebas

pulsarproject racing

secondlife server

Simplifica laprogramacinde las aplicaciones al estar todo elcdigode control desde laaplicaciny no dentro de la

simulator streaming

tarjeta donde solo se instala el programa Firmata

sunmicrosystems

Una vez programada la tarjeta esta puede ser usada en diferentes aplicaciones sin necesidad dere programarla

ubuntu ubuntu904

tarjeta.

ubuntu1004 video

Gran cantidad delibrerasque implementan el protocolo Firmata que permite controlar la tarjeta desde diferentes

virtualbox
virtualizacion wheel

ambientes deprogramacin como Processing, Python, C++, ActionScript, PureData, Perl, C#

windows windows7 youtube

(http://firmata.org/wiki/Download)
Viene incluida en el ambiente oficial de desarrollo de Arduino

Categorias
Anime

Contras :

Blog
Cacharreos

Solo permite el acceso restringido a algunas de las funcionalidades de Arduino como :

Cursos

Cambiar los modos de los pines (pinMode)

Desarrollos

Activar o desactivar lo pines digitales (digitalWrite)

Educacion

Leer el estado de los pines digitales (digitalRead)

Eventos

Leer el estado de los pinesanlogos(analogRead)

Featured Articles

Usar PWM
No permite el acceso alibrerasde Arduino con el Firmata Standard
Se debe modificar el Firmata y laslibrerade acceso para adicionar el acceso alibrerasde Arduino

Hipergalaxia
iRacing
Live
Minecraft
Nascar '14

No hay soporte para interrupciones

Nodos

El intercambio de datos puede causar demoras en la respuesta de laaplicacino de la tarjeta

Noticias
Personal

Como se puede observar, aunque Firmata simplifica el desarrollo de aplicaciones con interfaces de hardware basadas en

http://www.marlonj.com/blog/2012/05/controlandotarjetaarduinodirectamentedesdeprocessing/

Programas

1/4

30/1/2015

ControlandotarjetaArduinodirectamentedesdeProcessing|MarlonJ.Manrique

Arduino la funcionalidad es restringida y debe ser usada en aplicaciones sencillas que no dependan mucho del tiempo y

Proyectos

manipulen hardware muy sencillo pero siempre esta la puerta abierta a desarrollos mas complejos gracias a que todo es

Pulsar Project

software libre.

Robotica
Ahora veremos como controlar la Tarjeta Arduino desde Processing
Pulse elbotnpara continuar leyendo

Sim Racing
Tienda
UAM
Unboxing

Configurar la Tarjeta Arduino :


Descargar el ambiente de desarrollo de Arduino para nuestro sistema operativo
http://arduino.cc/en/Main/Software

Varios

Nube

Descomprimir y ejecutar el Arduino


Conectar nuestra tarjeta Arduino al puerto USB
(recuerde instalar los drivers, necesita reiniciar la aplicacion)
Abrir el ejemplo StandarFirmata
(File -> Examples -> Firmata -> StandardFirmata)
Compilar el ejemplo y descargarlo a la tarjeta
Ya tenemos nuestra tarjeta lista para ser controlada desde unaaplicacinexterna
Instalar Libreria de Arduino para Processing
Descargar el Processing para nuestro sistema operativo
http://processing.org/download/
Descomprimir
Descargar la libreria de Arduino para Processing
http://www.arduino.cc/playground/Interfacing/Processing
Enlace Directo :
http://arduino.cc/playground/uploads/Interfacing/processing-arduino.zip
Descomprimir y copiar el directorio de librerias, por ejemplo en Processing 1.5.1
processing-1.5.1/modes/java/libraries
Si esta en Linux o MacOSX
Cambiar el nombre del archivo arduino/library/Arduino,jar a arduino,jar
Ejecutar el Processing
Abrir el ejemplo de control de salidas de Arduino
(File -> Examples -> Contributed Libraries -> arduino -> arduino_output )
Ejecutar el Sketch
Verifique en la lista de puertos si aparece el puerto donde esta conectada la Arduino
Cambie el indice del arreglo por el indice del puerto donde esta la Arduino
ejemplo : Arduino.list()[1]
Ahora puede encender el LED conectado al pin 13 de la Arduino pulsando el primerbotnen la pantalla

Programar el Blink desde Processing :


Crear un nuevo sketch
Importar la libreria Serial
Importar la libreria Arduino
Crear el objeto Arduino, use el nombre del puerto donde esta conectada la Arduino
Exriba el codigo para encender y apagar el led en el pin 13

http://www.marlonj.com/blog/2012/05/controlandotarjetaarduinodirectamentedesdeprocessing/

2/4

30/1/2015

ControlandotarjetaArduinodirectamentedesdeProcessing|MarlonJ.Manrique

Como se puede observar el codigo queda algo parecido al de la Arduino

viewplain

01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.

copytoclipboard

print

importprocessing.serial.*;
importcc.arduino.*;

intpinLed=13;
Arduinoarduino;

voidsetup(){
size(640,480);

arduino=newArduino(this,Arduino.list()[0],57600);
arduino.pinMode(pinLed,Arduino.OUTPUT);
}

voiddraw(){
arduino.digitalWrite(pinLed,Arduino.HIGH);
delay(1000);
arduino.digitalWrite(pinLed,Arduino.LOW);
delay(1000);
}

Explore ejemplos mas complejos en los ejemplos de la libreria, para leer el estado de los pines analogos y digitales, el
uso de PWM.
Enlaces :
Pagina Oficial de Firmata
http://firmata.org
Pagina Oficial de la Libreria de Arduino para Processing
http://www.arduino.cc/playground/Interfacing/Processing
Pagina Oficial Processing
http://www.processing.org
Pagina Oficial de Arduino
http://www,arduino.cc

Entradas Relacionadas:
1. Problema: RXTX Version mismatch en Processing 1.5.1 en Ubuntu 12.04
2. MVoce, una voz para Processing
3. Arduino
4. Processing for Android : Controlando el Tamao del Emulador
5. Arduino 0012

Profile
Sign in with Twitter Sign in with Facebook
or

Name
Email

Not published

Website
Comment

Notify me of follow-up comments by email.

PostIt

Notify me of new posts by email.

3 Replies

http://www.marlonj.com/blog/2012/05/controlandotarjetaarduinodirectamentedesdeprocessing/

3/4

30/1/2015

ControlandotarjetaArduinodirectamentedesdeProcessing|MarlonJ.Manrique

3 Comments
0 Tweets
0 Facebook
0 Pingbacks
Last reply was 11 months ago

Francisco Ochoa
View 2013/08/02
en la linea 10 me genera este error:
IllegalAcceserror: tried to access class processing.core

Josue Miguel Prieto Mojica


View 2013/08/20
Francisco Ochoa:
Utiliza la version 1.5.1 de processing (ya que la version mas actual de processing tiene muchos errores)

Cesar Yuca
View 11 months ago
Hola gracias por tu aporte, me funciono perfectamente, saludos desde Guatemala !!

Designed by Elegant Themes | Powered by WordPress

http://www.marlonj.com/blog/2012/05/controlandotarjetaarduinodirectamentedesdeprocessing/

h i p q

4/4