Lição do Teach
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.
Primeira vez que ativa o Teach? Você pode realizar uma sessão de aula sem custo. Os estudantes entram com um código da turma.
Ainda não tem uma conta na LabsLand? Criar sua conta de professor
Objetivos de aprendizagem
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.
Visualização da atividade do estudante
Conteúdo da atividade
Apenas visualização. Em uma sessão de aula, os estudantes podem preencher respostas e entregar o trabalho ao professor.
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.
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?
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.
Abra o robô visual e use o robô recomendado.
Configure a comunicação serial.
No laço principal, coloque
Ler sensores de proximidade.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).Escreva a leitura pela serial.
Espere
300a500ms para conseguir ler as mudanças.Verifique, envie e observe leituras com o robô perto e longe de um obstáculo.
Imagem e referência para medir:
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.
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:
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.
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.
Transforme esta visualização em uma sessão de aula
Ative o LabsLand Teach para usar esta lição com seus estudantes. Na primeira vez que ativar o Teach, você poderá realizar uma sessão de aula sem custo.
Ainda não tem uma conta na LabsLand? Criar sua conta de professor