Learning Examples | Foundations | Hacking | Links
Ejemplos > Comunicaciones
Un ejemplo del uso de la placa Arduino para recibir datos desde el ordenador. En este caso, la placa Arduino enciende un LED cuando recibe el carácter 'H', y apaga el LED cuando recibe el carácter 'L'.
Los datos pueden ser enviados desde el monitor serie de Arduino u otro programa como Processing (ver el código de abajo), Flash (a través de un proxy serial-net), PD o Max/MSP.
Un LED en el pin 13.
int outputPin = 13;
int val;
void setup()
{
Serial.begin(9600);
pinMode(outputPin, OUTPUT);
}
void loop()
{
if (Serial.available()) {
val = Serial.read();
if (val == 'H') {
digitalWrite(outputPin, HIGH);
}
if (val == 'L') {
digitalWrite(outputPin, LOW);
}
}
}
// mouseover serial
// by BARRAGAN <http://people.interaction-ivrea.it/h.barragan>
// Muestra cómo enviar datos a la placa de E/S Arduino, con el fin de
// encender una luz si el ratón está sobre un rectángulo y apagarlo
// si no lo está.
// created 13 May 2004
import processing.serial.*;
Serial port;
void setup()
{
size(200, 200);
noStroke();
frameRate(10);
// Lista todos los puertos serie disponibles.
// Puedes necesitar elegir el puerto de la lista al que
// está conectado tu Arduino. El primer puerto de la lista
// es el puerto #0 y el tercero de la lista es el puerto #2.
println(Serial.list());
// Abre el puerto al que Arduino está conectado (en este caso #0)
// Asegúrate de abrir el puerto a la misma velocidad que está usando Arduino (9600bps)
port = new Serial(this, Serial.list()[0], 9600);
}
// función que chequea si el ratón esta sobre el área
boolean mouseOverRect()
{
return ((mouseX >= 50)&&(mouseX <= 150)&&(mouseY >= 50)&(mouseY <= 150));
}
void draw()
{
background(#222222);
if(mouseOverRect()) // si el ratón está sobre el área
{
fill(#BBBBB0); // cambia el color
port.write('H'); // envía una 'H' que indica que el ratón está sobre el área
} else {
fill(#666660); // cambia el color
port.write('L'); // envía una 'L' en otro caso
}
rect(50, 50, 100, 100); // traza el área
}