Teach lesson
Robô Arduino Visual (2/4): botões, LEDs e modos
Os estudantes usam botões A/B/C como entradas, LEDs e mensagens seriais como saídas, e uma variável de modo para lembrar o estado do robô.
Learning Outcomes
Usar botões do robô como entradas de decisão.
Usar LEDs e mensagens seriais para comunicar o estado do robô.
Criar um programa com modos simples e comportamento seguro.
Student activity preview
Activity Content
Preview only. In a class session, students can fill in responses and submit their work to the teacher.
Desenhar os modos
8 min
Um botão é uma entrada. A variável modo lembra a escolha, e o robô mostra uma saída visível com LEDs, serial ou motores.
Um robô não apenas se move: ele também pode ter estados. Por exemplo:
- Modo espera: motores parados, LED vermelho.
- Modo pronto: motores parados, LED azul.
- Modo teste: movimento muito curto e volta a parar.
Desenhe três modos para seu robô usando os botões A, B e C. Para cada modo, indique qual LED acende, se há mensagem pela serial e se o robô se move ou fica parado.
Programar entradas e saídas
24 min
Abra o robô visual e use o robô recomendado
any-circuit.Configure os botões:
Botão A como botaoA,Botão B como botaoB,Botão C como botaoC.No laço principal, use blocos
se... então.Se
botaoA está pressionado, acenda o LED vermelho e apague o azul.Se
botaoB está pressionado, acenda o LED azul e apague o vermelho.Se
botaoC está pressionado, coloque os dois motores em0, apague os dois LEDs e escrevaparadopela serial.Verifique, envie e teste cada botão pela interface do robô.
Imagem e referência de blocos mínimos:
Blocos de configuração:
[Botão] A [como] botaoA
[Botão] B [como] botaoB
[Botão] C [como] botaoC
No laço principal:
se [botaoA está pressionado]:
[Definir LED] vermelho [como] HIGH
[Definir LED] azul [como] LOW
se [botaoB está pressionado]:
[Definir LED] azul [como] HIGH
[Definir LED] vermelho [como] LOW
se [botaoC está pressionado]:
[Alterar velocidade dos motores]
Esquerdo: 0
Direito: 0
[Definir LED] vermelho [como] LOW
[Definir LED] azul [como] LOW
[Escrever] "parado"
O bloco Botão ... como ... cria o nome do botão. Depois, os blocos está pressionado podem usar esse nome. Use está pressionado (verifica se o botão está pressionado naquele instante); para que seja percebido, mantenha o botão pressionado enquanto o programa faz a verificação no laço.
Preencha a tabela depois de testar os botões. Use uma linha para cada botão
testado: A, B e C. Se a tabela mostrar linhas extras vazias, deixe-as vazias.
Em cada linha, anote o modo previsto, o LED que você viu, a mensagem serial se
apareceu e se o resultado foi seguro.
| Botão | Modo previsto | LED observado | Mensagem serial | Resultado seguro |
|---|---|---|---|---|
Por que é preciso configurar primeiro um botão antes de usar o bloco que verifica se ele está pressionado?
Adicionar uma variável de modo
15 min
Como melhoria, adicione uma variável chamada modo (categoria *Variáveis*). Uma
variável é uma "caixa" com nome que guarda um valor e o lembra. Dê um valor
inicial ao começar (por exemplo, modo = "espera"): assim o robô tem um estado
desde o princípio. Se você não der valor inicial, a variável fica vazia até
você pressionar um botão e nenhuma mudança será vista. Cada botão altera o valor:
- Ao pressionar A, modo = "espera".
- Ao pressionar B, modo = "pronto".
- Ao pressionar C, modo = "parado".
Depois use modo para decidir qual LED ou mensagem mostrar.
Imagem e referência com variável:
Ao começar (uma única vez):
definir modo como "espera"
No laço principal:
se [botaoA está pressionado]:
definir modo como "espera"
se [botaoB está pressionado]:
definir modo como "pronto"
se [modo = "espera"]:
[Definir LED] vermelho [como] HIGH
[Definir LED] azul [como] LOW
se [modo = "pronto"]:
[Definir LED] azul [como] HIGH
[Definir LED] vermelho [como] LOWExplique qual é a vantagem de lembrar o modo com uma variável em vez de apenas verificar se o botão está pressionado naquele instante.
Se ao pressionar um botão nada mudar, escreva três verificações ordenadas que você faria antes de pedir ajuda.
Entrega breve
8 min
Mapa de modos do robô
Entregue seu mapa de modos e uma evidência de pelo menos dois botões funcionando. Pode ser captura do programa, tabela de observação ou explicação com resultados.