sexta-feira, 25 de março de 2016

Lição 4 - Ligar LED com botão

Caros amigos hoje vamos aprender como ligar um LED ao carregar num botão.

Para isso vamos usar duas instruções novas:
- a função digitalRead, que permite ler o sinal de uma porta digital
- a estrutura if{...} else {...}, é uma estrutura de decisão que vamos analisar com mais calma


Componentes
1 - LED vermelho
2 - Resistências de 220 Ohms
1 - Botão de pressão
6 - Condutores

Esquema eletrónico
 

Código do Sketch
void setup() {
  pinMode(13, OUTPUT);
  pinMode(12, INPUT);
}


void loop() {
  // Se botão pressionado
  if (digitalRead(12) == HIGH) {
     // Ligar o LED:
     digitalWrite(13, HIGH);
  // Caso contário
   } else {
     // Desligar LED:
     digitalWrite(13, LOW);
   }
}


Explicação
Ok vamos por partes, primeiro configuramos as portas na função setup.

Na função setup indicamos para as portas 12 e 13 se estamos a ler o sinal ou a enviar um sinal.
No caso da porta 13, estamos a enviar um sinal para o LED.
No caso da porta 12, estamos a ler o sinal do botão.

Depois de configuradas as portas, a função loop é executada de forma sequencial. Aí usamos a função digitalRead para ler o sinal da porta 12 e a estrutura de decisão if{..} else{...} para decidirmos o que fazer quando o botão está pressionado, ou o que fazer quando o botão não está pressionado.

A linha de código if (digitalRead(12) == HIGH) lê o sinal da porta 12 e verifica se a porta está ligada (HIGH). Se estiver, executa o código dentro das primeiras {...}. Se a porta não estiver ligada (botão não está pressionado), executa o código nas segundas {...}.

Muito bem, espero que tenhas gostado e se tiveres dúvida a escrever e enviar um Sketch para o Arduino volta à Lição 2 - Acender um LED.

Desafio
Para hoje, deixo-te o seguinte desafio.

Utiliza um LED vermelho e um LED verde. Quando o botão está pressionado, liga o LED vermelho, caso contrário liga o LED verde.

Sem comentários:

Enviar um comentário