Trilha de aprendizado · Nível 9 · Tutorial 4

Controle de LEDs com saídas digitais

Configure uma saída digital e controle um LED com um programa sequencial, verificando a ligação e a corrente antes de energizar a montagem própria.

  • Nível: Iniciante
  • Duração: 20 min
  • 7 passos
Controle de LEDs com saídas digitais

O que você vai percorrer

  1. Do número no código ao pino da placa Relacione os nomes usados no sketch aos conectores e ao LED integrado do Arduino Uno R3. 2 min
  2. Configurar a saída e comandar o LED integrado Configure o LED integrado como saída, comande HIGH e LOW e interprete corretamente o estado do pino durante e após a inicialização. 3 min
  3. Prever piscadas com comandos e esperas 3 min
  4. Conferir a corrente antes de montar Verifique a corrente e os limites do GPIO antes de conectar o LED externo. 3 min
  5. Montar o LED externo com a placa desligada Monte o LED externo no pino digital 7 e faça uma inspeção factual do circuito antes de conectar a alimentação. 3 min
  6. Gravar e verificar a sequência no LED externo Execute o sketch no LED externo ligado a D7, observe a sequência e confira o reinício após reset. 3 min
  7. Aplicação final: prever, executar e conferir Aplicação final para prever, executar e conferir duas piscadas curtas seguidas de uma pausa maior em um LED externo ligado ao D7. 3 min

O que você vai aprender

  • Relacionar o número usado no código ao pino físico escolhido.
  • Configurar uma saída e comandar seus níveis alto e baixo.
  • Verificar o resistor e a corrente de um LED externo diante dos limites do GPIO.
  • Prever a sequência visual produzida por comandos e esperas bloqueantes.
  • Relatar o comportamento observado após gravar e reiniciar o programa.

Antes de começar

  • Cálculos e conversões numéricas em C/C++
  • Dimensionamento do resistor de um LED
  • Do esquema à montagem na protoboard
  • Compatibilidade elétrica entre circuitos digitais

Passo 1 de 7

Do número no código ao pino da placa

Relacione os nomes usados no sketch aos conectores e ao LED integrado do Arduino Uno R3.

Identificações que importam

GPIOs na placa e no código

Um GPIO é um pino de uso geral que o programa pode configurar para interagir com o circuito. Nesta prática, vamos usar GPIOs somente como saídas digitais: o programa comandará um nível alto ou baixo para controlar um LED.

No Arduino Uno R3, os conectores marcados de 0 a 13 são os pinos digitais usados pela API Arduino. Assim, o número escrito no código se refere à identificação do conector da placa — não à posição de um terminal no encapsulamento do ATmega328P.

Do código ao conector

Diagrama do Uno R3 destacando o conector digital 7 e o LED integrado próximo ao pino digital 13.

O número 7 no programa aponta para o conector digital D7 da placa.

Escolha o pino por uma constante

LED integrado e constante

Para começar sem montar nenhum componente, use a constante pronta LED_BUILTIN. No Uno R3, ela identifica o LED integrado marcado com L, ligado ao pino digital 13.

Em vez de espalhar um número pelo programa, declare uma constante com o pino controlado. Mais adiante, a troca para o LED externo exigirá alterar apenas esse valor.

Identificação do LED integrado

Use esta declaração no início do sketch. Ela seleciona o LED integrado; ainda não configura nem altera o pino.

cpp
const uint8_t pinoLed = LED_BUILTIN;

Dica

Uma troca localizada

Ao trocar para o circuito externo, a ideia será manter o mesmo nome e mudar somente a identificação para o pino digital 7. A configuração e os comandos serão estudados no próximo passo.

Verificação rápida

Confira as referências

Associe cada identificação ao elemento correto no Uno R3.

Faça as associações.

Toque em um item e depois no par correspondente.

Prepare a placa

Atenção

Antes de continuar

Durante toda esta prática, mantenha os pinos digitais 0 e 1 sem conexões externas. Eles são usados pela comunicação USB/serial da placa e conexões adicionais podem atrapalhar a gravação do programa.

Por enquanto, localize D7 e o LED L na sua placa, sem conectar fios. No próximo passo, você configurará o LED integrado como saída.

Passo 2 de 7

Configurar a saída e comandar o LED integrado

Configure o LED integrado como saída, comande HIGH e LOW e interprete corretamente o estado do pino durante e após a inicialização.

Duas ações diferentes no GPIO

Modo de saída e nível comandado

Você já conhece setup() e loop(). Dentro desses blocos, use chamadas de funções prontas da API Arduino: escreva o nome, parênteses e os argumentos.

  • pinMode(pino, OUTPUT) define que o pino será uma saída.
  • digitalWrite(pino, HIGH) ou digitalWrite(pino, LOW) comanda o nível dessa saída.

Essas são chamadas de funções, não definições de funções. Os blocos void setup() { ... } e void loop() { ... } fazem parte da estrutura do sketch.

Nesta etapa, LED_BUILTIN identifica o LED integrado L do Uno R3, ligado ao pino digital 13. Assim, você pode testar o programa sem montar componentes externos.

O programa comanda o LED integrado

Diagrama mostrando o programa comandando o pino digital 13 e o LED integrado aceso em nível alto ou apagado em nível baixo.

Depois de configurado como saída, D13 recebe um comando de nível; o LED integrado permite observar esse efeito.

Comandar HIGH após inicializar

Teste: manter o LED aceso

No Uno R3, sob carga pequena, HIGH comanda um nível próximo de 5 V e LOW, um nível próximo de 0 V. Esses nomes não ajustam brilho nem corrente: o LED integrado já possui o circuito apropriado na placa.

Para começar em nível baixo de forma explícita, comande LOW antes de habilitar o modo OUTPUT. Em seguida, o comando HIGH deixa o LED integrado aceso e permanece assim até que outro comando altere o nível.

Sketch para acender o LED integrado

Copie este sketch completo para um sketch local na IDE Arduino, grave-o no Uno R3 e observe o LED L da placa.

cpp
const uint8_t pinoLed = LED_BUILTIN;

void setup() {
  digitalWrite(pinoLed, LOW);
  pinMode(pinoLed, OUTPUT);
}

void loop() {
  digitalWrite(pinoLed, HIGH);
}
Saída esperada
Após a inicialização, o LED L permanece continuamente aceso.
Pode haver atividade breve do LED integrado durante reset ou bootloader, antes de setup().

Resultado físico esperado, não uma mensagem no console. Durante reset ou bootloader, o LED integrado pode apresentar atividade breve antes da execução de `setup()`.

Exemplo

Prática local

Com a placa conectada apenas pelo USB compatível, grave o sketch. Após setup(), o LED L deve ficar aceso de modo contínuo. Não há espera nem comando para apagar neste programa.

Apagar e interpretar a partida

Sketch para apagar o LED integrado

Agora substitua todo o conteúdo do mesmo sketch local pelo código abaixo e grave novamente.

cpp
const uint8_t pinoLed = LED_BUILTIN;

void setup() {
  digitalWrite(pinoLed, LOW);
  pinMode(pinoLed, OUTPUT);
}

void loop() {
  digitalWrite(pinoLed, LOW);
}
Saída esperada
Após a inicialização, o LED L permanece continuamente apagado.

Resultado físico esperado, não uma mensagem no console.

O nível permanece

Neste segundo teste, o LED L deve permanecer apagado depois da inicialização. Repetir digitalWrite(pinoLed, LOW) em cada passagem de loop() não cria um efeito visual novo: o nível baixo já continua valendo.

Do mesmo modo, repetir HIGH no sketch anterior não produz piscadas. Um nível comandado persiste até outra instrução o modificar.

Atenção

Atenção ao instante de reset

Ao pressionar RESET ou ao ligar a placa, os GPIOs passam primeiro por um período de alta impedância. Antes de setup() executar, o bootloader também pode causar atividade breve no LED integrado.

Portanto, digitalWrite(..., LOW) em setup() define o estado inicial do seu programa, mas não garante que o LED não tenha mostrado atividade durante a partida.

Pratique a distinção

Verifique a configuração

Complete as lacunas para configurar o LED integrado como saída e mantê-lo aceso. Diferencie a chamada que escolhe a direção elétrica da chamada que comanda o nível.

Modo e comando

Preencha as duas lacunas do sketch.

cpp
const uint8_t pinoLed = LED_BUILTIN;

void setup() {
  digitalWrite(pinoLed, LOW);
  pinMode(pinoLed, );
}

void loop() {
  digitalWrite(pinoLed, );
}

Relate os testes locais

Após gravar cada sketch, registre o que você observou no LED L. Se pressionou RESET, diferencie o comportamento contínuo depois de setup() de qualquer atividade breve vista antes disso.

Escreva pelo menos 40 caracteres (0/40).

Passo 3 de 7

Prever piscadas com comandos e esperas

Entenda a espera bloqueante

Espera que mantém o último comando

delay(duração) pausa o fluxo principal por uma quantidade de milissegundos. Por exemplo, delay(300) representa 300 ms, ou 0,3 s.

Durante a espera, a próxima instrução ainda não é executada. Assim, se a última ordem foi digitalWrite(pinoLed, HIGH), o LED permanece aceso até um novo comando mudar a saída.

Código, nível e aparência

Diagrama que relaciona o LED integrado aceso por uma parte curta do ciclo e apagado por uma parte mais longa, repetindo-se em uma linha do tempo.

Quando a saída está em HIGH, o LED integrado fica aceso; quando está em LOW, fica apagado. A duração de cada trecho vem do delay seguinte.

Padrão de piscada

Observe o ritmo: um acendimento curto seguido de um apagamento mais longo. A animação ilustra o padrão; confira os tempos pelo código e pela linha do tempo, não como uma medição precisa.

A sequência visual se repete a cada retorno ao início de loop.

Dica

Limite deste recurso

delay é útil para estes exemplos sequenciais simples. Como a execução fica esperando, ele não é uma solução geral quando o programa precisa atender outras tarefas durante o intervalo; essa alternativa será estudada mais adiante.

Leia o sketch como uma linha do tempo

Uma piscada com durações diferentes

Copie este sketch completo para a IDE Arduino. Ele usa o LED integrado, sem componentes externos.

cpp
const uint8_t pinoLed = LED_BUILTIN;

void setup() {
  digitalWrite(pinoLed, LOW);
  pinMode(pinoLed, OUTPUT);
}

void loop() {
  digitalWrite(pinoLed, HIGH);
  delay(300);

  digitalWrite(pinoLed, LOW);
  delay(700);
}
Saída esperada
LED integrado: aceso por aproximadamente 300 ms
LED integrado: apagado por aproximadamente 700 ms
Ciclo repetido a cada aproximadamente 1 s

Resultado esperado ao observar o LED L da placa; o sketch não imprime mensagens no Monitor Serial.

Leitura da sequência

Rastreie um ciclo:

  1. HIGH acende o LED.
  2. delay(300) mantém essa saída por 300 ms.
  3. LOW apaga o LED.
  4. delay(700) mantém essa saída por 700 ms.
  5. Ao fim da espera, loop() recomeça e o LED recebe HIGH outra vez.

O ciclo dura aproximadamente 1.000 ms, isto é, 1 s: 300 ms aceso + 700 ms apagado.

Exemplo

Retorno ao início

No início de cada nova volta de loop(), o comando HIGH vem logo após a espera de 700 ms. Por isso, não há uma pausa adicional planejada entre o fim do apagamento e o próximo acendimento.

Pratique a duração de cada estado

Complete os tempos

Complete os intervalos para que o LED fique explicitamente aceso por 250 ms e, depois, apagado por 750 ms em cada ciclo.

cpp
const uint8_t pinoLed = LED_BUILTIN;

void setup() {
  digitalWrite(pinoLed, LOW);
  pinMode(pinoLed, OUTPUT);
}

void loop() {
  digitalWrite(pinoLed, HIGH);
  delay();
  digitalWrite(pinoLed, LOW);
  delay();
}

Confira sequência e repetição

Monte uma piscada

Organize as quatro instruções para obter: LED aceso por 300 ms e apagado por 700 ms, repetidamente.

  1. delay(300);
  2. digitalWrite(pinoLed, HIGH);
  3. digitalWrite(pinoLed, LOW);
  4. delay(700);

Localize o estado no tempo

Qual afirmação descreve corretamente o sketch com 300 ms em HIGH e 700 ms em LOW?

Passo 4 de 7

Conferir a corrente antes de montar

Verifique a corrente e os limites do GPIO antes de conectar o LED externo.

Topologia segura do LED externo

Ligação prevista

Para o LED externo, usaremos uma saída ativa em nível alto: quando D7 recebe HIGH, ela fornece tensão ao circuito e o LED pode acender; com LOW, o LED apaga.

O caminho de corrente é único e em série:

D7 → resistor → ânodo do LED → cátodo do LED → GND

O resistor é obrigatório: ele limita a corrente que sai do GPIO e atravessa o LED. Nesta prática, o objetivo é uma corrente pequena, aproximadamente entre 2 e 5 mA.

Circuito ativo em nível alto

Diagrama da ligação em série: D7, resistor de 1 kΩ, LED vermelho e GND.

Em HIGH, a corrente percorre D7, resistor, LED e GND. Em LOW, não há tensão suficiente para condução nessa ligação.

Atenção

Proteção essencial

Não conecte o LED diretamente entre D7 e GND. Também não aplique 12 V a D7 nem a qualquer GPIO do Uno R3: estes pinos trabalham com níveis compatíveis com a placa, não com tensões automotivas ou de fontes de 12 V.

Corrente no caso de referência

Exemplo

Exemplo de cálculo

Use os dados deste caso de referência para conferir a corrente antes da montagem:

  • saída em HIGH: aproximadamente 5,0 V;
  • LED vermelho: queda direta estimada de 2,0 V;
  • resistor nominal: 1,0 kΩ;
  • tolerância do resistor: ±5%.

Pela lei de Ohm aplicada ao resistor:

I = (5,0 V − 2,0 V) / 1,0 kΩ = 3,0 mA

Com a tolerância, o resistor pode variar de 950 Ω a 1050 Ω. Mantendo os demais valores do exemplo, a estimativa fica entre aproximadamente 2,86 mA e 3,16 mA. É uma corrente pequena e adequada como alvo para esta prática.

Dica

Estimativa, não valor universal

A queda direta não é igual para todos os LEDs e também varia com corrente, temperatura e componente. Portanto, o cálculo é uma estimativa baseada nos dados fornecidos; para outro LED, consulte seus dados e refaça a conferência.

Aqui, 1 kΩ é deliberadamente conservador: não é uma tentativa de obter o brilho máximo.

Limites individual e agregados

Limites que devem ser considerados juntos

Além do resistor, confira os limites da saída e os limites compartilhados do microcontrolador. Como D7 está fornecendo corrente em HIGH, os limites de fornecimento são os diretamente relevantes nesta ligação.

Referência elétrica para a prática

Valores de referência para o Uno R3 com ATmega328P. Consulte a documentação da placa e do componente se mudar de modelo.

A corrente estimada de cerca de 3 mA fica bem abaixo da condição de 20 mA por pino.
ItemValor de referênciaComo interpretar
Corrente por GPIO20 mACondição especificada de operação; não é alvo de projeto.
Máximo absoluto por GPIO40 mALimite de dano; nunca usar como corrente contínua planejada.
Grupo de D7 fornecendo corrente150 mASoma das correntes do grupo que inclui D5 a D8.
Terminais VCC do chip200 mALimite total de corrente fornecida pelo microcontrolador.
Terminais GND do chip200 mALimite total de retorno pelo microcontrolador.

Atenção

Máximo absoluto não é meta

Não multiplique 20 mA pelo número de GPIOs para decidir uma corrente total. Correntes simultâneas dos pinos e o consumo do próprio microcontrolador entram nos limites agregados e de alimentação.

Nesta prática há somente um LED externo com cerca de 3 mA, mas esse raciocínio continua necessário em qualquer montagem.

Decidir antes de montar

Calcule a corrente

Com os dados do exemplo, complete a corrente nominal estimada no resistor:

(5,0 V − 2,0 V) / 1,0 kΩ = ____

Verificação numérica

Preencha a lacuna com a corrente nominal estimada.

Decisão antes de energizar

Qual justificativa aprova melhor o circuito de referência com D7, LED vermelho e resistor de 1 kΩ?

Passo 5 de 7

Montar o LED externo com a placa desligada

Monte o LED externo no pino digital 7 e faça uma inspeção factual do circuito antes de conectar a alimentação.

Monte o circuito em série

Prepare a montagem sem energia

Monte somente com a placa desconectada: retire o cabo USB e qualquer outra alimentação antes de inserir, remover ou reposicionar fios. Use um Arduino Uno R3, protoboard, LED de baixa potência, resistor de 1 kΩ já conferido e jumpers.

A ligação desta prática é uma única série: D7 → resistor → ânodo do LED → cátodo → GND. O resistor pode ficar antes do LED, como no esquema, pois continua no mesmo caminho da corrente. Não conecte nada aos pinos digitais 0 e 1.

Caminho completo da corrente

Diagrama de uma montagem em série: D7 ligado ao resistor, resistor ao ânodo de um LED e cátodo do LED ligado ao GND.

Siga o caminho elétrico, não apenas a posição física das peças na protoboard.

Atenção

Limites para esta prática

Não ligue o LED diretamente entre D7 e GND: sem resistor, a corrente pode ultrapassar um valor seguro para o LED e para o GPIO. Também não aplique 12 V, VIN ou 5 V diretamente a D7.

Nesta prática, a alimentação virá apenas do USB compatível, depois da inspeção. Não use ao mesmo tempo uma fonte em VIN ou no pino de 5 V.

Confira os terminais e as trilhas

Traduza o esquema para a protoboard

Na protoboard, furos de uma mesma trilha podem estar conectados internamente. Portanto, confira onde cada terminal realmente chega:

  1. Leve um jumper de D7 a uma ponta do resistor.
  2. Ligue a outra ponta do resistor à mesma trilha do ânodo do LED.
  3. Leve o cátodo do LED a uma trilha ligada por jumper a um pino GND da placa.

O ânodo e o cátodo devem ocupar trilhas diferentes; o LED não pode ter seus dois terminais na mesma trilha conectada.

Dica

Inspecione, não presuma

A aparência ajuda, mas não prova a conexão. Confira o LED pela marca física: em modelos comuns, a perna mais longa é o ânodo e o lado achatado do encapsulamento indica o cátodo. Se os terminais já foram cortados ou dobrados, consulte a marcação do seu componente em vez de adivinhar.

Antes de energizar, acompanhe com o dedo — sem puxar os fios — o percurso D7, resistor, LED e GND. O resistor precisa estar em série: a corrente que sai de D7 deve necessariamente passar por ele antes de alcançar o LED.

Pratique a ordem de trabalho

Sequência segura

Organize as ações abaixo para uma montagem segura.

Ordem de trabalho

Coloque na ordem correta.

  1. Montar D7 → resistor → ânodo → cátodo → GND
  2. Inspecionar conexões, polaridade e ausência de curto
  3. Desconectar USB e qualquer outra alimentação
  4. Conectar somente o cabo USB compatível

Inspeção final

Checklist antes de energizar

Com a placa ainda desconectada, faça a conferência final:

  • jumper de sinal no pino D7, não em D0 ou D1;
  • resistor de 1 kΩ presente no caminho em série;
  • ânodo ligado ao resistor e cátodo com retorno a GND;
  • LED com terminais em trilhas distintas;
  • nenhum jumper unindo D7 diretamente a GND;
  • sem fios soltos ou curtos entre trilhas;
  • pinos D0 e D1 livres;
  • nenhuma alimentação conectada por USB, VIN ou pino de 5 V.

Somente após essa inspeção, o próximo step orientará a conectar uma única USB compatível para gravar e observar a sequência.

Registre sua inspeção realizada

Com a placa ainda desenergizada, registre a inspeção que você realizou na sua montagem. Informe: o pino de sinal usado; o valor e a posição do resistor; como confirmou ânodo e cátodo; para qual GND o cátodo retorna; como verificou que não há curto entre D7 e GND; e que D0 e D1 ficaram livres.

Se encontrou e corrigiu algum erro, descreva a correção feita antes de energizar.

Escreva pelo menos 80 caracteres (0/80).

Passo 6 de 7

Gravar e verificar a sequência no LED externo

Execute o sketch no LED externo ligado a D7, observe a sequência e confira o reinício após reset.

Preparar a execução

Antes de energizar

Com a placa ainda desconectada, confirme a montagem já inspecionada: D7 → resistor → ânodo do LED → cátodo → GND. Mantenha D0 e D1 livres.

O comportamento do exemplo anterior passa para o LED externo mudando somente a constante pinoLed para 7. A configuração como saída e os comandos HIGH, LOW e delay permanecem com a mesma função.

Depois dessa conferência, conecte somente o cabo USB compatível. Não conecte outra fonte a VIN nem ao pino de 5 V.

D7 comanda o LED externo

Diagrama de uma placa ligada por D7 a um resistor e a um LED externo, com retorno ao GND e uma linha do tempo de pulsos altos e baixos.

O caminho elétrico continua em série; a sequência de níveis de D7 determina os períodos visíveis de aceso e apagado.

Gravar e observar

Sketch para o LED externo em D7

Crie ou substitua o conteúdo de um sketch local por este código completo. Selecione Arduino Uno e a porta correta na IDE, compile e grave na placa.

cpp
const uint8_t pinoLed = 7;

void setup() {
  digitalWrite(pinoLed, LOW);
  pinMode(pinoLed, OUTPUT);
}

void loop() {
  digitalWrite(pinoLed, HIGH);
  delay(700);

  digitalWrite(pinoLed, LOW);
  delay(300);
}
Saída esperada
LED externo em D7 aceso por cerca de 0,7 s.
LED externo em D7 apagado por cerca de 0,3 s.
Sequência repetida em ciclos de aproximadamente 1 s.

A mensagem de gravação concluída confirma a transferência do firmware, mas não comprova que o circuito externo está correto. Confira o LED externo visualmente por pelo menos dois ciclos.

Dica

O que observar

A cada ciclo, o LED externo deve ficar aceso por cerca de 0,7 s e apagado por cerca de 0,3 s. Observe pelo menos dois ciclos completos: o período aceso é visivelmente maior que o apagado.

Compare o circuito real com essa previsão. Se a IDE informar que a gravação terminou, mas o LED externo não seguir o padrão, ainda há algo a conferir no programa ou na montagem.

Confirmar o comportamento

Reconstrua o padrão em D7

Complete os elementos que levam o padrão previsto ao LED externo: seleção de D7, modo da saída e tempos de aceso e apagado.

cpp
const uint8_t pinoLed = ;

void setup() {
  digitalWrite(pinoLed, LOW);
  pinMode(pinoLed, );
}

void loop() {
  digitalWrite(pinoLed, HIGH);
  delay();
  digitalWrite(pinoLed, LOW);
  delay();
}

Testar o reinício

Após observar os ciclos, pressione o botão RESET da placa. Depois da inicialização, D7 recebe novamente o comando LOW; em seguida, loop() começa e inicia o período aceso de 700 ms.

O LED integrado da placa pode mostrar atividade breve durante a partida. Ele não é a referência deste teste: observe o LED externo conectado a D7.

Comparar previsão e resultado

Registre sua observação após gravar e depois de pressionar RESET. Informe: (1) se o LED externo repetiu aproximadamente 0,7 s aceso e 0,3 s apagado; (2) o que ocorreu após o reset; e (3) uma verificação que você faria se houvesse divergência.

Se precisar revisar polaridade, resistor ou fios, desconecte o USB antes de alterar a montagem.

Escreva pelo menos 80 caracteres (0/80).

Passo 7 de 7

Aplicação final: prever, executar e conferir

Aplicação final para prever, executar e conferir duas piscadas curtas seguidas de uma pausa maior em um LED externo ligado ao D7.

1. Preveja o padrão visual

Padrão a produzir

Você vai comandar o LED externo ligado ao D7 com este padrão, repetido continuamente:

  1. acende por 200 ms;
  2. apaga por 200 ms;
  3. acende por 200 ms;
  4. apaga por 1.000 ms.

O resultado são duas piscadas curtas e uma pausa maior, com o LED apagado. Antes de gravar, acompanhe a transição entre ciclos: terminado o último delay(1000), loop() recomeça imediatamente e comanda HIGH para iniciar a primeira piscada seguinte.

Linha do tempo da sequência

Diagrama temporal com dois intervalos curtos em nível alto, separados por um intervalo curto em nível baixo, seguidos por um intervalo baixo mais longo antes da repetição.

Nível alto acende o LED; nível baixo o apaga. A pausa longa termina com o início imediato da primeira piscada do ciclo seguinte.

2. Monte mentalmente o sketch

Complete a sequência

Complete o sketch para produzir duas piscadas curtas e uma pausa maior no LED externo em D7.

cpp
const uint8_t pinoLed = 7;

void setup() {
  digitalWrite(pinoLed, LOW);
  pinMode(pinoLed, );
}

void loop() {
  digitalWrite(pinoLed, );
  delay(200);
  digitalWrite(pinoLed, );
  delay(200);

  digitalWrite(pinoLed, HIGH);
  delay(200);
  digitalWrite(pinoLed, LOW);
  delay();
}

3. Grave, observe e teste o reset

Grave somente após a inspeção

Com a placa desconectada do USB, faça uma última conferência: D7 → resistor de 1 kΩ → ânodo do LED; cátodo → GND. O resistor precisa estar em série, e a corrente estimada para o caso de referência é próxima de 3 mA. Mantenha D0 e D1 livres.

Somente depois da inspeção, conecte uma única USB compatível. Copie o sketch abaixo para a IDE Arduino, selecione Arduino Uno e a porta correta, compile e grave. Observe ao menos dois ciclos completos. A confirmação de gravação não comprova, por si só, que o LED externo está seguindo o padrão.

Sketch de referência para D7

Crie ou substitua o conteúdo de um sketch local por este código completo. Ele não requer bibliotecas adicionais.

cpp
const uint8_t pinoLed = 7;

void setup() {
  digitalWrite(pinoLed, LOW);
  pinMode(pinoLed, OUTPUT);
}

void loop() {
  digitalWrite(pinoLed, HIGH);
  delay(200);
  digitalWrite(pinoLed, LOW);
  delay(200);

  digitalWrite(pinoLed, HIGH);
  delay(200);
  digitalWrite(pinoLed, LOW);
  delay(1000);
}
Saída esperada
LED externo em D7:
aceso por aproximadamente 200 ms
apagado por aproximadamente 200 ms
aceso por aproximadamente 200 ms
apagado por aproximadamente 1.000 ms

O ciclo recomeça com o LED acendendo novamente.

Resultado físico esperado no LED externo; os tempos são aproximados e devem ser observados visualmente, não como medição de precisão.

Dica

Teste o reinício

Depois de observar o padrão, pressione RESET. Após a inicialização, o programa comanda D7 em LOW e então inicia a primeira piscada. Use o LED externo como referência: o LED integrado da placa pode apresentar atividade breve durante a partida, mas isso não confirma o comportamento de D7.

4. Registre e consolide

Registro final da prática

Registre o que você realmente observou na prática. Inclua: o pino usado; o valor do resistor e a corrente estimada; sua previsão para o ciclo; o padrão visto em pelo menos dois ciclos; e o que ocorreu no LED externo após RESET.

Se a montagem não foi executada, informe isso claramente em vez de relatar uma observação como se ela tivesse ocorrido. Se houve divergência e você precisou rever fios, polaridade ou resistor, diga se desconectou o USB antes da alteração.

Escreva pelo menos 120 caracteres (0/120).

Resumo

Síntese da competência

  • O número 7 no sketch seleciona o conector digital D7 do Uno R3.
  • pinMode(..., OUTPUT) configura a saída; digitalWrite(..., HIGH/LOW) comanda seu nível.
  • O resistor em série limita a corrente do LED; a montagem deve ser conferida sem alimentação.
  • Cada delay mantém o último nível e bloqueia temporariamente a sequência.
  • A validação exige observar o LED externo, inclusive após RESET, e comparar o resultado com a previsão.

Tutorial concluído

Parabéns! Você concluiu: Controle de LEDs com saídas digitais

Concluído: você previu, executou e conferiu um padrão de sinalização no LED externo.

Baixe o Aplicativo agora para ter acesso a + de 5000 cursos gratuitos, exercícios, certificado e muito conteúdo sem pagar nada!

  • Cursos online 100% gratuitos do início ao fim

    Milhares de cursos online em vídeo, ebooks e áudiobooks.

  • Mais de 60 mil exercícios gratuitos

    Para testar seus conhecimentos no decorrer dos cursos online

  • Certificado Digital gratuito válido em todo o Brasil

    Gerado diretamente na galeria de fotos do seu celular e enviado ao seu e-mail

Aplicativo Cursa na tela de ebook, na tela de curso em vídeo e na tela de exercícios do curso, mais o certificado de conclusão de curso