O código Morse é um sistema de comunicação para codificar qualquer caractere em duas durações diferentes de sinais chamados pontos e travessões . O código Morse foi desenvolvido por Samuel FB e posteriormente usado em telegrafia para transferir informações secretas. Foi mais usado na época da Segunda Guerra Mundial. Um código Morse pode ser executado tocando, piscando ou escrevendo. O código Morse está disponível em duas versões, a original e a internacional. No código morse internacional, a versão original é modificada removendo espaços e desenhando os travessões em um comprimento específico. O código Morse está disponível para codificação de letras e números. É usado principalmente na comunicação por rádio e oceano e também como parte do treinamento de soldados.
O idioma sempre foi a barreira para o código Morse, pois é difícil executar o código para caracteres diacríticos em outro idioma. Existem algumas palavras famosas consideradas importantes no código Morse, como 'SOS'. O formulário completo do SOS é Save Our Souls criado como um sinal de socorro universal que representa o perigo.
A imagem abaixo mostra o código Morse para os alfabetos de A a Z.
Hoje, neste tutorial, vamos construir um tradutor de código Morse usando Arduino que pegará qualquer caractere como uma entrada do monitor serial e o converterá em bips equivalentes em código Morse por buzzer.
Componentes necessários
- Arduino Uno
- Buzzer
- Tábua de pão
- Fios de ligação
Diagrama de circuito
Conectar o pino positivo da campainha para o 8 º pino do Arudino ONU e o pino negativo para o chão de Arduino. Faça upload do código usando o Arduino IDE e digite os caracteres no monitor serial para criar o som. Um LCD também pode ser adicionado com o Arduino para exibir o traço e os pontos.
Explicação de programação
O código completo para o Gerador de Código Morse Arduino é fornecido ao final, aqui explicamos o programa para entender o funcionamento do projeto.
O código abaixo é usado para receber a string de caracteres e depois convertê-la em código morse.
char stringToMorseCode = "";
Em seguida, defina o pino para a campainha conectada ao Arduino e a altura do som gerado por aquela campainha. Então, estamos definindo o comprimento do ponto e do traço.
áudio int 8 = 8; // saída de áudio no pino 8 int note = 1200; // nota / tom da música int dotLen = 100; // comprimento do código Morse 'ponto' int dashLen = dotLen * 3; // comprimento do código Morse 'traço'
Na função void loop () , se dados seriais estiverem disponíveis, eles serão salvos em uma variável indata . Em seguida, ele lê o caractere um por um usando o comando inData . O comando variable.toUppercase () é usado para mudar os caracteres minúsculos para maiúsculos. Em seguida, ele cria som de acordo com cada personagem.
loop vazio () { char inChar = 0; char inData = ""; // comprimento de dados de 6 caracteres String variable = ""; String variable1 = ""; índice interno 1 = 0; if (Serial.available ()> 0) { while (Serial.available ()> 0 && index1 <100) { delay (100); inChar = Serial.read (); inData = inChar; index1 ++; inData = '\ 0'; } variable.toUpperCase (); para (byte i = 0; i <100; i ++) { variable.concat (String (inData)); } atraso (20);
As funções abaixo MorseDot e MorseDash são usadas para criar o som de ponto e traço, respectivamente.
void MorseDot () { tom (áudio 8, nota, dotLen); // começa a tocar um atraso de tom (dotLen); // mantenha nesta posição } void MorseDash () { tone (audio8, note, dashLen); // começa a tocar um atraso de tom (dashLen); // segure nesta posição }
A função GetChar contém o código para todos os alfabetos. Assim, sempre que digitamos qualquer alfabeto, o respectivo código morse é retirado desta função para criar o som específico.
void GetChar (char tmpChar) { switch (tmpChar) { case 'a': MorseDot (); atraso (100); MorseDash (); atraso (100); pausa; ... ... ... padrão: break; } }
Agora carregue o código no Arduino usando o IDE do Arduino e digite qualquer caractere no monitor serial e aperte o botão Enter para enviar os caracteres ao Arduino.
Aqui nós digitamos 'SOS' que é um sinal de socorro universal, para criar o som para o mesmo.
A demonstração do mesmo é dada no vídeo abaixo.