Pesquisar

terça-feira, 24 de janeiro de 2012

Leitura Porta Serial Digital - Arduíno


Este exemplo mostra como monitorar o estado de um interruptor, estabelecendo a comunicação serial entre o Arduino eo computador através de USB.

Hardware necessário

  • Arduino Board
  • Uma chave momentânea, botão ou interruptor
  • 10k ohm resistor
  • breadboard
  • ligar-fio

Circuito


imagem desenvolvido utilizando Fritzing . Para mais exemplos de circuito, consulte a página do projeto Fritzing
Conectar três fios à placa Arduino. Os dois primeiros, vermelho e preto, conecte-se os dois longas linhas verticais no lado da breadboard para fornecer acesso à fonte de 5 volts e terra. O terceiro fio vai do pino digital 2 a uma perna do botão. Que mesma perna do botão liga através de um resistor de pull-down (aqui 10 KOhms ) para a terra. A outra perna do botão liga à fonte de 5 volts.
Botões ou interruptores ligar dois pontos em um circuito quando você pressioná-los. Quando o botão estiver aberto (não pressionado) não há nenhuma conexão entre as duas pernas do botão, assim que o pino é ligado à terra (através do resistor de pull-down) e diz o LOW, ou 0. Quando o botão é fechado (pressionado), faz uma conexão entre suas duas pernas, ligando o pino para 5 volts, de modo que o pino lê como HIGH, ou 1.
Se você desconectar o pino i / o digital de tudo, o LED pode piscar de forma irregular. Isso ocorre porque a entrada é "flutuante" - ou seja, ele não tem uma conexão sólida para tensão ou chão, e ele irá aleatoriamente retorno alto ou baixo. É por isso que você precisa de um resistor de pull-down no circuito.

Código

No programa abaixo, a primeira coisa que você vai fazer na função de configuração é para começar a comunicação serial, em 9600 bits de dados por segundo, entre o Arduino eo computador com a linha:
Serial.begin (9600);
Em seguida, inicializar digitais pino 2, o pino que irá ler a saída do seu botão, como uma entrada:
pinMode (2, INPUT);
Agora que sua instalação foi concluída, passar para o loop principal do seu código. Quando o botão é pressionado, 5 volts vai fluir livremente através de seu circuito, e quando não é pressionado, o pino de entrada será ligado à terra através do resistor de 10 kilohm. Esta é uma entrada digital, o que significa que a chave só pode ser em um estado em (visto pelo seu Arduino como um "1", ou alto) ou um estado desligado (visto pelo seu Arduino como um "0", ou LOW) , com nada entre eles.
A primeira coisa que você precisa fazer no circuito principal do seu programa é estabelecer uma variável para armazenar as informações vindas de seu switch. Desde que a informação que vem do switch irá ser um "1" ou um "0", você pode usar um int tipo de dados . Chamar esta variável SensorValue , e defini-lo como igual o que está sendo lido no pino digital 2.Você pode realizar tudo isso com apenas uma linha de código:
int SensorValue = digitalRead (2);
Uma vez que a Arduino tenha lido a entrada, torná-lo imprimir esta informação para o computador como um decimal (dezembro ) valor. Você pode fazer isso com o comando Serial.println () em nossa última linha de código:
Serial.println (SensorValue, DEC);
Agora, quando você abrir o seu monitor Serial no ambiente Arduino, você verá um fluxo de "0" s se o interruptor estiver aberto, ou "1" s se a sua chave é fechada.

/*
   DigitalReadSerial 

 Lê uma entrada digital no pino 2, imprime o resultado para o monitor serial

   Este código de exemplo está no público
 */


void setup() {
  Serial.begin(9600);
  pinMode(2, INPUT);
}

void loop() {
  int sensorValue = digitalRead(2);
  Serial.println(sensorValue);
}

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.