Teach Lições com laboratórios remotos

Lição do Teach

Programação visual com Arduino real (3/4): entradas e decisões

Os estudantes leem uma entrada real, conferem se ela muda e usam uma condição com limiar para controlar o LED integrado.

  • Arduino Board (visual)
  • 55 min
  • 8o/9o ano ou início do Ensino Médio
  • Português (Brasil)
  • Sistemas embarcados

Entre com uma conta de professor para preparar uma sessão. Os estudantes entram com um código da turma.

Diagrama visual de blocos: dentro de Arduino loop infinito há uma condição se Ler pino analógico A0 é maior ou igual a 500; em fazer, Definir LED integrado em HIGH; em senão, Definir LED integrado em LOW; depois, Esperar 100 milissegundos.
Arduino Board (visual) · Detalhes do laboratório

Objetivos de aprendizagem

  • Ler uma entrada e confirmar que ela muda antes de decidir uma saída.

  • Usar uma condição se / senão com uma comparação e um limiar.

  • Diferenciar entrada digital e entrada analógica com um exemplo real.

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.

1

Entrada, limiar e decisão

10 min

Uma entrada é informação que a placa do exterior. Há dois tipos:

  • Entrada digital: só tem dois estados, como um botão pressionado / não pressionado (ou HIGH / LOW).
  • Entrada analógica: tem muitos valores possíveis. Em uma placa Arduino Uno, uma leitura analógica dá um número de 0 a 1023 (por exemplo, a posição de um potenciômetro, que é uma peça com um botão giratório).

Um sensor é um componente que produz uma dessas leituras. Um limiar é o valor de corte que você usa para transformar uma leitura analógica (muitos números) em uma decisão de sim/não. Exemplo: "se a leitura for maior ou igual a 500, acenda o LED; senão, apague-o". 500 é o limiar.

Lembre-se da estrutura do editor: Arduino configuração / Arduino run first executa uma vez ao iniciar; Arduino loop infinito / Arduino loop forever se repete sem parar. A leitura da entrada e a decisão ficam no loop infinito para que a placa confira o valor muitas vezes.

O que significa usar um limiar de 500 em uma leitura analógica que vai de 0 a 1023?

Escreva uma diferença entre uma entrada digital e uma entrada analógica.

2

Ler e conferir a entrada

16 min

Use uma decisão visível com LED para conferir a entrada antes de preencher a tabela.

  1. Abra o laboratório Arduino visual. Use o primeiro potenciômetro da interface, ligado a A0, e mantenha as outras entradas fixas.

  2. Construa a decisão LED antes de coletar dados. Em Arduino loop forever: se read analog pin# A0 >= 500, LED integrado HIGH; senão LOW; depois espere 100 ms.

  3. Serial opcional: mantenha Setup serial 9600 bps na área de trabalho e imprima read analog pin# A0 dentro do laço. A rota LED funciona sem serial.

  4. Verifique/compile, envie ao dispositivo e programe quando solicitado. Leve o primeiro potenciômetro a mínimo, meio e máximo. Registre o LED e, se disponível, a leitura serial em cada posição.

  5. A escala ADC é 0–1023, mas o potenciômetro remoto pode não cobri-la inteira. Use os extremos observados; uma entrada de 3,3 V com referência de 5 V dá cerca de 675 no máximo. É uma estimativa, não uma leitura exigida.

  6. Se nada mudar, confira A0, o primeiro potenciômetro e o programa enviado. Não procure pinos ao acaso. Se o intervalo observado não cruzar 500, coloque o limiar dentro dele e repita.

Preencha a tabela com uma linha para cada posição de entrada que você testar. Use pelo menos três linhas: mínimo, meio e máximo; deixe as demais vazias. Em cada linha, anote a posição da entrada, o pino usado, a leitura ou efeito visível, e se mudou ao mover a entrada.

Posição / estado da entrada Pino usado Leitura ou efeito observado Mudou ao mover a entrada?
3

Tomar uma decisão

22 min

Agora adicione uma condição se / senão (categoria Lógica; em inglês Logic) que use sua leitura e um limiar para acender ou apagar o LED integrado.

  1. Mantenha o programa A0 com LED já testado. Confira a estrutura com o código e diagrama abaixo. Escolha um limiar que separe duas posições observadas, envie a alteração e reteste ambas. Sem serial, registre LED ligado/desligado e limiar testado; leituras ADC numéricas são opcionais.

Seu programa deve ficar parecido com isto:

Diagrama visual de blocos: dentro de Arduino loop infinito há uma condição se Ler pino analógico A0 é maior ou igual a 500; em fazer, Definir LED integrado em HIGH; em senão, Definir LED integrado em LOW; depois, Esperar 100 milissegundos.

Diagrama de referência da decisão. A leitura de A0 é comparada com o limiar, e o LED muda de acordo com a ramificação fazer ou senão.

Arduino loop infinito:
   se  [Ler pino analógico [A0]]  [≥]  [500]
   fazer:
      [Definir LED integrado] [HIGH]
   senão:
      [Definir LED integrado] [LOW]
   [Esperar] 100 milissegundos

Explique sua condição completa: qual entrada você lê, com qual limiar (ou estado) você a compara e qual saída muda.

Descreva dois testes: um em que o LED acende e outro em que ele apaga. Inclua a posição/estado da entrada e, se você calibrou, o limiar final.

4

Se não mudar, depure

7 min

Se o LED não mudar mesmo quando você move a entrada, escreva três verificações ordenadas que faria antes de pedir ajuda (pense em: pino de leitura, valor do limiar e se você enviou o programa).

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.