sexta-feira, 25 de março de 2016

Lição 5 - Poteciómetro e portas analógicas

Olá amigos até agora utilizámos sempre as portas digitais do Arduino. Estas portas digitais podem ser configuradas como sinal de saída ou entrada e valor delas pode ser 0V ou +5V.

Mas o Arduino tem portas analógicas, estas são diferentes das portas digitais. Pois, podem assumir valores entre 0 a 1023 quando é um sinal de entrada ou 0 a 255 quando é um sinal de saída.

Hoje vamos melhorar o esquema da Lição 3 - LED pisca-pisca. Vamos utilizar um potenciómetro e uma porta analógica para fazer variar a velocidade a que o LED pisca.


Componentes
1 - LED vermelho
1 - Resistência 220 ohms
1 - Potenciómetro (o valor dele não é importante)
7 - Condutores

Esquema eletrónico

 
 
Código do Sketch
 
void setup() {
  pinMode(13, OUTPUT); 
}
 
void loop() {
  int espera = analogRead(A15);
  digitalWrite(13, HIGH);
  delay(espera);
  digitalWrite(13, LOW);
  delay(espera);
}
 
Explicação
 
Muito bem, agora tens todos os componentes ligados e código do sketch enviado para o Arduino, vou explicar-te o código.
 
Em primeiro lugar o habitual. Definir da função setup que a porta digital 13 é uma porta para saída de sinal.
 
De seguida o Arduino entra na função loop e executa o código repetidamente até ser desligado.
 
Portanto temos na primeira linha:
 
int espera = analogRead(A15);
 
O Arduino vai ler o valor da porta analógica A15 e grava esse valor na variável espera.
 
Quando rodas o potenciómetro este valor vai variar, como é uma leitura analógica o valor vai variar entre 0 e 1023.


A seguir o Arduino liga o LED na porta digital 13.

digitalWrite(13, HIGH);

E espera o total de milissegundos que foram lidos na porta A15 e guadados na variável espera.

Depois de esperar, desliga o LED e volta a esperar o mesmo tempo.

digitalWrite(13, LOW);
delay(espera);


E volta a repetir a linha 1 da função loop.

Diverte-te a rodar o potenciómetro para veres o LED a piscar mais devagar ou mais rápido.

Sem comentários:

Enviar um comentário