Diagrama de conexión
Código en Arduino
const int LED = 5;
char dato;
void setup() {
Serial.begin(9600);
pinMode(LED, OUTPUT);
digitalWrite(LED, LOW);
}
void loop() {
if (Serial.available() > 0)
{
dato = Serial.read();
if (dato == 'E') {
digitalWrite(LED, HIGH);
} else {
digitalWrite(LED, LOW);
}
}
}
Código en Processing
import processing.serial.*;
Serial port;
String TITULO="Control de LED - Arduino";
PFont font;
int qx=150;
int qy=150;
int qr=50;
boolean state = false;
String texto;
void setup()
{
//println(Serial.list());
port = new Serial(this, Serial.list()[0], 9600);
size(300, 300);
font = createFont("Arial", 20, true);
frameRate(10);
}
void draw()
{
background(220, 220, 220);
textFont(font, 20);
fill(0);
textAlign(CENTER);
text(TITULO, width/2, 60);
fill(0);
stroke(0, 255, 0);
if (mouseX > qx-qr && mouseX < qx+qr &&
mouseY > qy-qr && mouseY < qy+qr && mousePressed) {
state=!state;
}
noStroke();
if (state) {
fill(0, 0, 255);
texto="ON";
port.write('E');
} else {
fill(255, 0, 0);
texto="OFF";
port.write('A');
}
rectMode(RADIUS);
rect(qx, qy, qr, qr);
fill(0);
text(texto, 150, 150);
}
Interfaz gráfica
No hay comentarios:
Publicar un comentario