Este repositório contém o código-fonte e os arquivos relacionados à implementação de um sinal SOS em código Morse, desenvolvido como parte de uma atividade prática no curso de Sistemas Embarcados.
O projeto consiste em um firmware desenvolvido em linguagem C para a placa BitDogLab (compatível com o Raspberry Pi Pico), que utiliza um LED e um buzzer para gerar o sinal SOS em código Morse. Este sinal é composto por três pontos (S
), três traços (O
) e três pontos (S
), com intervalos de tempo definidos para simular o padrão Morse.
Tarefa-SOS-Morse.c
: Arquivo principal contendo o código-fonte do firmware.diagram.json
: Descrição do circuito utilizado na simulação no Wokwi.wokwi.toml
: Arquivo de configuração para integrar o código com a simulação no Wokwi.CMakeLists.txt
: Arquivo de configuração para compilar o firmware.pico_sdk_import.cmake
: Arquivo de configuração do PICO-SDK.
Antes de começar, certifique-se de ter as ferramentas abaixo instaladas no seu ambiente de desenvolvimento:
- Visual Studio Code
- Extensão para Raspberry Pi Pico no Visual Studio Code
- Wokwi para simulação online
- PICO-SDK configurado no seu ambiente
- Zadig para configuração do driver USB (Windows)
O circuito utilizado na simulação é composto pelos seguintes componentes:
- LED conectado ao GPIO 13 (pino de saída digital).
- Buzzer conectado ao GPIO 10 (pino de saída digital).
- Ambos os componentes estão conectados ao GND.
- Placa Raspberry Pi Pico W
A simulação do projeto pode ser acessada pelo seguinte link:
Simulação no Wokwi
O código inicializa os GPIOs para controlar o LED e o buzzer. As constantes definem os tempos para os sinais em código Morse:
- Ponto (.): LED e buzzer ligados por 200 ms.
- Traço (-): LED e buzzer ligados por 800 ms.
- Intervalos:
- Entre sinais de uma mesma letra: 125 ms.
- Entre letras: 250 ms.
- Entre ciclos completos (SOS): 3 segundos.
-
blink_led_and_buzz()
Liga o LED e o buzzer por um período de tempo especificado. -
generate_morse_signal()
Gera os sinais (ponto ou traço) para compor letras em código Morse, incluindo os intervalos apropriados. -
main()
Executa continuamente o sinal SOS (composto pelas letrasS
,O
eS
), utilizando as funções acima para respeitar as regras do código Morse. O loop principal gera continuamente o sinal SOS conforme o padrão definido.
- Configure o PICO-SDK no ambiente.
- Compile o firmware usando o comando
cmake
emake
no terminal. - Conecte a placa BitDogLab ao computador no modo BOOTSEL.
- Copie o arquivo gerado para a memória flash da placa.
- A placa executará automaticamente o firmware, gerando o sinal SOS.
- Driver USB não reconhecido: Use o Zadig para instalar o driver correto no Windows.
- Erro na simulação no Wokwi no VS Code: Certifique-se de criar o arquivo
wokwi.toml
corretamente para integrar o projeto.
Leonardo Ferreira Lima
Email: ferreiiratech@gmail.com