Atividade 2 do aluno Adam
Autor: Renato Soares | Publicado: 2012-05-08T16:34:00-07:00



Digital
Read Serial (Leitura Digital Serial)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Este projeto
mostra como monitorar o estado de um interruptor, estabelecendo a comunicação
serial entre o Arduino e o computador através de USB.

Componentes
necessários

<!--[if !supportLists]-->·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<!--[endif]-->Arduino Board

<!--[if !supportLists]-->·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<!--[endif]-->Uma chave momentânea, botão ou interruptor

<!--[if !supportLists]-->·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<!--[endif]-->10k ohm resistor

<!--[if !supportLists]-->·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<!--[endif]-->breadboard

<!--[if !supportLists]-->·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<!--[endif]-->hook up-fio

Circuito







Ligue
três fios à placa Arduino.&nbsp;Os dois primeiros, vermelho e preto, ligar às duas
longas linhas verticais na parte lateral da placa de montagem para permitir o acesso
à fonte de 5 volts e base.&nbsp;O terceiro fio vai do pino digital 2 a uma
perna do botão de pressão.&nbsp;Essa mesma perna do botão é ligada através de
um resistor de pull-down (aqui 10&nbsp;KOhms&nbsp;) para a terra.&nbsp;A outra
perna do botão liga-se ao fornecimento de 5 volt.

Botões ou switches conectam dois pontos em um
circuito quando você pressioná-los.&nbsp;Quando o botão de pressão está aberta
(não prensada) não existe ligação entre as duas pernas do botão de pressão, de
modo que o pino está ligado à terra (através da resistência de pull-down) e lê como
LOW, ou 0.&nbsp;Quando o botão está fechado (pressionado), faz uma ligação
entre as suas duas pernas, ligando o pino de 5 volts, de modo que o pino de lê
como Hight, ou 1.

Se desligar o pino de I / O digital de tudo, o LED
pode piscar de forma irregular.&nbsp;Isto é porque a entrada é
"flutuante" - isto é, que não tem uma ligação sólida à tensão ou em
pó, e que irá retornar aleatoriamente HIGHT ou LOW.&nbsp;É 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 é começar a comunicação serial, em 9600 bits de
dados por segundo, entre o Arduino e o computador com a linha:

Serial.begin (9600);

Em seguida, inicializar pino digital 2, o pino que
vai ler a saída do seu botão, como uma entrada:

pinMode (2, INPUT);

Agora que sua instalação foi concluída, mova para o
loop principal do seu código.&nbsp;Quando o botão é pressionado, 5 volts irão
fluir livremente através de seu circuito, e quando não é pressionado, o pino de
entrada será ligada à terra através do resistor de 10 kilohm.&nbsp;Esta é uma
entrada digital, o que significa que a opção só pode ser em qualquer um no
estado (visto pelo seu Arduino como um "1", ou alto) ou um estado
desligado (visto pelo seu Arduino como um "0", ou baixo) , com nada
entre eles.

A primeira coisa que você precisa fazer no loop
principal do programa é estabelecer uma variável para armazenar a informação
vindo de seu switch.&nbsp;Desde que a informação que vem do switch irá ser um
"1" ou um "0".&nbsp;Chame essa
variável&nbsp;SensorValue&nbsp;, e defini-lo como igual o que está sendo lido
no pino digital 2.&nbsp;Você pode fazer 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 essas informações para o computador como um decimal (dezembro&nbsp;)
valor.&nbsp;Você pode fazer isso com o comando&nbsp;Serial.println&nbsp;() em nossa
última linha de código:

Serial.println (SensorValue, DEC);

Agora, quando você abrir o seu Serial Monitor no
ambiente Arduino, você verá um fluxo de "0" s se o interruptor
estiver aberto, ou "1" s se o interruptor está fechado.

/ *
&nbsp; DigitalReadSerial
&nbsp;Lê
uma entrada digital no pino 2, imprime o resultado para o monitor
serial&nbsp;&nbsp;Este exemplo de código é de domínio público.&nbsp;&nbsp;* /&nbsp;

/ / pino digital 2 tem um botão ligado a ele.&nbsp;Dê-lhe um nome:
int&nbsp;tecla&nbsp;=&nbsp;2&nbsp;;

/ / a rotina de instalação é executado uma vez quando você pressionar
reset:
vazio&nbsp;de configuração&nbsp;(&nbsp;)&nbsp;{
&nbsp;&nbsp;/ / inicializa comunicação serial a 9600 bits por segundo:
&nbsp;&nbsp;Serial&nbsp;.&nbsp;começar&nbsp;(&nbsp;9600&nbsp;)&nbsp;;
&nbsp;&nbsp;/ / fazer o de botão fixar uma entrada:
&nbsp;&nbsp;pinMode&nbsp;(&nbsp;botão&nbsp;,&nbsp;ENTRADA&nbsp;)&nbsp;;
}

/ / a rotina de loop é executado uma e outra vez para sempre:
vazio&nbsp;de loop&nbsp;(&nbsp;)&nbsp;{
&nbsp;&nbsp;/ / lê o pino de entrada:
&nbsp;&nbsp;int&nbsp;buttonState&nbsp;=&nbsp;digitalRead&nbsp;(&nbsp;botão&nbsp;)&nbsp;;
&nbsp;&nbsp;/ / Imprime o estado do botão:
&nbsp;&nbsp;Serial&nbsp;.&nbsp;println&nbsp;(&nbsp;buttonState&nbsp;)&nbsp;;&nbsp;


}

Fonte acessada em 8 de
maio de 2012:&nbsp;http://arduino.cc/en/Tutorial/DigitalReadSerial