Teach Remote lab lessons

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ô.

  • Arduino robot (visual)
  • 55 min
  • Ensino fundamental II / ensino médio inicial
  • Português (Brasil)
  • Robotics · Embedded systems
Arduino robot (visual)
Arduino robot (visual)

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.

1

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.

Diagrama de botões que alteram uma variável de modo e produzem saídas visíveis

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.

2

Programar entradas e saídas

24 min

  1. Abra o robô visual e use o robô recomendado any-circuit.

  2. Configure os botões: Botão A como botaoA, Botão B como botaoB, Botão C como botaoC.

  3. No laço principal, use blocos se... então.

  4. Se botaoA está pressionado, acenda o LED vermelho e apague o azul.

  5. Se botaoB está pressionado, acenda o LED azul e apague o vermelho.

  6. Se botaoC está pressionado, coloque os dois motores em 0, apague os dois LEDs e escreva parado pela serial.

  7. Verifique, envie e teste cada botão pela interface do robô.

Imagem e referência de blocos mínimos:

Referência visual de blocos para configurar botões A, B e C e usar condições com LEDs e parada segura

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?

3

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:

Referência visual de blocos com variável de modo, mudanças por botões e LEDs decididos pelo modo guardado

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] LOW

Explique 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.

4

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.