SUBGRUPO 0
Repositório criado a fim de registrar a realização da atividade de cunho opcional participativo referente à aula síncrona do dia 14/01/2025.
Componentes do grupo: Ana Karolina Disigant Reis, Andressa Sousa Fonseca, Gabriel Vitor, Lucas Carneiro de Araújo Lima, Luiz Rodrigo Oliveira da Silva, Matheus Santos Souza e Wesley R.
Microcontroladores - GPIO
A atividade pede que, com o emprego da ferramenta educacional BitDogLab, a porta serial UART seja utilizada para controlar pinos GPIO do microcontrolador RP2040. Para a utilização dos periféricos ilustrados deve-se acionar o LED RGB (GPIOs 11, 12 e 13), juntamente com o controle de sinal sonoro de um buzzer, conectado à GPIO 21 - Botão A. Como forma de comunicação entre o usuário e o sistema embarcado, deve-se escrever comandos para serem interpretados pelo microcontrolador de modo a realizar o controle dos periféricos trabalhados. Para esta prática, os seguintes componentes e acessórios se fazem necessários:
- Ferramenta educacional BitDogLab (versão 6.3);
- Cabo tipo micro-usb para usb-a;
- Computador pessoal.
O código com a lógica adotada pelo grupo se encontra no presente reposítório e o resultado pode ser assistido no vídeo alocado neste link: Aplicação GPIOs e LED.
Vale ressaltar que as estratégias de acionamento dos LEDs e de geração do sinal elétrico do buzzer são adotadas com base nos critérios da equipe de desenvolvimento. Tais critérios devem seguir as seguintes rotinas a fim de contemplar os requisitos da tarefa:
- Ligar LED verde (GPIO 11) – desligar as demais GPIOs;
- Ligar LED azul (GPIO 12) - desligar as demais GPIOs;
- Ligar LED vermelho (GPIO 13) - desligar as demais GPIOs;
- Ligar os três LEDs (luz branca);
- Desligar todos os LEDs;
- Acionar o buzzer por 2 segundos – emissão de sinal sonoro;
- Sair do modo de execução e habilitar o modo de gravação viasoftware (reboot) – rotina opcional.
- Raspberry Pi Pico com ambiente de desenvolvimento configurado.
- Biblioteca
pico/stdlib.hinstalada. - Conexões físicas:
- LED vermelho no pino GPIO13
- LED azul no pino GPIO12
- LED verde no pino GPIO11
- Buzzer no pino GPIO21
- Clone o repositório:
git clone https://github.com/wesiley/BitDogLab_GPIO cd BitDogLab_GPIO - Compile o código usando o SDK do Raspberry Pi Pico:
mkdir build cd build cmake .. make - Carregue o arquivo
.uf2gerado no Pico usando o modo BOOTSEL.
Após iniciar o programa, você pode digitar os seguintes comandos para interagir com os dispositivos conectados:
| Comando | Função |
|---|---|
R ou RED |
Acende o LED vermelho por um tempo e o desliga. |
B ou BLUE |
Acende o LED azul por um tempo e o desliga. |
G ou GREEN |
Acende o LED verde por um tempo e o desliga. |
A ou ALL |
Acende todos os LEDs por um tempo e os desliga. |
HR ou HOLDR |
Mantém o LED vermelho ligado indefinidamente (desligue com DES). |
HB ou HOLDB |
Mantém o LED azul ligado indefinidamente (desligue com DES). |
HG ou HOLDG |
Mantém o LED verde ligado indefinidamente (desligue com DES). |
HA ou HOLDA |
Mantém todos os LEDs ligados indefinidamente (desligue com DES). |
Z ou BUZZ |
Ativa o buzzer por 2 segundos. |
I ou INTER |
Pisca os LEDs alternadamente. |
DES |
Desliga todos os LEDs. |
1 a 9 |
Define o tempo de duração padrão dos LEDs e buzzer (multiplicado por 1000 ms). |
E ou EXIT |
Reinicia o dispositivo para o modo de gravação USB. |
- Use
BACKSPACEpara corrigir erros enquanto digita. - Se um comando for maior que o tamanho do buffer, uma mensagem será exibida para tentar novamente.
- O programa não faz distinção entre maiúsculas e minúsculas.
- Todos os LEDs e o buzzer começam desligados por padrão.
Estas instruções facilitam o uso e experimentação com o BitDogLab_GPIO. Para dúvidas, consulte o código-fonte ou abra uma issue no repositório!
Ana Karolina Disigant Reis
Andressa Sousa Fonseca
Gabriel Vitor
Lucas Carneiro de Araújo Lima
Luiz Rodrigo Oliveira da Silva
Matheus Santos Souza
Wesley R.