Dimmer

Demonstra o envio de dados desde o computador até a placa Arduino, neste caso para controlar o brilho de um LED. Os dados são enviados em bytes individuais, cada um deles varia entre 0 e 255. O Arduino lê esta informação e a usa para estabelecer o brilho do LED.

Você também pode enviar dados para o Arduino através de qualquer software que possa acessar o computador através da porta serial. Exemplos de Processing e Max/MSP version 5 são apresentados abaixo.

Circuito

Um LED conectado ao pino 9. Use resistor apropriado se necessário. Para os LED´s mais comuns você pode trabalhar sem resistor já que a saída da corrente da E/S digital é limitada.

 

clique na imagem para ampliar

Código

/*
Dimmer

Demonstrates the sending data from the computer to the Arduino board,
in this case to control the brightness of an LED. The data is sent
in individual bytes, each of which ranges from 0 to 255. Arduino
reads these bytes and uses them to set the brightness of the LED.

The circuit:
LED attached from digital pin 9 to ground.
Serial connection to Processing, Max/MSP, or another serial application

created 2006
by David A. Mellis
modified 14 Apr 2009
by Tom Igoe and Scott Fitzgerald

http://www.arduino.cc/en/Tutorial/Dimmer
*/

#define ledPin 9 // the pin that the LED is attached to

void setup()
{
// initialize the serial communication:
Serial.begin(9600);
// initialize the ledPin as an output:
pinMode(ledPin, OUTPUT);
}

void loop() {
byte brightness;

// check if data has been sent from the computer:
if (Serial.available()) {
// read the most recent byte (which will be from 0 to 255):
brightness = Serial.read();
// set the brightness of the LED:
analogWrite(ledPin, brightness);
}
}


Código Processing

Use o projeto abaixo em Processing. Ele enviará dados através da porta serial até o Arduino para controlar a luminosidade do LED.

// Dimmer - sends bytes over a serial port
// by David A. Mellis

import processing.serial.*;
Serial port;

void setup() {
size(256, 150);

println("Available serial ports:");
println(Serial.list());

// Uses the first port in this list (number 0). Change this to
// select the port corresponding to your Arduino board. The last
// parameter (e.g. 9600) is the speed of the communication. It
// has to correspond to the value passed to Serial.begin() in your
// Arduino sketch.
port = new Serial(this, Serial.list()[0], 9600);

// If you know the name of the port used by the Arduino board, you
// can specify it directly like this.
//port = new Serial(this, "COM1", 9600);
}

void draw() {
// draw a gradient from black to white
for (int i = 0; i < 256; i++) {
stroke(i);
line(i, 0, i, 150);
}

// write the current X-position of the mouse to the serial port as
// a single byte
port.write(mouseX);
}


Código Max

O programa de Max/MSP se parece com a imagem abaixo. O texto do programa está em um link por trás da imagem. Copie e cole em uma nova janela do programa.

O conteúdo desta página é uma tradução para o português a partir do site original do Arduino.

Esta obra está licenciada sob uma Licença Creative Commons.

Creative Commons License