Teach Lições com laboratórios remotos

Lição do Teach

Arduino básico 2/4: crie uma sequência de luzes

Use vetores e laços em um Arduino Uno real para criar e modificar uma sequência de quatro LEDs.

  • Arduino Board (code)
  • 35 min
  • Ensino Fundamental II / primeiras aulas de programação física
  • 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.

Arduino Board (code)
Arduino Board (code) · Detalhes do laboratório

Objetivos de aprendizagem

  • Usar vários pinos digitais como saídas.

  • Compreender um laço for simples.

  • Modificar um padrão de luzes.

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

Uma placa, vários LEDs

9 min

A placa tem quatro LEDs externos conectados aos pinos 8, 7, 6 e 5. Seria possível escrever quatro blocos de código quase idênticos, mas um vetor e um laço for evitam tanta repetição. Pense no vetor como uma lista de pinos e no laço for como uma maneira de percorrer essa lista.

Observe esta parte do programa-base da atividade:

const int totalLeds = 4;

void loop() {
  for (int i = 0; i < totalLeds; i++) {
    // Acenda e apague um LED da lista.
  }
}

De acordo com esse trecho, quantas vezes o laço for dentro de loop() se repete?

2

Programe a sequência

18 min

Leia os índices antes de alterar o laço. As posições do vetor são 0, 1, 2, 3; seus pinos são 8, 7, 6, 5, correspondentes aos LEDs 1, 2, 3, 4. Para voltar sem repetir as extremidades, percorra os índices 2, 1: LED 3 e depois LED 2. Use um índice int com sinal, comece em totalLeds - 2, continue enquanto i > 0 e diminua o índice com i--. Acompanhe os índices no papel antes de enviar o programa.

Teste esta sequência e depois modifique-a para que volte no sentido contrário: LED 1, 2, 3, 4, 3, 2. Uma forma simples é adicionar um segundo laço for depois do primeiro. Salve o arquivo antes de anexar a captura.

const int leds[] = {8, 7, 6, 5};
const int totalLeds = 4;

void setup() {
  for (int i = 0; i < totalLeds; i++) {
    pinMode(leds[i], OUTPUT);
  }
}

void loop() {
  for (int i = 0; i < totalLeds; i++) {
    digitalWrite(leds[i], HIGH);
    delay(300);
    digitalWrite(leds[i], LOW);
  }
}
  1. Abra o laboratório.

  2. Envie o programa-base e observe a ordem dos LEDs.

  3. Adicione o caminho de volta para criar um efeito de ida e volta.

  4. Salve antes de capturar o código.

Envie seu código

Capture o código da sequência de ida e volta. Antes de anexá-lo, salve main.ino no ambiente do laboratório. A captura deve mostrar o programa que você realmente quer que o professor analise.

3

Leia o programa

8 min

Qual linha você mudaria para que cada LED permanecesse aceso por mais tempo? Indique a linha e o novo valor que você testaria.

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.