Questão nº 39
Questão de Engenharia Elétrica · FCC TRT23 2022 (nº 39)
No ESP32, para acender um LED ligado à porta 23, podem-se usar três comandos, sendo um antes do void setup( ), um dentro do void setup( ) e um dentro do void loop( ). Apresenta corretamente os três comandos:
- AAntes do void setup( ): `int LED = 23;`; Dentro do void setup( ): `pinMode(LED, INPUT);`; Dentro do void loop( ): `digitalWrite(LED, LOW);`
- BAntes do void setup( ): `#define LED 23;`; Dentro do void setup( ): `setup(LED, OUTPUT);`; Dentro do void loop( ): `writeDigital(LED, 1);`
- CAntes do void setup( ): `int LED = 23`; Dentro do void setup( ): `modePin(LED, INTPUT);`; Dentro do void loop( ): `digitalWrite(LED, 0);`
- DAntes do void setup( ): `#define LED 23`; Dentro do void setup( ): `pinMode(OUTPUT, LED)`; Dentro do void loop( ): `digitalWrite(HIGH, LED)`
- EAntes do void setup( ): `#define LED 23`; Dentro do void setup( ): `pinMode(LED, OUTPUT);`; Dentro do void loop( ): `digitalWrite(LED, HIGH);` (alternativa correta)
Resposta comentada
Gabarito Alternativa E
Microcontroladores usam pinos digitais para interagir com componentes externos como LEDs. Para controlar um LED, o pino deve ser configurado como saída (OUTPUT), e para acendê-lo, envia-se um sinal alto (HIGH).
(A) Incorreta: O `pinMode` está configurado como `INPUT` (entrada) em vez de `OUTPUT` (saída), e o `digitalWrite` está enviando `LOW` (baixo), que desligaria o LED.
(B) Incorreta: As funções `setup` e `writeDigital` não são os comandos corretos para configurar o pino (`pinMode`) e controlar o estado digital (`digitalWrite`).
(C) Incorreta: A função `modePin` não existe (o correto é `pinMode`), a grafia de `INTPUT` está incorreta, e `digitalWrite(LED, 0)` desligaria o LED.
(D) Incorreta: A ordem dos argumentos nas funções `pinMode(OUTPUT, LED)` e `digitalWrite(HIGH, LED)` está invertida. O correto é `pinMode(pino, modo)` e `digitalWrite(pino, valor)`. Armadilha da banca: Esta alternativa usa os nomes de função e as palavras-chave corretas, mas inverte a ordem dos parâmetros, o que é um erro comum para iniciantes.
(E) Correta: Antes do `void setup()`: `#define LED 23` define corretamente o pino como uma constante. Dentro do `void setup()`: `pinMode(LED, OUTPUT);` configura o pino 23 como saída. Dentro do `void loop()`: `digitalWrite(LED, HIGH);` envia um sinal alto para o pino 23, acendendo o LED.
Fonte: FCC TRT23 2022 Analista Judiciário - Área Apoio Especializado - Especialidade Engenharia (Elétrica) (Caderno Tipo 1). Reproduzida para fins de estudo.