Neste tutorial vamos utilizar a comunicação serial do Arduino para fazer a interação com um programa em Processing rodando no computador.
Ver página sobre o Processing neste guia.

O Que Vou Aprender?

- A partir de uma interface gráfica em Processing rodando no computador, realizar interações com o Arduino.

Requisitos Prévios

- Ter a versão mais recente do Processing instalada e rodando em seu computador.

Código Fonte

Download do arquivo em formato .ino

Materiais Necessários

Para este tutorial você vai precisar de 1 Arduino Uno R3, 5 LEDs, 5 Resistores 330Ω, 1 Protoboard, 1 Cabo USB - AB e Jumpers premium. Ou você pode utilizar os componentes do Kit Iniciante com Arduino Uno R3.

Tutorial Multilógica-Shop Arduino Scroll Bar com Processing

 

Diagrama

Tutorial Multilógica-Shop Arduino Scroll Bar com Processing

 

Código Fonte

- Para o funcionamento deste tutorial, será necessário primeiro fazer a montagem conforme a imagem anterior.
- Fazer download dos arquivos .ino e .pde.
- Fazer upload do arquivo .ino para o Arduino através da IDE Arduino. Depois rodar o arquivo .pde na interface do Processing no seu computador.
- Provavelmente você deverá ajustar a configuração da porta serial dentro do arquivo .pde seguindo as instruções descritas nos comentários do código.
- Você verá uma barra conforme a imagem abaixo. Esse é um scroll que você poderá deslizar para fazer acender ou apagar a linha de LEDs de seu projeto.

 

Tutorial Multilógica-Shop Arduino Scroll Bar com Processing

/*
Scroll Bar com Processing
 */
char val;      // variavel para guardar o valor recebido pela interface serial
char val_old;  // variavel para guardar o valor anterior recebido pela interface serial

// funcao setup roda apenas uma vez quando a execucao do programa se inicia
void setup() {
  // inicializamos os pinos de 2 a 6 como saidas
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
 
  // inicializamos a comunicacao serial com velocidade de 115200 bauds
  Serial.begin(115200);
}

// a funcao loop e executada indefinidamente
void loop() {
   if (Serial.available()) { //verifica se ha dados disponiveis para a leitura
     val = Serial.read(); // le o dado e o armazena em val
   }
   if (val!=val_old){ // somente atua se houver variacao no valor de val
     alloff(); // executa a funcao alloff que apaga todos os LEDs
       for (int i=2; i<(int(val)+2); i++){
              // faz com que o valor de i varie de 2 ate val+2
                    // note que val armazena um caractere e necessitamos
                   // da funcao int(val) para tranformar em um valor numerico
         digitalWrite(i, HIGH); // acende o led no pino i
       }
     val_old=val; // guarda o valor de val em val_old
  }
}

void alloff() { // funcao para apagar todos os LEDs
  for(int i = 2; i < 7; i++){ // faz com que i varie de 2 a 6
    digitalWrite(i, LOW); // apaga o led no pino i
  }
}

Este tutorial é parte integrante do Guia Iniciante Arduino, desenvolvido pela equipe da Multilógica-Shop. Faça download grátis do arquivo com 15 tutoriais. Neste guia você também vai encontrar, além de indicações de instalação e tutoriais, uma grande quantidade de informações sobre todo o ambiente que está ao redor desta plataforma.

Guia Arduino Iniciante Multilógica-Shop 2.0