Dimmer

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.

Circuito

Um LED conectado ao pino 9 (com o devido resistor).

Código


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);
  }
}


Código Processing


// 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);
}


Share