
Passo 1 de 8
O que existe dentro do microcontrolador
Reconheça os blocos que compõem um microcontrolador e diferencie o chip da placa Arduino Uno R3.
Trilha de aprendizado · Nível 9 · Tutorial 1
Prepare as ferramentas no próprio computador e compile e grave um programa mínimo em um Uno R3 próprio, identificando os blocos do microcontrolador e o ciclo básico de execução.
O que existe dentro do microcontrolador
Reconheça os blocos que compõem um microcontrolador e diferencie o chip da placa Arduino Uno R3. 2 min
Reconheça o Uno R3 e prepare a conexão
Identifique o Uno R3 e prepare uma conexão USB simples e segura, sem circuito externo. 3 min
Instale a IDE e selecione placa e porta
Instale a IDE Arduino no computador próprio, confirme o suporte AVR e associe seu Uno R3 à placa e à porta corretas. 6 min
Crie e salve seu primeiro sketch
Crie e salve localmente um sketch mínimo, reconhecendo os dois blocos fundamentais e os comentários. 3 min
Entenda setup, loop e reset
Preveja a sequência de setup e loop na partida e entenda o efeito de um reset. 3 min
Compile antes de gravar
Compile o sketch mínimo, corrija uma falha estrutural simples e reconheça o que essa etapa realmente confirma. 3 min
Grave o sketch no Uno R3
Transfira o firmware preparado para a Flash do Uno R3 e reconheça a confirmação final de gravação. 3 min
Revise o processo e interprete as evidências
Consolide as evidências obtidas ao compilar e gravar o sketch mínimo, distinguindo-as de uma verificação funcional. 3 min

Passo 1 de 8
Reconheça os blocos que compõem um microcontrolador e diferencie o chip da placa Arduino Uno R3.
Um microcontrolador é um circuito integrado que reúne, no mesmo chip, um processador, memórias e periféricos. Ele executa um programa e interage com sinais do mundo externo.
No Uno R3, o microcontrolador principal é o ATmega328P. Pense nele como a parte que efetivamente recebe e executa o firmware. A placa ao redor dele oferece recursos para usar esse chip com mais facilidade.

O processador troca informações com as memórias e usa periféricos para se relacionar com sinais, tempo e comunicação.
Dica
O processador busca e executa as instruções do programa. As memórias guardam informações necessárias nessa execução, cada uma com uma função diferente. Já os periféricos são blocos de hardware especializados: eles permitem lidar com entradas e saídas de sinais, comunicação e temporização.
Nesta etapa, basta reconhecer essas funções. A programação de pinos, temporizadores e outros periféricos virá adiante.
Compare as três memórias do ATmega328P pela finalidade e pelo que ocorre quando a alimentação é removida.
| Memória | Função principal | Mantém conteúdo sem energia? |
|---|---|---|
| Flash | Armazena o programa gravado | Sim |
| SRAM | Mantém dados temporários durante a execução | Não |
| EEPROM | Armazena dados que devem persistir | Sim |
Quando você gravar seu primeiro sketch, o firmware ficará na Flash. Durante a execução, o processador usa a SRAM como área temporária de trabalho. A EEPROM pode conservar dados mesmo após desligar a placa, mas você ainda não vai programá-la neste tutorial.
Atenção
Não confunda “memória não volátil” com “imutável”. Flash e EEPROM preservam o conteúdo sem energia, mas podem ser regravadas por procedimentos apropriados.
O microcontrolador é o chip. A placa de desenvolvimento é o conjunto que torna o chip prático para estudar e prototipar.
No Arduino Uno R3, a placa inclui o ATmega328P e acrescenta alimentação, conector USB, botão de reset, conectores para sinais e uma interface para conexão com o computador. Portanto, “Uno R3” não é apenas o microcontrolador: é a placa inteira.

A placa acrescenta infraestrutura ao chip: alimentação, conexão ao computador e acesso organizado aos sinais.
Associe cada bloco à sua função principal.
Faça as associações corretas.
Toque em um item e depois no par correspondente.

Passo 2 de 8
Identifique o Uno R3 e prepare uma conexão USB simples e segura, sem circuito externo.
Nesta prática, a referência é o Arduino Uno R3, baseado no microcontrolador ATmega328P e em um clock de 16 MHz. É essa combinação que será usada nos exemplos e nas seleções da ferramenta.
Não trate um Uno R4 ou outra placa como substituição automática: modelos podem usar outro microcontrolador, outra arquitetura e outro modo de conexão. Se sua placa não for um Uno R3, acompanhe a explicação, mas confira a documentação específica dela antes de gravar programas.

Use a legenda abaixo para relacionar cada cor à posição e ao aspecto do elemento na placa.
Legenda dos marcadores da imagem
Faça as associações entre cada marcador da imagem e o elemento indicado.
Associe cada marcador colorido ao elemento correspondente.
Toque em um item e depois no par correspondente.
Antes de conectar, separe:
Alguns cabos USB servem apenas para carregar. Eles podem alimentar a placa, mas não permitem que o computador reconheça a conexão para gravar o programa. Use um cabo de dados conhecido ou teste outro cabo se a placa não aparecer mais adiante.
Coloque a placa sobre uma superfície não condutora e deixe-a sem shields, jumpers, sensores ou qualquer carga externa.
Atenção
Nesta prática, alimente o Uno somente pelo USB conectado ao computador ou a uma origem USB compatível de 5 V, com proteção ou limitação de corrente apropriada.
Não conecte ao mesmo tempo uma fonte externa no conector de alimentação, em VIN ou no pino de 5 V. Também não conecte circuitos externos agora.
Atenção
O cabo USB comum não fornece isolamento galvânico. Quando o Uno está ligado ao computador por USB, a referência elétrica da placa fica conectada à referência do computador.
Por isso, mantenha esta primeira prática simples: placa isolada sobre a superfície, alimentada apenas pelo USB e sem outras conexões elétricas. Assim, você prepara o ambiente para instalar a IDE e gravar o sketch mínimo nas próximas etapas.
Dica
Conecte o cabo USB de dados primeiro à placa e depois ao computador. Não pressione RESET por enquanto; ele será estudado quando tratarmos do ciclo de execução.
Escolha a preparação adequada para instalar a IDE e, depois, reconhecer o Uno R3.
Qual situação está adequada para esta prática inicial?

Passo 3 de 8
Instale a IDE Arduino no computador próprio, confirme o suporte AVR e associe seu Uno R3 à placa e à porta corretas.
Para esta prática, instale no seu computador uma versão estável da IDE Arduino compatível com seu sistema operacional, obtida no site oficial do Arduino. O download e a instalação podem levar alguns minutos, conforme sua conexão e computador.
Abra a IDE após concluir a instalação. Se houver a opção de idioma nas preferências, você pode selecionar Português (Brasil); os nomes de alguns menus podem variar um pouco entre versões.

A IDE reúne edição, escolha do alvo e mensagens de resultado em uma mesma janela.
Dica
Você não precisa criar nem compilar um programa agora. Apenas localize:
A área de mensagens ajuda a distinguir o que foi concluído do que exige correção.
A IDE precisa conhecer a família de microcontroladores da placa. Abra o Gerenciador de Placas, procure por Arduino AVR Boards e instale o pacote se ele ainda não estiver instalado. Se aparecer como instalado, mantenha-o confirmado.
Para o Uno R3 desta prática, esse é o pacote correto. Não instale pacotes de outras arquiteturas nem bibliotecas adicionais agora.
Os três termos abaixo representam escolhas diferentes. Faça-as nesta ordem: primeiro confirme o pacote; depois escolha o modelo; por último identifique a porta que aparece ao conectar sua placa.
| Elemento | O que representa | Escolha nesta prática |
|---|---|---|
| Pacote de suporte | Conjunto de definições para uma família de placas | Arduino AVR Boards |
| Placa | Modelo para o qual a IDE será preparada | Arduino Uno |
| Porta | Canal de comunicação criado no computador | A porta que surgir para seu Uno R3 |
Com o Uno R3 conectado somente pelo cabo USB de dados, abra o seletor de placa e porta da IDE. Escolha Arduino Uno entre as opções associadas ao pacote Arduino AVR Boards.
Em seguida, observe a lista de portas. A porta correta costuma aparecer quando você conecta a placa e desaparecer quando a desconecta. O nome varia conforme o sistema: não dependa de um número ou rótulo fixo, nem suponha que a IDE reconhecerá o modelo automaticamente.

Compare a lista antes e depois da conexão para identificar a porta, em vez de memorizar um nome.
Atenção
Se nenhuma porta nova aparecer, não avance por tentativa. Verifique, uma condição por vez:
Use somente suporte indicado pelo fabricante ou pelo sistema operacional. Não instale drivers de origem desconhecida.
Atenção
Organize a preparação da IDE e da conexão na sequência mais segura e útil.
Dica
A sequência separa o suporte da placa, a identificação física da conexão e a escolha final na IDE. A porta pode mudar de nome entre computadores; o critério confiável é seu aparecimento após conectar o Uno R3.
Coloque as etapas na ordem adequada.
Registre sua situação atual na IDE. Escreva o nome do pacote confirmado, a placa selecionada e a porta identificada. Se algo ainda não funcionou, informe em qual verificação você parou e o que observou.
Escreva pelo menos 20 caracteres (0/20).

Passo 4 de 8
Crie e salve localmente um sketch mínimo, reconhecendo os dois blocos fundamentais e os comentários.
Um sketch é o programa que você escreve para a placa no ambiente Arduino. Ele usa C++ com a estrutura adotada pelo Arduino.
Neste primeiro sketch, você vai reconhecer apenas duas partes obrigatórias: setup e loop. Por enquanto, elas não comandarão pinos, LEDs nem outros componentes.

Todo sketch mínimo possui os blocos setup() e loop(). No próximo passo, você verá quando cada um é executado.
Dica
Observe a forma do código:
void faz parte da estrutura usada aqui.setup e loop são os nomes dos blocos.() são os parênteses após cada nome.{ abre e } fecha o corpo de cada bloco.// é um comentário: serve para anotar o código e não é executada.Mantenha essa estrutura exatamente como apresentada neste primeiro programa.
Na IDE Arduino do seu computador, crie um sketch novo. Apague qualquer conteúdo inicial do editor e digite ou cole o código completo abaixo. Não use um exemplo pré-instalado: este é o seu ponto de partida.
Digite este programa completo no editor da IDE.
void setup() {
// Preparação inicial do programa
}
void loop() {
// Parte repetida pelo ambiente Arduino
}Agora salve no seu computador:
primeiro_sketch..ino — por exemplo, primeiro_sketch.ino.Antes de seguir, confira no editor se os dois blocos, setup e loop, continuam presentes.
Complete os símbolos que faltam para formar a estrutura válida de um sketch mínimo. Considere cada chave de abertura e fechamento como parte do bloco correspondente.
Preencha os parênteses e as chaves que organizam os dois blocos.
void setup
// Preparação inicial do programa
void loop
// Parte repetida pelo ambiente Arduino

Passo 5 de 8
Preveja a sequência de setup e loop na partida e entenda o efeito de um reset.
Ao ligar a placa — e também depois de um reset — o ambiente Arduino executa primeiro setup() uma vez. Quando esse bloco termina, o ambiente passa a chamar loop() repetidamente.
Você não precisa, nem deve, escrever uma chamada de loop() dentro deste sketch. A repetição é fornecida pelo ambiente Arduino.

A cada partida ou reset: setup ocorre uma vez; em seguida, loop é chamado repetidamente.
Abra mentalmente o sketch mínimo salvo como primeiro_sketch.ino. Os dois blocos existem mesmo que tenham apenas comentários. Comentários não são executados; portanto, este programa ainda não define uma ação visível na placa.
Quando um loop() vazio é chamado, ele termina imediatamente. Isso não para o ciclo: o ambiente volta a chamá-lo.
Sketch mínimo salvo anteriormente. Por enquanto, os comentários apenas descrevem os blocos.
void setup() {
// Preparação inicial do programa
}
void loop() {
// Parte repetida pelo ambiente Arduino
}Dica
O clock de 16 MHz é a frequência de clock do microcontrolador. Ele não significa que loop() execute 16 milhões de vezes por segundo e não estabelece um intervalo fixo entre as chamadas. A quantidade de trabalho realizada pelo programa influencia quanto tempo cada passagem pode levar.
Organize o que ocorre ao ligar a placa ou ao reiniciá-la pelo botão RESET. Considere que, depois da última etapa, o ambiente continua chamando loop() novamente.
Coloque as etapas na ordem esperada.
O botão RESET reinicia a execução da placa. Ele não apaga o firmware gravado na Flash: essa memória mantém o sketch sem alimentação. Após o reset, a placa volta a executar setup() uma vez e depois retoma as chamadas repetidas de loop().
Como os dois blocos do sketch atual não definem uma saída, o reset não oferece, por si só, um efeito funcional programado para observar.
Verdadeiro ou falso: ao pressionar RESET, o sketch permanece na Flash; a placa reinicia, executa setup() uma vez e depois volta a chamar loop() repetidamente.

Passo 6 de 8
Compile o sketch mínimo, corrija uma falha estrutural simples e reconheça o que essa etapa realmente confirma.
Seu arquivo .ino contém o código-fonte: texto que você pode ler e editar. Antes de gravá-lo no Uno, a IDE precisa compilá-lo, isto é, preparar um firmware executável compatível com a placa selecionada.
Na IDE Arduino, use o comando Verificar (ícone de marca de seleção). Confira antes se o alvo continua como Arduino Uno. Para esta etapa, a placa não precisa estar conectada: a compilação prepara o programa, mas não o transfere para nenhum dispositivo.

A verificação prepara o firmware para o Uno selecionado; a gravação ocorrerá em outra etapa.
Dica
Abra o sketch mínimo salvo no seu computador e clique em Verificar. Aguarde a mensagem final da área de resultados.
Se a IDE indicar que a compilação terminou, observe também as linhas de uso de memória. Elas são informações sobre o espaço ocupado pelo firmware; neste momento, não é necessário interpretar cada número.
Se aparecer uma mensagem de erro, não tente gravar. Leia a primeira indicação relevante, compare o trecho apontado com a estrutura mínima completa e corrija o código antes de verificar novamente.
Uma chave { abre um bloco e a chave } correspondente o fecha. Um desencontro entre elas pode impedir a compilação. Compare o sketch abaixo com a estrutura que você salvou e complete a única chave ausente.
Preencha a chave que torna o sketch estruturalmente completo.
void setup() {
// Executado uma vez na partida
void loop() {
// Repetido pelo ambiente Arduino
}A confirmação de compilação responde apenas que a IDE conseguiu preparar o firmware a partir do código e do alvo selecionado.
Ela não mostra que o firmware foi enviado ao Uno e também não prova que o programa está produzindo o comportamento esperado. No sketch atual, setup e loop não definem nenhuma ação observável pelo aluno.
Qual evidência confirma que a IDE preparou o firmware para a placa selecionada, mas não confirma uma transferência nem uma execução funcional?
Escreva pelo menos 30 caracteres (0/30).
Após clicar em Verificar e receber uma mensagem de compilação concluída, o que já foi confirmado?

Passo 7 de 8
Transfira o firmware preparado para a Flash do Uno R3 e reconheça a confirmação final de gravação.
A compilação anterior preparou o firmware para o alvo selecionado. Agora, gravar/carregar transfere esse firmware para a memória Flash do ATmega328P no seu Uno R3.
A gravação substitui o sketch que já estava na Flash. Depois dela, a placa reinicia e passa a iniciar o novo sketch. Como este sketch mínimo tem setup() e loop() vazios, ele não foi programado para produzir uma indicação visual.

O bootloader é um pequeno programa que recebe o firmware pela conexão com o computador e permite gravá-lo na Flash.
Com a placa conectada, confira uma última vez se o alvo é Arduino Uno e se a porta exibida é a da sua placa. Em seguida, na IDE, use o comando Carregar (ícone de seta para a direita; em algumas versões pode aparecer como “Upload”).
Esse comando primeiro prepara/compila o firmware e, se não houver erro, inicia a transferência. Durante o processo, mantenha o cabo conectado e não pressione RESET.
Aguarde a mensagem final da área de resultados. Procure uma confirmação de carregamento, como “Carregamento concluído” ou mensagem equivalente da sua versão da IDE. A mensagem de compilação bem-sucedida que aparece antes não confirma, sozinha, que a transferência terminou.
Atenção
Nesta prática, deixe a placa somente no USB: sem jumpers, sensores, shields, cargas ou fonte externa em VIN ou no pino de 5 V. Não conecte outra alimentação enquanto o USB estiver ligado.
Coloque as etapas abaixo na ordem em que ocorrem em uma gravação bem-sucedida.
Ordene o percurso simplificado do firmware até o início da execução.
Se o carregamento falhar, não avance para procedimentos de recuperação do bootloader. Confira uma condição por vez:
Depois de alterar uma condição, tente carregar novamente. Isso ajuda a relacionar a mudança ao resultado, em vez de mudar tudo ao mesmo tempo.
Registre o que apareceu ao fim da tentativa na sua IDE. Se concluiu, copie ou descreva a mensagem final de gravação. Se falhou, descreva a primeira mensagem relevante e a condição que você conferiu. Este registro serve para sua própria conferência; ele não verifica automaticamente a sua placa.
Escreva pelo menos 15 caracteres (0/15).

Passo 8 de 8
Consolide as evidências obtidas ao compilar e gravar o sketch mínimo, distinguindo-as de uma verificação funcional.
Do arquivo salvo à execução

O código-fonte é compilado para o alvo selecionado; ao gravar, o firmware vai para a Flash do ATmega328P e passa a ser executado pelo processador.
| Etapa | O que ela permite concluir |
|---|---|
| Arquivo .ino salvo | Há uma cópia local identificável do código-fonte. |
| Compilação concluída | O sketch foi preparado para a placa selecionada, sem erros de compilação. |
| Gravação concluída | O firmware preparado foi transferido para a Flash da placa. |
| Comportamento observado | Uma ação definida pelo programa foi verificada na prática. |
Nem toda mensagem ou luz é uma prova funcional
Atenção
No sketch mínimo, setup() e loop() estão vazios ou contêm apenas comentários. Portanto, ele não define LED, mensagem ou outro efeito externo para você observar.
A conclusão de compilação confirma a preparação do firmware. A conclusão de gravação confirma a transferência para a Flash. Nenhuma dessas duas confirmações, sozinha, demonstra um comportamento funcional específico.
O LED de alimentação indica que a placa recebe energia. LEDs de comunicação ou uma piscada ao reset podem refletir atividades da placa, mas não provam, por si só, que os blocos vazios do seu sketch foram executados como esperado.
Dica
Uma gravação concluída permite afirmar: “o firmware foi transferido”. Para afirmar que uma função do programa funcionou, é preciso que o programa defina uma saída observável e que ela seja testada. Isso virá nos próximos tutoriais.
Relacione cada evidência à conclusão mais adequada.
| Evidência | Conclusão adequada |
|---|---|
| “Compilação concluída” | O código foi preparado sem erro de compilação para o alvo configurado. |
| “Gravação concluída” | O firmware foi transferido para a Flash. |
| LED de alimentação aceso | A placa está recebendo alimentação. |
| Sketch com blocos vazios | Não há comportamento visual definido para comprovar diretamente. |
Qual afirmação é sustentada por uma mensagem final de gravação concluída na IDE?
Se sua placa ainda estiver conectada e sem circuito externo, você pode pressionar e soltar uma vez o botão RESET. Pelo modelo estudado, preveja: a execução reinicia, setup() é chamado uma vez e, depois, loop() volta a ser chamado repetidamente.
Como o sketch atual não define uma saída observável, separe essa previsão do que você realmente conseguiu observar. Não altere o código nem conecte componentes nesta revisão.
Registre sua situação final. Inclua: nome ou pasta do arquivo .ino; placa e porta selecionadas (se identificadas); se a compilação e a gravação foram concluídas; o fluxo esperado após RESET; e uma frase sobre o que ainda não foi comprovado pelo sketch vazio.
Escreva pelo menos 120 caracteres (0/120).
Parabéns! Você concluiu: Primeiro programa no Arduino Uno R3
Milhares de cursos online em vídeo, ebooks e áudiobooks.
Para testar seus conhecimentos no decorrer dos cursos online
Gerado diretamente na galeria de fotos do seu celular e enviado ao seu e-mail
Baixe nosso aplicativo pelo QR Code ou pelos links abaixo:.
+ de 10 milhões
de alunos
Certificado grátis e
válido em todo o Brasil
60 mil exercícios
gratuitos
4,8/5 classificação
nas lojas de apps
Cursos gratuitos em
vídeo, ebooks e audiobooks