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