Teach Remote lab lessons

Teach lesson

STM32 com a API do Arduino (1/4): primeiro LED piscando

Os estudantes usam o STM32 CodeIDE e a API do Arduino para escrever setup() e loop(), fazer uma saída real piscar e registrar evidências de compilação e upload.

  • STM32 Nucleo (Arduino)
  • 50 min
  • Ensino médio / formação técnica introdutória em eletrônica
  • Português (Brasil)
  • Embedded systems
STM32 Nucleo (Arduino)
STM32 Nucleo (Arduino)

Learning Outcomes

  • Escrever um sketch Arduino mínimo para uma placa STM32.

  • Distinguir o código que prepara a placa do código que se repete.

  • Registrar evidências observáveis de uma saída digital real.

Student activity preview

Activity Content

Preview only. In a class session, students can fill in responses and submit their work to the teacher.

1

Antes de abrir o laboratório

8 min

Um microcontrolador não “entende” sentenças: ele executa
instruções. Hoje precisamos apenas de uma saída digital, um LED e duas pausas.

Em um sketch Arduino:

- setup() é executado uma vez e prepara a placa.
- loop() se repete enquanto a placa está ligada.
- pinMode(pin, OUTPUT) declara que um pino será uma saída.
- digitalWrite(pin, HIGH) define uma saída alta; LOW desliga.

O ciclo principal terá este formato:

digitalWrite(BLUE_LED, HIGH);
delay(1000);
digitalWrite(BLUE_LED, LOW);
delay(1000);

Se o LED ficar aceso por 1000 ms e apagado por 1000 ms dentro de loop(), qual
padrão deverá se repetir?

2

Crie e teste a piscada

24 min

Esta foto ajuda você a reconhecer a placa STM32 Nucleo WB55RG. A foto mostra
apenas a placa; no laboratório remoto, ela faz parte de uma montagem pré-cabeada,
com LEDs e outros componentes já conectados. Você não precisa ligar nenhum fio:
usará um LED que já está disponível nessa montagem remota.

Foto de referência da placa STM32 Nucleo WB55RG, sem os componentes externos da configuração remota.

Foto de referência da placa STM32 Nucleo WB55RG. No laboratório remoto, a placa
faz parte de uma montagem pré-instalada; nesta primeira sessão você a programará
como uma placa Arduino baseada em texto: escrever, compilar, fazer upload e observar.

  1. Inicie o laboratório a partir deste bloco. Em CodeIDE, selecione a guia do editor main.ino.

  2. Substitua seu conteúdo pelo programa inicial abaixo.

  3. Substitua os itens TODO 1 a 4. Cada comentário informa o tipo de código necessário, sem fornecer o token. Procure TODO em main.ino; nenhum TODO pode permanecer antes da compilação.

  4. Salve main.ino, escolha Compile e aguarde uma mensagem de compilação bem-sucedida. Compile verifica e traduz o código; isso ainda não altera a placa real.

  5. Somente após a compilação ser bem-sucedida, escolha Upload e aguarde o processo terminar com sucesso. Upload instala essa versão compilada na placa.

  6. Observe o LED azul por pelo menos três ciclos completos de acender e apagar. Registre esse comportamento inicial, sem alterações, na linha 1.

  7. Altere apenas BLINK_MS para um intervalo visível diferente de 250 ms para 2000 ms. Salve, compile, carregue, observe três ciclos e registre a linha 2.

#include <Arduino.h>

const int BLUE_LED = PB5;
const int BLINK_MS = TODO_BLINK_INTERVAL;  // TODO 1: intervalo de um segundo, em ms

void setup() {
  pinMode(BLUE_LED, TODO_LED_DIRECTION);  // TODO 2: modo que permite que o pino acione o LED
}

void loop() {
  digitalWrite(BLUE_LED, TODO_LED_ON_LEVEL);   // TODO 3: nível para acender o LED
  delay(BLINK_MS);
  digitalWrite(BLUE_LED, TODO_LED_OFF_LEVEL);  // TODO 4: nível oposto para apagar o LED
  delay(BLINK_MS);
}

Preencha a tabela após testar o programa na placa. Use apenas duas linhas e
deixe as demais em branco se o TEACH mostrar mais:

- Linha 1: versão inicial concluída com intervalo 1000 ms.
- Linha 2: sua versão modificada.
- Em Padrão observado, escreva o que você viu na placa real.
- Em Ajuste ou problema, escreva nenhum se funcionou; caso contrário, indique o que você verificaria.

Versão testada Valor de atraso (ms) Padrão observado Corresponde à previsão? Ajuste ou problema

Descreva evidências concretas de que seu programa foi executado na placa real. Identifique a
saída, informe os dois valores de delay em ms e compare pelo menos três ciclos
iniciais com pelo menos três ciclos após a alteração.

3

Envie seu código

8 min

Antes de enviar, deixe o código final salvo em main.ino. Seu professor deveria
ser capaz de ver o pino que você usou, pinMode, as duas chamadas digitalWrite e
o valor delay que você testou. Procure mais uma vez por TODO; o arquivo enviado
não deve conter nenhum.

Envie seu main.ino final

Salve main.ino antes de anexá-lo. A captura deve mostrar o programa final que você compilou, enviou para a placa e deseja que o professor revise.

4

Bilhete de saída

10 min

Explique a diferença entre setup() e loop() usando seu programa de piscada como exemplo. Acrescente por que é útil alterar apenas uma coisa de cada vez durante a depuração.