• Labs core
  • GPIO

GPIO - Preparatório

Lab 1 - GPIO - Preparatório
Deadline: Antes da próxima aula - 14/9 ou 15/9
💰 30% nota de lab (junto com qualidade de código)

Os laboratórios de embarcados são compostos de duas partes: uma chamada pré-lab, onde praticamos um pouco em um ambiente simulado, e outra chamada prática, onde realmente usamos o microcontrolador e controlamos algo real.

Aqui, iremos aprender sobre os conceitos básicos do microcontrolador.

Info

Antes de seguir, será necessário configurar a infra.

Leitura prévia

Para realizar este laboratório você deve estudar antes.

Praticando

Exercise

Leia sobre os laboratórios preparatórios:

Entrega 3: Firmware

Acesse o repositório via o link a seguir, clone para a sua máquina e trabalhe nele usando o wokiwi:

Se o classroom não funcionar, acesse o repositório a seguir, clone e faça a entrega por ele:

Agora execute os exercícios, lembre que você pode consultar os snippets de código dentro de RP2040/GPIO/snippets e enviar o código para o github para validação.

exe1

  • Arquivo: exe1/main.c
  • Teste: Verifica se os dois LEDs mudam de estado.

Código

Faça os dois LEDs do exe1 piscarem ao mesmo tempo! O código fornecido já funciona com o LED vermelho, agora você deve fazer o mesmo com o amarelo. Lembre de manter o vermelho piscando junto!

Funcionalidade esperada

exe2

  • Arquivo: exe2/main.c
  • Teste: Aperta um dos botões e verifica a mensagem no terminal.

Código

  1. botão 1 for apertado imprima na tela: Botao 1
  2. botão 2 for apertado imprima na tela: Botao 2

Lembre de configurar o botão 2 como entrada!

// Usar o printf a seguir:
printf("Botao 1\n");
printf("Botao 2\n");

Funcionalidade esperada

exe3

  • Arquivo: exe3/main.c
  • Teste: Aperta um dos botões e verifica se o LED correspondente muda de valor.

Código

Toda vez que o botão for apertado inverta o estado do LED de cor relativa.

Exemplo: Ambos os leds estão apagados, quando o botão vermelho for apertado, acenda o LED Vermelho. Se o Botão for apertado e solto novamente, apague o LED Vermelho. Faça o mesmo para o Verde!.

Lembre de configurar todos os pinos como Entrada ou Saída.

Funcionalidade esperada

exe4

  • Arquivo: exe4/main.c
  • Teste: Verifica se os LEDs acendem na ordem certa.

Código

Toda vez que o Btn Vermelho for apertado, faca os LEDs acenderem na ordem: Vermelho, Roxo, Azul e Verde. Só acenda um LED por vez!.

Utilize um delay de 300ms entre os estados.

Funcionalidade esperada