Lição do Teach
Robô Arduino Visual (4/4): desafio de marcas e reação
Os estudantes usam sensores de linha para detectar claro/escuro, escolhem um limiar e programam uma reação curta com evidência do robô real.
Entre com uma conta de professor para preparar uma sessão. 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
Usar sensores de linha como evidência de superfície clara/escura.
Projetar um comportamento reativo curto com entrada, decisão e saída.
Avaliar um robô por evidência e explicação, não por uma trajetória perfeita.
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.
Escolher um desafio alcançável
8 min
Compare a linha escura e o piso claro com o mesmo sensor.
Os sensores de linha medem luz refletida. Superfícies escuras e claras costumam dar leituras diferentes, mas os intervalos dependem do robô e de sua posição. Meça ambas com o mesmo sensor; não suponha um valor fixo para branco ou preto. O limiar é o número que separa suas leituras observadas.
Escreva o desafio escolhido em forma de regra: "Se o sensor detectar..., então o robô...; senão, o robô...".
Calibrar claro e escuro
18 min
Posicionamento remoto: mova o robô; você não pode mover um objeto físico na sala. Ao enviar o programa, selecione Only robots on 8-shaped circuits (circuitos em forma de oito). O piso branco, a linha preta e a parede são referências fixas. Localize a frente do robô na câmera e confira o espaço livre. Acrescente o esquema de posicionamento abaixo. Cada novo pressionamento de B produz um único avanço de 100 ms; solte antes de pressionar novamente. A e C podem usar o mesmo padrão para virar (−125,125 ou 125,−125). Leia somente com os dois motores parados. Não avance contra uma parede para forçar uma leitura alta; mantenha uma distância visível e informe posições que não puder medir com segurança.
[Button B as stepButton] (Buttons)
[Setup Serial speed 9600]
Arduino run first:
[Change two motors speed] Left: 0 Right: 0
Arduino loop forever:
if [stepButton single press]:
[Change two motors speed] Left: 125 Right: 125
[wait] 100 milliseconds
[Change two motors speed] Left: 0 Right: 0
... leia os sensores e mostre o valor aqui ...
[wait] 50 milliseconds
Use single press, não is pressed: ele dispara uma vez por novo pressionamento, mesmo mantendo o botão. Deixe o bloco separado Button B as stepButton na área de trabalho e selecione stepButton na condição. A parada fica dentro da condição, após o pulso. Teste uma vez em espaço livre e observe por três segundos: deve ficar parado até um novo pressionamento. Se não se mover, confira envio, botão e espaço antes de alterar o pulso.
Após a condição de posicionamento, use
Read line sensors, imprima center e espere 300 ms. No circuito em oito, use giros ou avanços breves até colocar o mesmo sensor central sobre o piso branco; pare e registre. Posicione-o sobre a linha preta e registre novamente. Confira as superfícies pela câmera. Sem saída serial, construa primeiro a condição LED abaixo com limiar inicial 500, ajuste-o e reteste as duas posições até distingui-las; registre limiar e estado LED, sem inventar leituras. Se não conseguir distinguir, indique baixa confiança e limiar inconclusivo.```text
[Read line sensors]
if [center line-sensor value >= o número escolhido]: [Set red led to HIGH] [Set blue led to LOW]
else: [Set red led to LOW] [Set blue led to HIGH]
[Change two motors speed] Left: 0 Right: 0
```
| Sensor | Superfície | Valor observado (número ou claro/escuro) | Limiar proposto | Confiança |
|---|---|---|---|---|
Indique o limiar testado e compare duas observações (leituras seriais ou estados LED com esse limiar). Se não separarem claro e escuro, informe calibração inconclusiva e um teste específico para repetir.
Repita e melhore a regra
22 min
Confira agora se a regra calibrada se repete. Volte ao piso claro e depois à linha escura, parando antes de cada leitura. Preveja o estado do LED antes de pressionar um botão de posicionamento e compare com o resultado. Se houver inconsistência, mude somente o limiar, envie novamente e repita as duas posições. Mantenha a parada dos motores. Registre antes e depois; uma calibração inconclusiva bem explicada é evidência válida.
Descreva um teste que saiu bem e um que deveria melhorar. Se você só conseguiu fazer um teste, indique qual segundo teste faria.
Explique por que seu desafio não depende de seguir uma linha perfeita. Que decisão concreta o robô toma com a informação do sensor?
Entrega final
12 min
Desafio final do robô
Entregue:
- Nome do desafio.
- Blocos principais usados.
- Limiar e evidência de calibração.
- Captura ou descrição do programa.
- Resultado observado no teste com o robô.
- Uma melhoria concreta.
O que você aprendeu ao programar um robô real que não aprenderia com uma simulação ou apenas com uma placa Arduino?
Transforme esta visualização em uma sessão de aula
Continue para o LabsLand Teach para usar esta lição com seus estudantes e conferir o acesso disponível para sua conta.
Ainda não tem uma conta na LabsLand? Criar sua conta de professor