Semana 9¶
Esta semanas abordaremos la construcción de aplicaciones que hagan uso de protocolos de comunicación ASCII para intercambiar información con sensores y/o actuadores.
En la primera sesión revisaremos dudas en la implementación del ejercicio de la semana pasada. Para la segunda sesión, vamos a comenzar la implementación una aplicación para el ejercicio, pero utilizando processing. En este enlace podemos consultar algunas bibliotecas, por ejemplo, Interfascia y Serial.
Este ejemplo, permite adicionar botones:
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 | import interfascia.*;
GUIController c;
IFButton b1, b2;
IFLabel l;
void setup() {
size(200, 100);
background(155);
c = new GUIController (this);
b1 = new IFButton ("Green", 40, 40, 40, 17);
b2 = new IFButton ("Blue", 120, 40, 40, 17);
b1.addActionListener(this);
b2.addActionListener(this);
c.add (b1);
c.add (b2);
}
void draw() {
}
void actionPerformed (GUIEvent e) {
if (e.getSource() == b1) {
background(100, 155, 100);
} else if (e.getSource() == b2) {
background(100, 100, 130);
}
}
|
Este otro ejemplo muestra como adicionar cajas de textos y modificar labels en la GUI.
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 | import interfascia.*;
GUIController c;
IFTextField t;
IFLabel l;
void setup() {
size(200, 100);
background(150);
c = new GUIController(this);
t = new IFTextField("Text Field", 25, 30, 150);
l = new IFLabel("", 25, 70);
c.add(t);
c.add(l);
t.addActionListener(this);
}
void draw() {
}
void actionPerformed(GUIEvent e) {
if (e.getMessage().equals("Completed")) {
l.setLabel(t.getValue());
}
}
|
Con respecto al manejo del serial. Ingrese a este sitio. Abra cada una de las funciones del API y observe los ejemplos. Notará que el uso es muy similar al del API de Arduino.