sexta-feira, 10 de dezembro de 2010

Leitura Digital Com Saida Serial



Este exemplo mostra como você pode ler uma entrada digital, e visualizá-la atravez da saida serial do programa do arduino.

Hardware Requerido
  • Um botão, pode ser de qualquer tipo
  • Resistor 10k ohm
  • Protoboard (ou não vc que sabe)
  • Fios
  • Arduino

Circuito

imagem feita no Fritzing.
Ligue os fios no Arduino, siga o exemplo dado acima. Usaremos 3 pinos da placa, como vocês podem ver acima, os pinos são: 5V , GND , I/O 2 , o pino 2 pode ser substituido por qualquer outra entrada digital, basta mudar a configuração no código abaixo.

Como funciona
O botão tem apenas uma função, conduzir cargas eletricas quando ligado (ou não conduzir dependendo do modelo),  este circuito ligará a entrada do arduino ao VCC quando o botão estiver ligado, levando a entrada para o nivel HIGH (alto) ou ligará a entrada ao terra (GND, nivel lógico 0) atravéz do resistor, que esta presente apenas para evitar um curto na sua placa. Caso você use o botão apenas para conectar a entrada do VCC, o arduino não conseguira detectar o valor 0, podendo retornar qualquer coisa.

Esquemático

O Código
Neste código veremos como visualizar uma entrada recebida pelo arduino atravéz da porta usb do seu pc utilizando o Serial Monitor do software Arduino, mas isso pode ser feito por qualquer outro programa como o Processing ou qualquer outro software inclusive feito por você mesmo, muito util caso você queira interagir com a placa via pc.
  • Passo 1:
Iniciar a comunicação serial do arduino, o objeto Serial se refere a entrada usb padrao ou os pinos RX/TX da placa, se você deseja utilizar outra interface deverá utilizar um Arduino MEGA e chamar pelos objetos Serial1, Serial2, ou Serial3.

Serial.begin(9600);

  • Passo 2:
 Definir o pino usado como entrada, nesse caso o pino 2, mas você podera utilizar qualquer outra entrada para isso.
pinMode(2,INPUT); 

  • Passo 3:
Atribuir o valor de entrada a uma variável interna.

int sensorValue = digitalRead(2);

  • Passo 4:
Imprime o valor contido na variável na porta serial, que será monitorada pelo software.
Serial.println(sensorValue, DEC);

Código Completo:


void setup(){
Serial.begin(9600); // Inicializa a porta serial do arduino
pinMode(2,INPUT); //Configura o pino 2 da placa como entrada
}

void loop(){
int sensor = digitalRead(2); //atribui a variavel sensor, o valor da entrada
Serial.println(sensor,DEC); //função predefinida do arduino
//manda imprimir o valor de "sensor" no Serial Monitor
}

Agora, se tudo estiver correto, carregue a sua placa com o programa e abra o Serial Monitor e você deverá visualizar zeros quando o botão estiver solto e "uns" quando estiver precionado.
http://www.ladyada.net/images/arduino/serialmonitor.jpg

Nenhum comentário:

Postar um comentário