[Link]
com/
Tutorial – Processing+Arduino
Tutorial: Visualização de sinais em tempo real com
o Processing e Arduino.
Arduinoscope
Para visualização gráfica de dados em tempo real existe uma boa opção que é o
Arduinoscope. A seguir daremos o passo a passo para você conseguir visualizar seus
dados em tempo real.
1. “Instale” o Processing no seu PC: [Link]
2. Baixe a biblioteca “arduino” para o Processing
[Link]
3. Descompacte esta pasta e copie na pasta Sketchbook do Processing. Para
localizar esta pasta clique em “File” e “Preferences” do Processing
4. Baixe a biblioteca “arduinoscope” para o Processing no link
[Link] e
descompacte esta pasta também no Sketchbook do Processing (exatamente
como no item anterior)
[Link]
Tutorial – Processing+Arduino
5. Você deverá rodar os dois programas “Arduino” e “Processing”
simultaneamente. Deverá, portanto fazer o upload no Arduino e em seguida
rodar o gráfico ou aplicativo no Processing. Agora vamos baixar o programa
que deverá “rodar” no Arduino. Chamaremos este arquivo de Arduinoscope.
Baixe o este programa no link
[Link] .
6. Em seguida faça o upload do programa no Arduino. Você pode também criar
uma pasta em Sketchbook do Arduino, que é localizada do mesmo modo que
no Processing. Nesta pasta crie uma pasta Arduinoscope e copie o arquivo .pde.
Este procedimento facilita a localização do programa para outras aplicações
7. Após fazer upload do “arduinoscope” no Arduino, abra o Processing e clique
em Sketchbook e localize o Arduinoscope. Abra, por exemplo
SimpleSerialArduinoscope, como mostra a figura. Pronto agora você já pode
visualizar os seus dados em tempo real.
[Link]
Tutorial – Processing+Arduino
Osciloscópio ZOOM
1. Adote o procedimento anterior e baixe o arquivo que deverá pertencer ao
Porcessing “Sketchbook”. Para baixar o código do processing clique em
[Link]
[Link]
2. Em seguida baixe o código que deve rodar no Arduíno e clique aqui para baixar
o arquivo
[Link]
3. Pronto, agora você pode visualizar seus dados em tempo real em uma tela de
melhor resolução.
[Link]
Tutorial – Processing+Arduino
Outras visualizações gráficas
No link [Link] temos
disponivel uma outra forma de visualização gráfica através do Processing.
Copie o codigo fonte abaixo e cole no Processing
Código Processing
Código Processing (para baixar clique aqui)
// Gráfico
// por David A. Mellis
//
// Demonstra a leitura de dados vindos a partir da placa Arduino
// por meio do desenho de um gráfico dos valores recebidos.
//
// baseado em Analog In
// por <a href="[Link] Nimoy</a>.
import [Link].*;
Serial port;
String buff = "";
int NEWLINE = 10;
// Armazene os últimos 64 valores recebidos de forma que possamos
desenhá-los
int[] values = new int[64];
void setup()
{
size(512, 256);
println("Portas seriais disponíveis:");
println([Link]());
// 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 [Link]() em seu
// esboço Arduino.
port = new Serial(this, [Link]()[0], 9600);// atenção para esta
linha verifique a porta que você está utilizando no Arduino (clique em
[Link]
Tutorial – Processing+Arduino
“Tools” e em “serial port” no Arduino que você consegue visualizar a
porta!
// 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()
{
background(53);
stroke(255);
// Desenhe os valores guardados com uma linha entre os pontos.
for (int i = 0; i < 63; i++)
line(i * 8, 255 - values[i], (i + 1) * 8, 255 - values[i + 1]);
while ([Link]() > 0)
serialEvent([Link]());
}
void serialEvent(int serial)
{
if (serial != NEWLINE) {
// Armazene todos os caracteres na linha
buff += char(serial);
} else {
// O final de cada linha é marcado com dois caracteres: um retorno
// de carro e um nova linha. Chegamos aqui porque temos um nova
linha,
// mas ainda precisamos excluir o retorno de carro.
buff = [Link](0, [Link]()-1);
// Transforme a string em inteiro. Dividimos por 4 porque
// as entradas analógicas vão de 0 a 1023, enquanto que as cores
// em Processing vão apenas de 0 a 255.
int val = [Link](buff)/4;
// Limpe o valor contido em "buff"
buff = "";
// Desloque os valores existentes para liberar espaço para novos
valores.
for (int i = 0; i < 63; i++)
values[i] = values[i + 1];
// Inclua ao vetor o valor recebido
values[63] = val;
}
}
[Link]
Tutorial – Processing+Arduino
Código Arduino
Código Arduino (para baixar clique aqui)
void setup()
{
[Link](9600);
}
void loop()
{
[Link](analogRead(0));
delay(20); // varie este delay e verifique o que ocorre!!
}
Outros exemplos gráficos com o Processing disponível em
[Link]
workshop/projects/arduino_meets_processing/instructions/[Link]