Teach Remote lab lessons

Teach lesson

Robô Arduino Visual (3/4): sensores de proximidade sem colisões

Os estudantes leem sensores de proximidade, escolhem um limiar a partir de observações e programam uma reação segura antes de o robô colidir.

  • 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

  • Ler sensores de proximidade antes de tomar uma decisão.

  • Calibrar um limiar simples a partir de observações.

  • Programar uma reação segura diante de um obstáculo próximo.

Student activity preview

Activity Content

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

1

Sensor antes da decisão

8 min

O sensor não decide sozinho. O programa lê, compara com um limiar e escolhe uma reação segura.

Diagrama de leitura de proximidade, comparação com limiar e reação segura

Um sensor é um componente que mede algo do ambiente e devolve uma
leitura (um número). O sensor não "sabe" o que fazer; o programa decide. Neste
robô, o sensor de proximidade devolve um número aproximado de 1 a 6:
1 = objeto muito longe e 6 = objeto muito perto (quanto mais perto está o
objeto, maior é a leitura).

Um limiar é o número de corte que separa "seguro" de "perto demais". O
programa:

1. Lê os sensores.
2. Compara a leitura com um limiar.
3. Escolhe uma reação.
4. Observa se a reação foi segura.

Se uma leitura de proximidade aumenta quando um objeto está mais perto, o que significa usar a condição leitura >= 3? Por que não convém escolher o limiar sem observar primeiro?

2

Medir antes de reagir

20 min

A serial (comunicação serial) é um canal de texto do robô para sua tela:
serve para mostrar a leitura do sensor como número. Se no seu laboratório a saída
serial não aparecer, tudo bem: na próxima seção você calibrará o limiar
observando o LED do robô, sem precisar de números.

  1. Abra o robô visual e use o robô recomendado.

  2. Configure a comunicação serial.

  3. No laço principal, coloque Ler sensores de proximidade.

  4. Leia um valor com Sensor central detectar à sua esquerda (é a opção padrão desta sessão; mede a proximidade pelo lado esquerdo do sensor central).

  5. Escreva a leitura pela serial.

  6. Espere 300 a 500 ms para conseguir ler as mudanças.

  7. Verifique, envie e observe leituras com o robô perto e longe de um obstáculo.

Imagem e referência para medir:

Referência visual de blocos para configurar serial, ler sensores de proximidade, escrever uma leitura e esperar antes de repetir

Antes de usar mensagens:

[Configuração] Serial velocidade 9600

No laço principal:

[Ler sensores de proximidade]

[Escrever]
  Sensor central detectar à sua esquerda
  ou
  Sensor central detectar à sua direita

[Esperar] 300 milissegundos

A ordem importa: se você consultar o valor antes de Ler sensores de proximidade, pode usar uma leitura antiga.

Preencha a tabela enquanto calibra. Use pelo menos três linhas: uma com o
objeto longe, uma a distância média e uma perto; deixe as linhas extras vazias.
Em cada linha, anote a situação, o lado do sensor usado, o número ou reação do
LED, se o robô deveria reagir e qualquer nota útil para escolher o limiar.

Situação observada Sensor usado Leitura (número, ou onde o LED reage) Deveria reagir? Notas

Escolha um limiar provisório para distinguir "seguro" e "perto demais". Justifique com uma leitura da sua tabela.

3

Programar uma reação segura

18 min

Programe uma regra simples:

- Se a leitura for maior ou igual ao seu limiar: motores em 0, LED vermelho aceso e mensagem obstaculo.
- Se a leitura for menor que seu limiar: avançar devagar com 125 ou 150, LED azul aceso e mensagem livre.

Não tente desviar de todos os obstáculos. Nesta prática basta que o robô avise ou pare antes de colidir em uma situação visível.

Imagem e referência para reagir:

Referência visual de blocos com decisão por limiar de proximidade, parada com LED vermelho ou avanço lento com LED azul

No laço principal:

[Ler sensores de proximidade]

se [Sensor central detectar à sua esquerda >= limiar]:
  [Alterar velocidade dos motores]
    Esquerdo: 0
    Direito:  0
  [Definir LED] vermelho [como] HIGH
  [Definir LED] azul [como] LOW
  [Escrever] "obstaculo"

senão:
  [Alterar velocidade dos motores]
    Esquerdo: 125
    Direito:  125
  [Definir LED] azul [como] HIGH
  [Definir LED] vermelho [como] LOW
  [Escrever] "livre"

Se você mudar para outro sensor (por exemplo, detectar à sua direita), mude apenas a leitura do sensor, não toda a estrutura do programa.

Calibrar com o LED (se a saída serial não aparecer): este mesmo programa
serve para calibrar sem números. Comece com um limiar (por exemplo, 3). Aproxime
e afaste um objeto do sensor e observe a que distância o LED vermelho acende. Se
ele acender longe demais, aumente o limiar; se só acender quando o robô quase
colidir, diminua o limiar. Repita até que o vermelho ative na distância desejada.

A reação ocorreu cedo demais, tarde demais ou no momento adequado? Indique o que você mudaria: limiar, velocidade ou tempo de espera.

Descreva uma limitação deste sensor ou do seu teste. Por exemplo: objeto mal posicionado, leitura instável, robô em outra posição ou falta de tempo de câmera.

4

Entrega de evidência

9 min

Programa de reação por proximidade

Entregue seu limiar, uma captura ou descrição do programa e uma observação de um teste em que o robô reagiu ou deveria ter reagido.