Teach lesson
Programação visual com Arduino real (2/4): sequências e loops
Os estudantes transformam o piscar do LED integrado em um padrão de luz, primeiro copiando uma sequência e depois usando um loop para repetir só a parte necessária.
Learning Outcomes
Criar um padrão de luz com uma sequência clara.
Usar um loop para reduzir repetição.
Explicar que parte do programa se repete e por quê.
Student activity preview
Activity Content
Preview only. In a class session, students can fill in responses and submit their work to the teacher.
Planejar o padrão
10 min
Um padrão é uma sequência que você consegue reconhecer e que se repete. Por
exemplo:
- Três piscadas rápidas e uma pausa longa.
- Aceso curto, apagado curto, aceso longo.
Observe a diferença entre três áreas ou formas de repetição:
- Arduino configuração / Arduino run first: executa uma só vez ao iniciar; o padrão de luz de hoje não vai aqui.
- Arduino loop infinito / Arduino loop forever: repete tudo o que está dentro dele, sem parar.
- repetir N vezes: um bloco da categoria Loops (a interface também pode mostrar Bucles em espanhol) que repete só uma parte um número fixo de vezes. Ele evita copiar os mesmos blocos muitas vezes.
Descreva o padrão que você tentará criar com o LED integrado. Ele deve ter pelo menos três passos observáveis (por exemplo: pisca, pisca, pisca, pausa).
Preencha a tabela com uma linha para cada passo do padrão antes de abrir o
laboratório. Se seu padrão tiver quatro passos, use quatro linhas e deixe as
demais vazias. Em cada linha, indique a saída (LED integrado), a ação
(acender, apagar ou esperar) e a duração aproximada em milissegundos.
| Passo | Saída | Ação | Duração (ms) |
|---|---|---|---|
Versão longa: passo a passo
15 min
Primeiro programe o padrão sem o bloco de repetição. Copie os blocos de
acender, apagar e esperar quantas vezes forem necessárias para que o padrão
apareça uma vez. Coloque tudo dentro de Arduino loop infinito.
Abra
arduino-visual-board.Dentro de Arduino loop infinito, construa o padrão com blocos de Entrada/Saída (
Input/Output, se a interface estiver em inglês;Entrada/Salida, se estiver em espanhol): Definir LED integrado (set built-in LEDouEstablecer LED integrado) em HIGH/LOW e blocos de Tempo (TimeouTiempo) para esperar.Clique em Verificar / compilar.
Clique em Enviar ao dispositivo (
Upload into deviceouEnviar al dispositivo).Observe uma repetição completa do padrão na placa real.
Qual é o inconveniente de construir todo o padrão copiando os mesmos blocos várias vezes?
Versão com loop
22 min
Agora use o bloco repetir N vezes (categoria Loops / Bucles) para
repetir só a parte que se repete. Escolha quantas vezes, por exemplo 3.
Na categoria Loops (
Bucles, se a interface estiver em espanhol), arraste o bloco repetir [ ] vezes.Coloque dentro da seção
fazersó a parte que se repete: uma piscada.Deixe fora desse bloco o que deve acontecer uma única vez, por exemplo a pausa longa do final.
Clique em Verificar / compilar, Enviar ao dispositivo e observe.
Se o padrão for interrompido ou rápido demais para ver pela câmera, aumente os tempos para
200-1000 ms.
Seu programa com loop deve ficar parecido com isto: três piscadas rápidas e uma
pausa, repetindo.
Diagrama de referência do padrão com loop. A pausa longa de 1000 milissegundos fica fora de repetir 3 vezes, mas dentro de Arduino loop infinito.
Arduino loop infinito:
repetir [3] vezes
fazer:
[Definir LED integrado] [HIGH]
[Esperar] 200 milissegundos
[Definir LED integrado] [LOW]
[Esperar] 200 milissegundos
[Esperar] 1000 milissegundosQuais blocos ficaram dentro do loop repetir? O que aconteceria se você também colocasse dentro do loop a pausa longa que deveria acontecer uma única vez?
Quantas piscadas seguidas você observou antes da pausa na placa real?
Reflexão
8 min
Explique uma melhoria que você fez entre a versão longa e a versão com loop. Que evidência levou você a decidir essa melhoria?