Um projeto utilizando o Raspberry Pi Pico com FreeRTOS para demonstrar o uso de tarefas concorrentes e semáforos.
Reportar Bug
·
Solicitar Funcionalidade
Este projeto demonstra a utilização do FreeRTOS com Raspberry Pi Pico, implementando um sistema de monitoramento com três tarefas concorrentes sincronizadas por semáforos. O sistema monitora o acionamento de um botão e controla LEDs como resposta.
- 🔘 Monitoramento de botão em tempo real
- 🔄 Sistema de tarefas concorrentes
- 🚥 Sincronização entre tarefas usando semáforos
- 💡 Controle de LEDs como resposta a eventos
- 🧠 Gerenciamento eficiente de recursos com RTOS
- Raspberry Pi Pico
- 2 LEDs (vermelho e azul)
- 1 Botão
- Resistores pull-up/pull-down conforme necessário
- Raspberry Pi Pico SDK
- FreeRTOS Kernel
- CMake
- Ferramentas de compilação (GCC)
- Clone o repositório:
git clone https://github.com/HeitorLouzeiroRepositoryIFPI/freetos_monitoramento.git
- Navegue até o diretório do projeto:
cd freertos_monitoramento
- Crie e entre no diretório de build:
mkdir build && cd build
- Gere os arquivos de build com CMake:
cmake ..
- Compile o projeto:
make
- Transfira o arquivo
.uf2
compilado para o Raspberry Pi Pico.
O sistema funciona da seguinte forma:
- Tarefa 1 - Monitora continuamente o estado do botão conectado ao pino 5.
- Tarefa 2 - Processa o acionamento do botão quando notificado pela Tarefa 1 via semáforo.
- Tarefa 3 - Controla os LEDs quando ativada pela Tarefa 2 via semáforo.
Quando o botão é pressionado:
- Os LEDs azul (pino 12) e vermelho (pino 13) acendem simultaneamente.
- Os LEDs permanecem acesos por 1 segundo.
- Os LEDs se apagam automaticamente.
- Implementação básica das tarefas FreeRTOS
- Sincronização com semáforos
- Controle de LEDs com GPIO
- Debouncing do botão
- Interface de usuário melhorada
- Suporte para múltiplos botões e LEDs
- Comunicação serial com computador host
Contribuições são o que tornam a comunidade open source um lugar incrível para aprender, inspirar e criar. Qualquer contribuição será muito apreciada.
- Faça um Fork do projeto.
- Crie sua Feature Branch:
git checkout -b feature/RecursoIncrivel
- Faça commit das suas alterações:
git commit -m 'Adicionando um Recurso Incrível'
- Faça Push para a Branch:
git push origin feature/RecursoIncrivel
- Abra um Pull Request.
Distribuído sob a licença MIT. Veja LICENSE para mais informações.
📌 Link do Projeto: GitHub - FreeRTOS Monitoramento