Teach Remote lab lessons

Teach lesson

Programação visual com Arduino real (4/4): mini-controlador

Os estudantes projetam um mini-controlador com entrada, decisão e saída, testam dois casos e explicam uma melhoria com evidência.

  • Arduino Board (visual)
  • 60 min
  • 8o/9o ano ou início do Ensino Médio
  • Português (Brasil)
  • Embedded systems
Arduino Board (visual)
Arduino Board (visual)

Learning Outcomes

  • Projetar um mini-controlador com entrada, decisão e saída.

  • Testar o programa com dois casos definidos.

  • Explicar o funcionamento e uma melhoria razoável.

Student activity preview

Activity Content

Preview only. In a class session, students can fill in responses and submit their work to the teacher.

1

Escolher o desafio

10 min

Um mini-controlador é um programa que lê uma entrada, decide e produz uma saída, repetindo-se no loop. Escolha um destes dois desafios-base (eles usam o
LED integrado, sem fios):

Neste projeto, Arduino configuração / Arduino run first fica para preparações
que acontecem uma só vez. A parte principal (ler entrada, decidir e agir) vai
dentro de Arduino loop infinito / Arduino loop forever, porque o controlador
deve conferir a entrada continuamente.

- Indicador de limiar: lê um potenciômetro; se passar de um limiar, o LED
fica aceso de forma contínua; se não, o LED pisca devagar.
- Aviso de dois modos: lê um botão; se estiver pressionado, o LED pisca rápido;
se não, pisca devagar.

*Extensões opcionais (só se seu professor confirmar o hardware): usar LEDs
externos para um semáforo ou um servomotor para duas posições. Elas não são
obrigatórias.*

Qual desafio você escolhe? Indique qual entrada e qual saída vai usar.

Preencha a tabela antes de construir. Use só uma linha para seu projeto-base
e deixe as demais vazias. Nessa linha, escreva qual entrada você lerá, qual
decisão ou limiar o programa usará, qual saída você observará e como saberá que
funciona.

Objetivo Entrada Decisão ou limiar Saída Como você saberá que funciona
2

Construir a primeira versão

22 min

Construa uma primeira versão pequena. Não tente deixá-la perfeita no começo. Ela
deve ter: uma leitura de entrada, uma decisão se / senão, uma saída observável
e uma espera se o comportamento se repetir rápido demais.

  1. Abra arduino-visual-board.

  2. Crie o programa com blocos dentro de Arduino loop infinito.

  3. Clique em Verificar / compilar. Corrija os erros que aparecerem.

  4. Clique em Enviar ao dispositivo (Upload into device ou Enviar al dispositivo).

  5. Teste dois casos: um que ative uma ramificação da decisão e outro que ative a outra.

Exemplo do desafio "Indicador de limiar" (aceso contínuo acima do limiar,
piscar lento abaixo):

Diagrama visual de blocos: dentro de Arduino loop infinito há uma condição se Ler pino analógico A0 é maior ou igual ao limiar; em fazer, LED integrado HIGH; em senão, LED integrado HIGH, Esperar 400 milissegundos, LED integrado LOW e Esperar 400 milissegundos.

Diagrama de referência para o desafio Indicador de limiar. Acima do limiar o LED fica aceso; abaixo, pisca devagar.

Arduino loop infinito:
   se  [Ler pino analógico [A0]]  [≥]  [limiar]
   fazer:
      [Definir LED integrado] [HIGH]        # acima do limiar: aceso contínuo
   senão:
      # abaixo do limiar: piscar lento
      [Definir LED integrado] [HIGH]
      [Esperar] 400 milissegundos
      [Definir LED integrado] [LOW]
      [Esperar] 400 milissegundos

Descreva o resultado da primeira versão. Inclua pelo menos dois testes com suas entradas e o que o LED fez.

3

Melhorar uma coisa

15 min

Escolha uma melhoria pequena e aplique:

- Ajustar o limiar para que mude onde você quer.
- Mudar um tempo de espera para que o piscar fique mais fácil de ver.
- Usar um bloco repetir N vezes para não copiar blocos.
- Deixar a diferença entre os dois modos mais fácil de distinguir.

Que melhoria você fez? Por que ela era necessária? Que evidência mostra que melhorou?

4

Apresentar o controlador

13 min

Resumo do mini-controlador

Entregue uma explicação breve (texto ou captura) com:

1. Nome do mini-controlador.
2. Entrada usada.
3. Decisão principal (e limiar, se houver).
4. Saída observável.
5. Dois testes e seus resultados.
6. Uma melhoria aplicada ou proposta.

O que você aprendeu sobre programar um sistema real que é diferente de programar só em uma tela? Pense na diferença entre "deveria funcionar" e "eu observei".