Questão nº 48

Questão de Engenharia Elétrica · FCC PGE-AM 2022 (nº 48)

FCC2022Técnico em Gestão Procuratorial - Especialidade Engenharia ElétricaEngenharia Elétrica
Gabarito: Bver comentário ↓

Um botão ligado a um resistor de pull-up e ao pino 13 do ESP32 constitui o seu circuito de entrada, sendo o circuito de saída um LED ligado ao pino 12. Deseja-se que o botão, ao ser acionado, ligue o LED; caso contrário, o LED permanece desligado. Para tanto, um código foi desenvolvido na IDE Arduino, cuja etapa void loop é:

void loop ()
int botao = digitalRead (13);
if (botao == 0)
{
  digitalWrite (12, HIGH);
}
else
{
  digitalWrite (12, LOW);
}
delay (500);
}

Durante a compilação, surgiu uma mensagem de erro, cuja causa é:

Resposta comentada

Gabarito Alternativa B

A função void loop() no Arduino é o coração do programa, onde o código principal é executado repetidamente. Ela deve sempre ser delimitada por chaves de abertura { e fechamento } para indicar o seu bloco de código.

  • A) Incorreta: O comando digitalRead está escrito corretamente em Arduino, que é uma linguagem sensível a maiúsculas e minúsculas. Digital Read seria um erro de sintaxe.
  • (B) Correta: Falta a chave de abertura { logo após void loop (). Sem ela, o compilador não consegue identificar o bloco de código pertencente à função loop, gerando um erro de sintaxe.
  • C) Incorreta: Com um resistor de pull-up, o pino de entrada lê HIGH (1) quando o botão está solto e LOW (0) quando o botão é pressionado (conectado ao GND). Portanto, (botao == 0) está correto para detectar o acionamento do botão. Armadilha: Esta alternativa tenta confundir o estudante sobre o funcionamento de botões com pull-up, um conceito fundamental. Muitos iniciantes podem pensar que "pressionado" sempre significa um valor alto (1).
  • D) Incorreta: O valor 500 para o delay (0.5 segundo) é um valor válido e comum, não causando erro de compilação. Pode ser alto para algumas aplicações, mas não é um erro de sintaxe.
  • E) Incorreta: Há uma chave de fechamento } após o delay(500);. O problema é a ausência da chave de abertura para a função void loop(), não a ausência de uma chave de fechamento.

Fonte: FCC PGE-AM 2022 Técnico em Gestão Procuratorial - Especialidade Engenharia Elétrica (Caderno Tipo 001). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho