Está en la página 1de 19

ARDUINO + PROCESSING: PRIMEROS PASOS | DIYMakers

http://diymakers.es/arduino-processing-primeros-pasos/

(http://diymakers.es/)
(https://www.facebook.com/diymakers)
gle.com/+DiymakersEs)

(http://www.twitter.com/diymakers)

(http://goo-

(https://www.youtube.com/user/DIYMakerselectronics)

ARDUINO + PROCESSING: PRIMEROS PASOS

(5/1/13)
En este tutorial veremos que es Processing, aprenderemos sus funciones ms bsicas y como
comunicarse con Arduino.

Material
-Arduino Uno Rev 3

1 de 19

07/06/2016 14:09

ARDUINO + PROCESSING: PRIMEROS PASOS | DIYMakers

http://diymakers.es/arduino-processing-primeros-pasos/

-Software Processing (descargar aqu (http://processing.org/))


-Sensor de temperatura LM35
-Led
-Resistencia 220 ohms

Qu es Processing?
Processing es un lenguaje de programacin y entorno de desarrollo integrado de cdigo abierto bas
ado en Java. Fue iniciado porBen FryyCasey Reasa partir de reexiones en elAesthetics and Comp
utation Groupdel MIT Media Lab dirigido porJohn Maeda.
Una vez instalado Processing en el PC, veris que es muy similar al IDE de Arduino, ya que este est
basado en Processing. Solo cambia el botn PLAY que sirve para arrancar el entorno creado con el pr
ograma, y el botn STOP que sirve para pararlo.

Es muy comn usar Processing con Arduino para crear un entorno de visualizacin de datos mucho
ms atractivo visualmente y con ms posibilidades que si usamos el Monitor Serial del IDE de Arduin
o.

Funciones y elementos bsicos de Processing


Primero de todo hay que saber cmo se programa en Processing. Veris que la estructura del progr
ama es muy similar a un programa de Arduino. Como Processing es un entorno de desarrollo basad
o Java, existen muchas funciones para crear formas y guras visuales.
Primero de todo hay que saber que la pantalla de visualizacin que creamos con Processing es un g

2 de 19

07/06/2016 14:09

ARDUINO + PROCESSING: PRIMEROS PASOS | DIYMakers

http://diymakers.es/arduino-processing-primeros-pasos/

rco de pxeles, cada uno registrado con una coordenada (X, Y). El origen del grco est situado a l
a esquina izquierda arriba con las coordenadas (0, 0). Si sumamos a X, nos desplazamos a la derecha
. Si sumamos a Y, nos desplazamos hacia abajo.

-setup() Funcin de arranque cuando el programa empieza. Igual que Arduino.


-draw() Bucle que se ejecuta cclicamente siempre. Como el loop() de Arduino.
-size(x, y); Con esta funcin, Processing crea una ventana de X pxeles por Y pxeles. En estaventan
a crearemos nuestro entorno grco.
-background(0,0,0); Determina el color del fondo de la ventana creada en modo RGB
-stroke(0,0,0); Funcin de trazo (bordes) que permite cambiar el color del dibujo actual enmodo R
GB. Cada funcin de dibujo llamada despus de stroke tendr el color de este.
-noStroke(); Sin bordes.
-point(x, y); Crea un punto en la posicin x, y del grco.
-line(x1, y1, x2, y2); Crea una lnea. Los dos primeros valores son la primera coordenada X, Y.Los d
os ltimos valores son la ltima coordenada X, Y.
-triangle(x1,y1,x2,y2,x3,y3); Dibuja un polgono de tres puntas. Tiene seis valores que son lastres
coordenadas de las tres puntas.
-quad(x1,y1,x2,y2,x3,y3,x4,y4); Dibuja un polgono de cuatro puntas. Los ocho valores son lascu
atro coordenadas de las cuatro puntas.
-rect(x, y, width, height); Dibuja un rectngulo. Los dos primeros valores es la posicin X, Y enel g
rco. Los dos ltimos valores son la anchura y la alturarespectivamente.
-ellipse(x, y, width, height); Dibuja una circulo. Los valores funcionan de la misa manera que rect.

3 de 19

07/06/2016 14:09

ARDUINO + PROCESSING: PRIMEROS PASOS | DIYMakers

http://diymakers.es/arduino-processing-primeros-pasos/

-ll(0,0,0); Llena del color indicado la gura.


-noFill(); Sin llenar de color.
-text(texto,x,y); Escribe un texto en la posicin X, Y deseada.
-mousePressed(); Funcin llamada cada vez que se aprieta el botn del ratn.
-mouseReleased(); Funcin llamada cada vez que el botn del ratn no est apretado.
-KeyPressed(); Funcin llamada cada vez que se aprieta una tecla del teclado.
-year() Retorna el ao actual del reloj del PC
-month() Retorna el mes actual del reloj del PC
-day() Retorna el da actual del reloj del PC
-hour() Retorna la hora actual del reloj del PC
-minute() Retorna el minuto actual del reloj del PC
-second() Retorna el segundo actual del reloj del PC

Arduino y Processing: Comunicacin a travs del puerto seri


e
Ahora que ya sabemos las funciones ms bsicas de Processing, vamos a hacer un pequeo proyect
o donde comunicaremos Arduino y Processing con el puerto serie (en este enlace (http://diymakers.
es/usando-el-puerto-serie-del-arduino/) tenis el tutorial que hicimos sobre el puerto serie de Arduin
o).
El proyecto tiene varias partes:
-Tenemos un sensor de temperatura LM35 conectado a Arduino que enva los datos de la temperat
ura para que Processing los visualice con un texto y con un circulo al lado que cambia de color seg
n la temperatura (tonalidad azul-gris cuando la temperatura es baja y tonalidad roja cuando la temp
eratura es alta). Adems, Processing guarda los valores de la temperatura en un archivo de texto.
-En el entorno de Processing creamos un botn que al pulsarlo cambio el estado de un led conectad
o a Arduino.
-El logo de DIYMakers situado arriba al centro del entorno de Processing, lo podemos mover usando
las teclas del teclado: W (arriba), S (abajo), D (derecha), A (izquierda).
-Cuando pulsamos la tecla E del teclado, el entorno grco se cierra.

4 de 19

07/06/2016 14:09

ARDUINO + PROCESSING: PRIMEROS PASOS | DIYMakers

http://diymakers.es/arduino-processing-primeros-pasos/

Preparar Arduino
Primero de todo, vamos a encargarnos del harware del Arduino conectando el sensor de temperatur
a LM35 y el Led.

Sensor temperatura LM35


Es un sensor analgico de temperatura, con un rango de de -55C a +150C y en su salida da 10mV p
or cada grado centgrado. Para hacer la lectura de la temperatura en grados centgrados, en el progr
ama de Arduino tenemos que hacer una sencilla frmula matemtica. Primero de todo, tenemos el s
ensor conectado a una entrada analgica del Arduino (que recordemos son de 10 bits). El voltaje de
salida del sensor es interpretado por el Arduino con valores (donde 0V es 0 y 5V es 1023). Para pode
r convertir estos valores nuevamente a voltios, hay que multiplicar el valor por 5 (que son los 5 Volti

5 de 19

07/06/2016 14:09

ARDUINO + PROCESSING: PRIMEROS PASOS | DIYMakers

http://diymakers.es/arduino-processing-primeros-pasos/

os mximos de seal que da el sensor) y dividirlo por 1023 que es el entero ms grande en un rang
o de 10 bits. Luego tenemos que convertir este voltaje en grados centgrados. Ahora tenemos que 1
0mV son 1C. Si multiplicamos estos 10mV por 100, tendremos que 1V son 1C. La formula nal sera
la siguiente:

Programa Arduino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

/*

www.diymakers.es
by A.Garca
Arduino + Processing: Primeros Pasos
Tutorial en: http://diymakers.es/arduinoprocessingprimerospasos/ (http://diymakers.e
*/
int led=9;
int temp;// Variable sensor de temperaura
boolean status=LOW; //Estado del led
void setup()
{
Serial.begin(9600);
pinMode(led,OUTPUT);
}
void loop()
{
temp = analogRead(A0); //Lee los datos del sensor LM35
temp = (5.0 * temp * 100)/1023.0;//Formula para convertir a C
Serial.write(temp); //Enviamos los datos en forma de byte
delay(100);
if(Serial.available()>0)//Si el Arduino recibe datos a travs del puerto serie
{
byte dato = Serial.read(); //Los almacena en la variable "dato"
if(dato==65) //Si recibe una "A" (en ASCII "65")
{
status=!status; //Cambia el estatus del led
}
digitalWrite(led,status);
}
}

Programa Processing

6 de 19

07/06/2016 14:09

ARDUINO + PROCESSING: PRIMEROS PASOS | DIYMakers

7 de 19

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

http://diymakers.es/arduino-processing-primeros-pasos/

/*

www.diymakers.es
by A.Garca
Arduino + Processing: Primeros Pasos
Tutorial en: http://diymakers.es/arduinoprocessingprimerospasos/ (http://diymakers.
*/
import processing.serial.*; //Importamos la librera Serial
Serial port; //Nombre del puerto serie
PrintWriter output;

//Para crear el archivo de texto donde guardar los datos

int rquad=40; //Radio del quadrado


int xquad=200; //Posicin X de rect
int yquad=200; //Posicin Y de rect
boolean overRect = false; //Estado del mouse si est encima de rect o no
//Colores del botn
int red=100;
int green=100;
int blue=100;
boolean status=false; //Estado del color de rect
String texto="LED OFF";//Texto del status inicial del LED
int xlogo=400;//Posicin X de la imagen
int ylogo=50;//Posicin Y de la imagen
int valor;//Valor de la temperatura
//Colores esfera temperatura
float rojo;
float verde;
float azul;

void setup()
{
println(Serial.list()); //Visualiza los puertos serie disponibles en la consola de aba
port = new Serial(this, Serial.list()[1], 9600); //Abre el puerto serie COM3

output = createWriter("temeratura_datos.txt"); //Creamos el archivo de texto, que es g

size(800, 400); //Creamos una ventana de 800 pxeles de anchura por 600 pxeles de alt
}
void draw()
{
background(255,255,255);//Fondo de color blanco

if(mouseX > xquadrquad && mouseX < xquad+rquad && //Si el mouse se encuentra dentro
mouseY > yquadrquad && mouseY < yquad+rquad)
{
overRect=true; //Variable que demuestra que el mouse esta dentro de rect
stroke(255,0,0); //Contorno de rect rojo
}
else
{
overRect=false; //Si el mouse no est dentro de rect, la variable pasa a ser falsa
stroke(0,0,0); //Contorno de rect negro
}
//Dibujamos un rectangulo de color gris

07/06/2016 14:09

ARDUINO + PROCESSING: PRIMEROS PASOS | DIYMakers

8 de 19

64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126

http://diymakers.es/arduino-processing-primeros-pasos/

fill(red,green,blue);
rectMode(RADIUS); //Esta funcin hace que Width y Height de rect sea el radio (distanc
rect(xquad,yquad,rquad,rquad);
//Creamos un texto de color negro con la palabra LED
fill(0,0,0);
PFont f = loadFont("Calibri48.vlw");//Tipo de fuente
textFont(f, 20);
text(texto, 170, 270);
//Ponemos la imagen de nuestro logo
imageMode(CENTER);//Esta funcin hace que las coordenadas de la imagne sean el centro
PImage imagen=loadImage("logo.jpg");
image(imagen,xlogo,ylogo,200,100);
//Recibir datos temperatura del Arduino
if(port.available() > 0) // si hay algn dato disponible en el puerto
{
valor=port.read();//Lee el dato y lo almacena en la variable "valor"
}
//Visualizamos la temperatura con un texto
text("Temperatura =",390,200);
text(valor, 520, 200);
text("C",547,200);

//Escribimos los datos de la temperatura con el tiempo (h/m/s) en el archivo de texto


output.print(valor + " C
");
output.print(hour( )+":");
output.print(minute( )+":");
output.println(second( ));
output.println("");

//Esfera color visualizacin temperatura


float temp = map (valor, 15,32, 0, 255);//Escalamos la temperatura donde maximo sea 32
rojo=temp;
verde=temp*1 + 255;
azul=temp*1 + 255;
//Dibujamos una esfera para colorear la temperatura
noStroke();
fill(rojo,verde,azul);
ellipseMode(CENTER);
ellipse(590,193,20,20);
}
void mousePressed() //Cuando el mouse est apretado
{
if (overRect==true) //Si el mouse est dentro de rect
{
status=!status; //El estado del color cambia
port.write("A"); //Envia una "A" para que el Arduino encienda el led
if(status==true)
{
//Color del botn rojo
red=255;
green=0;
blue=0;
texto="LED ON";
}
if(status==false)
{
//Color del botn negro
red=100;
green=100;

07/06/2016 14:09

ARDUINO + PROCESSING: PRIMEROS PASOS | DIYMakers

127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158

http://diymakers.es/arduino-processing-primeros-pasos/

blue=100;
texto="LED OFF";
}
}
}
void keyPressed() //Cuando se pulsa una tecla
{
if(key=='w'||key=='W')
{
ylogo; //El logo se deplaza hacia arriba
}
else if(key=='s'||key=='S')
{
ylogo++; //El logo se deplaza hacia abajo
}
else if(key=='a'||key=='A')
{
xlogo; //El logo se desplaza hacia la izquierda
}
else if(key=='d'||key=='D')
{
xlogo++; //El logo se desplaca hacia la derecha
}
//Pulsar la tecla E para salir del programa
if(key=='e' || key=='E')
{
output.flush(); // Escribe los datos restantes en el archivo
output.close(); // Final del archivo
exit();//Salimos del programa
}
}

Partes ms destacadas del programa de Processing

-Hay que cambiar el ndice de Serial.list()[1] por el ndice correspondiente al puerto serie que est conectado el Arduino. En la consola de abajo se pude ver el ndice una vez iniciado el entorno grco.
output=createWriter(temperatura_datos.txt); es el archivo de texto donde se guardan los datos de la
temperatura. Se guarda dentro de la misma carpeta donde se guarda el cdigo de Processing. El no
mbre entre comillas es el nombre del archivo y se puede poner cualquiera.

-Esta parte sirve para detectar cuando el mouse se encuentra dentro del botn para cambiar el estado del led. Se tiene que ajustar las coordenadas exactas de toda la supercie del rectngulo. Tenem
os que el centro del rectngulo est en la posicin (200,200), si le restamos el radio del rectngulo (q
ue es 40 pxeles) tendremos el lmite izquierdo y lmite inferior del rectngulo. Y si le sumamos el rad
io, tendremos el lmite derecho y lmite superior.

9 de 19

07/06/2016 14:09

ARDUINO + PROCESSING: PRIMEROS PASOS | DIYMakers

http://diymakers.es/arduino-processing-primeros-pasos/

PFont f=loadFont(Calibri-48.vlw); Con esta funcin podemos poner el tipo de fuente para el texto. T
enemos que ir a Tools, Create Font, seleccionar la fuente deseada, pulsar Ok, y Processing crear un
a carpeta llamada data dentro de la carpeta del cdigo donde guardar el tipo de fuente. Luego ten
emos que poner el nombre del tipo de fuente que hemos seleccionado dentro de las comillas de la f
uncin.
PImage imagen=loadImage(logo.jpg); Sirve para cargar una imagen en el entorno grco. Dicha im
agen tenemos que guardarla dentro de la carpeta data. Entre comillas hay que poner el nombre de l
a imagen. La siguiente lnea sirve para determinar la posicin de la imagen y las dimensiones.

-Esta parte sirve para calibrar el valor de la temperatura para visualizarla en forma de color con la g
ura ellipse. Primero de todo tenemos que establecer el rango de temperatura que queremos, en nue
stro caso vamos desde 15C de mnima hasta 32C de mxima. Mapeamos estos valores en un rang
o de 0 a 255 que es el rango necesario para los valores del color RGB. Una vez esto, tenemos que h
acer que el color pase de una tonalidad azul-gris cuando la temperatura es mnima, hasta una tonalidad roja cuando la temperatura es mxima. Si nos jamos en los colores RGB, vemos que para pasa
r de una tonalidad a otra, el color Red va invertido respecto a los colores Green y Blue. Por esto, ten
emos que invertir los valores de Green y Blue y restarlos con 255.

10 de 19

07/06/2016 14:09

ARDUINO + PROCESSING: PRIMEROS PASOS | DIYMakers

http://diymakers.es/arduino-processing-primeros-pasos/

-Cuando nalizamos el entorno grco pulsando la tecla E, el archivo de texto donde se guardan lo
s valores de temperatura del sensor naliza. Si lo abrimos nos aparecer lo siguiente.

11 de 19

07/06/2016 14:09

ARDUINO + PROCESSING: PRIMEROS PASOS | DIYMakers

http://diymakers.es/arduino-processing-primeros-pasos/

(http://www.facebook.com/sharer.php?u=http://diymakers.es/arduino-processing-primeros-pasos/)0
(http://twitter.com/share?url=http://diymakers.es/arduino-processing-primeros-pasos/&text=ARDUINO
+%2B+PROCESSING%3A+PRIMEROS+PASOS+)
rduino-processing-primeros-pasos/)0

(https://plus.google.com/share?url=http://diymakers.es/a

(http://www.linkedin.com/shareArticle?mini=true&url=http://diym

akers.es/arduino-processing-primeros-pasos/)0

(mailto:?subject=ARDUINO + PROCESSING: PRIMEROS P

ASOS&body=%20http://diymakers.es/arduino-processing-primeros-pasos/)

26 comentarios en ARDUINO + PROCESSING: PRIMEROS


PASOS
pionner123 (http://gravatar.com/pionner123) 17 febrero, 2014 at 23:49 (http://diymakers.es/arduino-processing-primeros-pasos/#comment-34)

12 de 19

07/06/2016 14:09

ARDUINO + PROCESSING: PRIMEROS PASOS | DIYMakers

http://diymakers.es/arduino-processing-primeros-pasos/

Muy bueno el tutorial. Muy completo. El nico defecto que hay es que se cortan las palab
ras cuando se cambia de linea.
Responder (http://diymakers.es/arduino-processing-primeros-pasos/?replytocom=34#respond)

DIYMakers (http://diymakers.es/) Post author 18 febrero, 2014 at 19:19 (http://diymakers.es


/arduino-processing-primeros-pasos/#comment-35)

Gracias pionner123. El problema con las palabras que se cortan es por culpa del Fir
efox. En el Chrome no pasa.
Responder (http://diymakers.es/arduino-processing-primeros-pasos/?replytocom=35#respond)

Pingback: ARDUINO + PROCESSING: PRIMEROS PASOS | tecno4 |... (http://www.scoop.it/t/tecno4


/p/4017461969/2014/03/12/arduino-processing-primeros-pasos)
Pingback: ARDUINO + PROCESSING: PRIMEROS PASOS - DIYMaker... (http://www.scoop.it/t/ipee
/p/4019055523/2014/04/06/arduino-processing-primeros-pasos-diymakers)
Pingback: ARDUINO + PROCESSING: PRIMEROS PASOS - DIYMaker... (http://www.scoop.it/t/ticymas
/p/4019061820/2014/04/06/arduino-processing-primeros-pasos-diymakers)
Pingback: ARDUINO + PROCESSING: PRIMEROS PASOS | Arduino ... (http://www.scoop.it/t/arduinoya/p/4027167177/2014/08/30/arduino-processing-primeros-pasos)

13 de 19

Vctor (http://www.electroingenio.net) 5 abril, 2015 at 10:02 (http://diymakers.es/arduino-processi


ng-primeros-pasos/#comment-292)

hola buenas. Muy buen tutorial me ayudara bastante en un proyecto que tengo que hace
r. hay una duda que tengo que no he podido aclarar. Cual es la accin (codigo) que se le i
ndica a processing para decir que hemos precionado el botn. Lo que quiero hacer, es qu
e al precionar el boton este cambie de color y al soltar el botn vuelva a su color original(
independiente de si el curso an esta dentro del botn). Espero que me haya explicado bi
en. Saludos estimado.
Responder (http://diymakers.es/arduino-processing-primeros-pasos/?replytocom=292#respond)

jose 22 abril, 2015 at 14:24 (http://diymakers.es/arduino-processing-primeros-pasos/#comment-302)

Muy facil amigo.


No vi ninguna funcion que te devuelva si esta el raton presionado pero lo que si util
iza el codigo del ejemplo es la funcion
void mousePressed() {
Codigo que se ejecuta cuando presionas el raton
}
que se activa y ejecuta durante el tiempo que presionas el raton. As que usaremos
eso para saber cuando est presionado y cuando no. Como? Pues sencillo, utilizand
o una variable booleana que se pondra en 1 cuando este presionado y se pondra e
n 0 cuando no.

07/06/2016 14:09

ARDUINO + PROCESSING: PRIMEROS PASOS | DIYMakers

14 de 19

http://diymakers.es/arduino-processing-primeros-pasos/

m1=0; //Si no se presiona tomar el valor 0


void mousePressed(){
m1=1;
} // si se presiona tomar el valor 1
Cuidado con la posicion de la variable booleana ya que tiene que estar posicionada justo ante
s de la funcion void mousepressed y nunca despues ni un poco antes.justo antes.
Un saludo
Responder (http://diymakers.es/arduino-processing-primeros-pasos/?replytocom=302#respond)

jose 22 abril, 2015 at 11:15 (http://diymakers.es/arduino-processing-primeros-pasos/#comment-3


01)

Muy facil amigo.


No vi ninguna funcion que te devuelva si esta el raton presionado pero lo que si utiliza el
codigo del ejemplo es la funcion
void mousePressed() {
Codigo que se ejecuta cuando presionas el raton
}
que se activa y ejecuta durante el tiempo que presionas el raton. As que usaremos eso p
ara saber cuando est presionado y cuando no. Como? Pues sencillo, utilizando una vari
able booleana que se pondra en 1 cuando este presionado y se pondra en 0 cuando no.
m1=0; //Si no se presiona tomar el valor 0
void mousePressed(){
m1=1;
} // si se presiona tomar el valor 1
Cuidado con la posicion de la variable booleana ya que tiene que estar posicionada justo
antes de la funcion void mousepressed y nunca despues ni un poco antes.justo antes.
Un saludo
Responder (http://diymakers.es/arduino-processing-primeros-pasos/?replytocom=301#respond)

wilmer 24 mayo, 2015 at 00:31 (http://diymakers.es/arduino-processing-primeros-pasos/#comme


nt-328)

Una consulta estoy realizando un proyecto de comunicacin de processing con arduino y


voy a vericar el funcionamiento de el cdigo para orientarme en el proyecto que estoy p
laneando y a lo que lo cargo en processing me muestra un error. En la armacin (port =
new Serial(this, Serial.list()[1], 9600); //Abre el puerto serie COM3) no he podido dar que e
s.Agradezco su colaboracin.
Responder (http://diymakers.es/arduino-processing-primeros-pasos/?replytocom=328#respond)

07/06/2016 14:09

ARDUINO + PROCESSING: PRIMEROS PASOS | DIYMakers

15 de 19

http://diymakers.es/arduino-processing-primeros-pasos/

Pablo 5 agosto, 2015 at 23:29 (http://diymakers.es/arduino-processing-primeros-pasos/#co


mment-371)

Esta intruccin es para abrir el puerto en el que est conectado nuestro Arduino. El
primer puerto es el [0], el segundo el [1], el tercero el [2] el autor del proyeto tiene
conectado el COM3 en el segundo puerto [1]. Tu caso puede ser diferente. p.e. en
mi caso tengo la placa de arduino en el COM13 que es el primer puerto. Por lo tant
o escribo: port = new Serial(this, Serial.list()[0], 9600); //Abre el puerto serie COM13
)
Tienes dos opciones para solucionarlo, la primera es hacer que processing te de la l
ista de uso de puertos que lo puedes hacer con el siguiente sketch:
/*
* Test de Puertos utilizados
*/
import processing.serial.*;
import cc.arduino.*;
Arduino arduino;
void setup() {
size(200, 200);
noLoop(); // Fuerza a no realizar el bucle del programa
println(Arduino.list()); // Imprime la lista de puertos COM
}
void draw() {
}
Una vez ejecutado te dar los puertos. Por ejemplo [0] COM7 , [1] COM 11 y [2] CO
M 13. Metindote en el editor de arduino en la esquina inferiror izquierda vers en
que puerto est conectada la placa y sabrs que escribir en el sketch de processing.
La otra opcin es tantear.
Hay otro problema por el que puede que no logres la conexin. Es por no tener corr
ectamente instalada la librera RXTX dentro de processing/java/bin, tanto rxtxParall
el.dll como rxtxSerial.dll. Estas librerias las puedes descargar, si no lo has hecho tod
ava, desde http://rxtx.qbang.org/wiki/index.php/Download (http://rxtx.qbang.org/w
iki/index.php/Download). En mi caso he instalado para processing 2.2.1 bajo Windo
ws la rxtx 2.0-7pre2 (stable) -win32 (incomplete)Por ltimo, para completar. No olvides instalar la librera de arduino para processin
g (y rmata). Se intala por supuesto como cualquier librera de arduino y est en htt
p://playground.arduino.cc/interfacing/processing (http://playground.arduino.cc/inte
rfacing/processing). Instala la de la versin de processing que tengas.
Responder (http://diymakers.es/arduino-processing-primeros-pasos/?replytocom=371#respond)

07/06/2016 14:09

ARDUINO + PROCESSING: PRIMEROS PASOS | DIYMakers

http://diymakers.es/arduino-processing-primeros-pasos/

Antonio 3 junio, 2015 at 18:13 (http://diymakers.es/arduino-processing-primeros-pasos/#comme


nt-342)

Estoy con un proyecto donde necesito ver grcamente dos seales analgicas de Arduin
o para compararlas, sabeis si existe algun ejemplo ya hecho.
Responder (http://diymakers.es/arduino-processing-primeros-pasos/?replytocom=342#respond)

Pablo 11 agosto, 2015 at 07:51 (http://diymakers.es/arduino-processing-primeros-pasos/#c


omment-373)

Para hacer esto te recomiendo lo siguiente:


En el sketch de arduino, dentro del void loop () tienes que escribir los valores en el
puerto serie separados por comas y aadir un salto de lnea al nal de los valores.
No utilices el primer valor porque da problemas. Un ejemplo sera el siguiente:
Serial.print (0); // Para dejar un cero en el primer valor y evitar problemas.
Serial.print (,);
Serial.print (valor_1);
Serial.print (,);
Serial.println (valor_2); // Ponemos un salto de lnea en el ltimo valor.
delay (20); // Retraso para no saturar el puerto serie.
En el sketch de processig, despus de abrir el puerto como se ha indicado anteriormente ponemos lo siguiente en el void draw ():
puerto.buerUntil(\n); // No se leen los datos del puerto serie hasta que aparece u
n salto de lnea.
String cadena_de_datos = puerto.readStringUntil(\n); // Almacenamoe en cadena_
de_datos los datos que manda arduino hasta el salto de lnea.
if (cadena_de_datos != null){ // Si la cadena_de_datos no est vaca
cadena_de_datos = trim(cadena_de_datos); // borramos de la cadena_de_datos l
os espacios en blanco.
int [ ] valores = int(split (cadena_de_datos,,)); // dividimos la cadena_de_datos e
n un array de nmero enteros.
if (valores.length >= 3) { // Despus de vericar que hemos recibido los tres valores (
como sabemos el primer valor [0] es cero para evitar problemas).
valor_1 = valores [1]; // Asignamos el segundo valor [1] a la variable valor_1 (no nos
debemos de olvidar crearla antes en el sketch de processing).
valor_2 = valores [2]; // Asignamos el segundo valor [1] a la variable valor_1 (no nos
debemos de olvidar crearla antes en el sketch de processing).
}
}
Responder (http://diymakers.es/arduino-processing-primeros-pasos/?replytocom=373#respond)

mario more 4 julio, 2015 at 06:29 (http://diymakers.es/arduino-processing-primeros-pasos/#comment-352)

16 de 19

07/06/2016 14:09

ARDUINO + PROCESSING: PRIMEROS PASOS | DIYMakers

17 de 19

http://diymakers.es/arduino-processing-primeros-pasos/

Hola, muy buen proyecto, podrs explicarme que es el tipo de fuente y el Logo esta hech
o con programacin o es un diseo grco guardado en ese archivo? con que funcin podra agregarle un beep o sonido en la PC como una alarma cuando pase de cierta temper
atura. Gracias amigo.
Responder (http://diymakers.es/arduino-processing-primeros-pasos/?replytocom=352#respond)

Pablo 5 agosto, 2015 at 22:52 (http://diymakers.es/arduino-processing-primeros-pasos/#comme


nt-370)

El tipo de fuente lo tienes en Processing: Tools/Create Font/Calibri (Size 48).


La fuente se crea en la carpeta del Sketch. La puedes localizar en Sketch/Show Sketch Folder. Est dentro de la carpeta data.
El logo es un chero .jgp (en este caso el logo de diymakers), pero podra ser cualquier c
hero .jpg que tambin se tiene que insertar dentro de esta carpeta.
La alarma con un poco de ingenio la podrs poner.
Responder (http://diymakers.es/arduino-processing-primeros-pasos/?replytocom=370#respond)

Francisco Fernndez (https://www.facebook.com/app_scoped_user_id/904446402967956/) 6 octubre, 2015 at 17:00 (http://diymakers.es/arduino-processing-primeros-pasos/#comment-407)

Felicidades por el tutorial: Un trabajo estupendo.


Responder (http://diymakers.es/arduino-processing-primeros-pasos/?replytocom=407#respond)

lucia 15 octubre, 2015 at 16:23 (http://diymakers.es/arduino-processing-primeros-pasos/#comme


nt-414)

Buenas.
Quisiera saber como hacer para mostrar la misma hora del archivo txt en la interfaz de pr
ocessing. es decir que muestre tanto en pantalla como en el archivo la hora en que se gu
arde la temperatura.
Responder (http://diymakers.es/arduino-processing-primeros-pasos/?replytocom=414#respond)

soldado99 6 noviembre, 2015 at 02:44 (http://diymakers.es/arduino-processing-primeros-pasos/


#comment-439)

que buena forma de aprender ojala sigan publicando proyectos como este
Responder (http://diymakers.es/arduino-processing-primeros-pasos/?replytocom=439#respond)

Alex Guerrero (https://www.facebook.com/app_scoped_user_id/10207074465052884/) 7 noviemb


re, 2015 at 05:41 (http://diymakers.es/arduino-processing-primeros-pasos/#comment-440)

ola buenas noche buen tutorial me podra por favor decir como podra mostrar dos valor
es de temperatura

07/06/2016 14:09

ARDUINO + PROCESSING: PRIMEROS PASOS | DIYMakers

http://diymakers.es/arduino-processing-primeros-pasos/

Responder (http://diymakers.es/arduino-processing-primeros-pasos/?replytocom=440#respond)

miguel 29 noviembre, 2015 at 08:15 (http://diymakers.es/arduino-processing-primeros-pasos/#co


mment-463)

Hola, gran trabajo, necesito hacer solo la lectura de la termocupla con el dibujor el circulo
, pordrias resaltar esta parte, muy agradecido
Responder (http://diymakers.es/arduino-processing-primeros-pasos/?replytocom=463#respond)

Pingback: Arduino | Pearltrees (http://www.pearltrees.com/tecnoelpalo/arduino/id14440564


/item162702113)

18 de 19

Mario 16 diciembre, 2015 at 10:18 (http://diymakers.es/arduino-processing-primeros-pasos/#co


mment-472)

Te felicito por el tutorial, muy claro, me ha servido. Un abrazo.


Responder (http://diymakers.es/arduino-processing-primeros-pasos/?replytocom=472#respond)

Fernando 27 diciembre, 2015 at 00:27 (http://diymakers.es/arduino-processing-primeros-pasos/#


comment-476)

Hola. Excelente tutorial. Hace un par de semanas que espes con arduino y ahora veo la
posibilidad de interfaz grca con la PC. Buensimo.
Saludos.
Responder (http://diymakers.es/arduino-processing-primeros-pasos/?replytocom=476#respond)

Ricardo 1 febrero, 2016 at 17:29 (http://diymakers.es/arduino-processing-primeros-pasos/#comment-502)

Hola. Estoy haciendo mi tesis sobre arte generativo en Processing y pienso usar sensores
de movimiento y presin y mi duda es si tengo que usar la interfaz de Arduino para pode
r aplicarlos, aunque creo que lo obvio es que s. Saludos
Responder (http://diymakers.es/arduino-processing-primeros-pasos/?replytocom=502#respond)

carlos 12 febrero, 2016 at 21:04 (http://diymakers.es/arduino-processing-primeros-pasos/#comm


ent-512)

se puede hacer que desde la matricial de numero del arduino pueda escribir en word o e
n facebook en mi compu, algo asi como convertir mi arduino en un teclado para la compu
Responder (http://diymakers.es/arduino-processing-primeros-pasos/?replytocom=512#respond)

jose 12 febrero, 2016 at 21:15 (http://diymakers.es/arduino-processing-primeros-pasos/#comme


nt-513)

Hola ricardo. Sobre usar sensores de movimiento y presin no te hace falta el hardware d

07/06/2016 14:09

ARDUINO + PROCESSING: PRIMEROS PASOS | DIYMakers

http://diymakers.es/arduino-processing-primeros-pasos/

e Arduino ya que podras simular esos movimientos (x,y, o incluso z) y la presin que es un solo val
or. Cmo lo haras? .bien simplemente usando variables aleatorias. Yo no he mirado si processing
tiene ese tipo de variables que se suelen llamar random. A cada valor que quieras simular se le asi
gnara una variable de ese tipo que suele ser tan grande como la maxima capacidad de el tipo de d
atos que use esa variable. Ejemplo un bit (no un byte que es diferente) tiene dos posibilidades 0 y 1
,,,true false etc entonces esa variable random usando ese tipo de datos estara variando su valor
entre cero o uno aleatoriamente,,,,si le asignaras un tipo de datos por ejemplo de byte que son 10 b
its creo pues tendras 1024 posibilidades desde el numero 0 hasta el numero 1023 siempre y cuand
o sea positivo el tipo de datos, en caso de positivo y negativo se repartira a partes iguales desde -5
12 hasta +511. Si la variable en cuestin es muy grande para tus valores lo que podras hacer es m
apearlo que es lo que se ha realizado aqu con la temperatura ( una simple regla de tres). Al valor m
ximo que tu quieras tener en tu coordenada X le asignaras 1023 y al mnimo 0.
Bueno lo importante es buscar si processing tiene esa variable random para utilizarla (99,99% si) y
despus aplicar la lgica sobre esa variable en funcin de lo que quieras simula. Evidentemente en
el proyecto indicaras que se trata de una simulacin para abaratar costes ya que tu objetivo no es
el hardware sino el proceso grco.
Un Saludo
Responder (http://diymakers.es/arduino-processing-primeros-pasos/?replytocom=513#respond)

19 de 19

Deja un comentario

(http://creativecommons.org/licenses/by-nc-sa/4.0/)
Buscar

All rights reserved. | Design by OpenCodez (http://www.opencodez.com/)

07/06/2016 14:09

También podría gustarte