Considere um microcontrolador realizando uma Conversão AD p...

E a lógica de programação é a seguinte: //Definição das Variáveis int valorLido = 0;//Ler valor do ADC float tensão = 0;//Valor convertido em volts (V)
// Programa principal
void loop() { valorLido = analogRead(A0);//Ler valor da tensão na entrada A0 tensão = valorLido * (5.0/1023.0); //Converter valores em volts
if (valorLido <= 1,0) {
digitalWrite(Led1, LOW); digitalWrite(Led2, LOW); digitalWrite(Led3, LOW); digitalWrite(Led4, LOW); digitalWrite(Led5, LOW); } if (1,1 < valorLido <= 3,0) { digitalWrite(Led1, HIGH); digitalWrite(Led2, HIGH); digitalWrite(Led3, LOW); digitalWrite(Led4, LOW); digitalWrite(Led5, LOW); } else digitalWrite(Led1, LOW); digitalWrite(Led2, LOW); digitalWrite(Led3, HIGH); digitalWrite(Led4, HIGH); digitalWrite(Led5, HIGH); } }
É correto afirmar que apenas os LEDs irão acionar:
Comentários
Veja os comentários dos nossos alunos
Há um divisor de tensão na no 5V, logo a tensão máxima no A0 é de 2,5V
A condição que atende isso é:
if (1,1 < valorLido <= 3,0) {
digitalWrite(Led1, HIGH);
digitalWrite(Led2, HIGH);
digitalWrite(Led3, LOW);
digitalWrite(Led4, LOW);
digitalWrite(Led5, LOW);
}
O gabarito esta como L3, L4 e L5, porém a entrada estaria em uma faixa de tensão que não corresponde a entrada.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo