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.
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.
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 |
|---|---|---|---|---|
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.
Abra
arduino-visual-board.Crie o programa com blocos dentro de Arduino loop infinito.
Clique em Verificar / compilar. Corrija os erros que aparecerem.
Clique em Enviar ao dispositivo (
Upload into deviceouEnviar al dispositivo).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 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 milissegundosDescreva o resultado da primeira versão. Inclua pelo menos dois testes com suas entradas e o que o LED fez.
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?
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".