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);
}
pinMode(13, OUTPUT);
}
void loop() {
int espera = analogRead(A15);
digitalWrite(13, HIGH);
delay(espera);
digitalWrite(13, LOW);
delay(espera);
}
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