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.
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 vários pinos digitais como saídas.
Compreender um laço
forsimples.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.
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?
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);
}
}Abra o laboratório.
Envie o programa-base e observe a ordem dos LEDs.
Adicione o caminho de volta para criar um efeito de ida e volta.
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.
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.
Ainda não tem uma conta na LabsLand? Criar sua conta de professor