Demonstra o envio de dados do computador à placa Arduino. Neste caso, para controlar o brilho de um LED. Os dados são enviados em bytes individuais, cada um na faixa entre 0 e 255. O Arduino lê esses bytes e usa-os para acertar o brilho do LED.
Um LED conectado ao pino 9 (com o devido resistor).
int ledPin = 9;
void setup()
{
// comece a comunicação serial
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
}
void loop()
{
byte val;
// veja se dados vieram do computador
if (Serial.available()) {
// leia o byte mais recente (que estará entre 0 e 255)
val = Serial.read();
// ajuste o brilho do LED
analogWrite(ledPin, val);
}
}
// Dimmer - envie bytes via porta serial
// by David A. Mellis
import processing.serial.*;
Serial port;
void setup()
{
size(256, 150);
println("Portas seriais disponíveis");
println(Serial.list());
// Use a primeira porta da lista (número 0). Mude esta parte
// conforme a porta correspondente a sua placa Arduino. O último
// parâmetro (9600) é a velocidade de comunicação. Ela
// deve corresponder ao valor passado ao Serial.begin() em seu
// esboço Arduino.
port = new Serial(this, Serial.list()[0], 9600);
// se você conhecer o nome da porta usada pela placa Arduino,
// também pode especificá-la diretamente, como segue.
//port = new Serial(this, "COM1", 9600);
}
void draw()
{
// desenhe um gradiente entre preto e branco
for (int i = 0; i < 256; i++) {
stroke(i);
line(i, 0, i, 150);
}
// escreva a posição atual X do mouse/rato na forma de
// um byte único
port.write(mouseX);
}