Índice:

Transmissor de código Morse Arduino: 11 etapas
Transmissor de código Morse Arduino: 11 etapas

Vídeo: Transmissor de código Morse Arduino: 11 etapas

Vídeo: Transmissor de código Morse Arduino: 11 etapas
Vídeo: Morse Code Converter with arduino 2024, Novembro
Anonim
Transmissor de código Morse Arduino
Transmissor de código Morse Arduino
Transmissor de código Morse Arduino
Transmissor de código Morse Arduino

Neste instrutível, você usará um Arduino Uno para criar um transmissor em código Morse e usará o monitor serial para ler as mensagens que você transmitiu.

Peças de que você precisa:

Arduino Uno

Tábua de pão

Campainha

Botões

Fios de ligação

Etapa 1: Forneça energia para sua placa de ensaio

Fornece energia para sua placa de ensaio
Fornece energia para sua placa de ensaio

Conecte um fio jumper do pino de 5 V em seu Arduino Uno à linha positiva em sua placa de ensaio.

Etapa 2: Aterre sua placa de ensaio

Aterre a sua placa de ensaio
Aterre a sua placa de ensaio

Agora conecte um fio de qualquer um dos pinos GND no Arduino à linha negativa em sua placa de ensaio.

Etapa 3: insira seu botão

Insira o seu botão
Insira o seu botão

Insira seu botão. Certifique-se de que duas de suas pernas estejam em cada lado do canal, no meio da placa de ensaio, e que as pernas estejam inseridas com firmeza. É fácil dobrá-los quando pressiona com força, por isso tome cuidado ao pressionar o botão.

Etapa 4: fixe seu botão

Aterre o seu botão
Aterre o seu botão

Conecte o botão ao aterramento inserindo uma extremidade na mesma fileira da perna superior do botão e a outra extremidade na fileira negativa que você conectou anteriormente ao aterramento.

Etapa 5: conecte seu botão

Conecte o seu botão
Conecte o seu botão

Feche o circuito do botão e permita que o Arduino leia sua entrada conectando um fio da mesma linha da perna do botão inferior e o pino 7 no Arduino.

Etapa 6: insira sua campainha

Insira sua campainha
Insira sua campainha

Insira a campainha de modo que o sinal + 'na parte superior, ou a perna um pouco mais longa, fique do mesmo lado da placa de ensaio que o fio conectado a 5V.

Etapa 7: Aterre a campainha

Aterrar a campainha
Aterrar a campainha

Conecte o botão ao aterramento com um fio da mesma linha de sua perna mais curta à linha negativa na placa de ensaio que você conectou anteriormente ao GND.

Etapa 8: Ligue a campainha

Ligue a campainha
Ligue a campainha

Fornece energia para a campainha e permite que o Arduino o controle com um fio da mesma linha que sua perna mais longa para o pino 8 no Arduino.

Etapa 9: Escreva seu código

Escreva o seu código
Escreva o seu código

Copie e cole nosso código ou baixe o arquivo anexo.

static String Morse = {".-", "-…", "-.-.", "-..", ".", "..-.", "-.", "…. ",".. ",".--- "," -.- ",".-.. "," - "," -. "," --- ",".--. ", "--.-", ".-.", "…", "-", "..-", "… -", ".--", "-..-", "-.-- "," -.. "," E "};

caracteres estáticos Alfabeto = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', ' x ',' y ', 'Z e'}; push_length longo sem sinal, start_push, end_push; // hora em que o botão é pressionado int button = 7; // pino de entrada para o botão int buzzer = 8; // pino de saída para LED String code = ""; // string na qual um alfabeto é armazenado

void setup () {

Serial.begin (9600); pinMode (botão, INPUT_PULLUP); // resistor pullup interno é usado para simplificar o circuito pinMode (buzzer, OUTPUT); Serial.println ("Comece sua mensagem!"); }

void loop ()

{MorseTransmission: while (digitalRead (botão) == HIGH) {} start_push = millis (); // tempo ao toque do botão (buzzer, 150); enquanto (digitalRead (botão) == LOW) {} end_push = millis (); // tempo ao soltar o botão noTone (buzzer); push_length = end_push - start_push; // tempo para o qual o botão é pressionado if (push_length> 50) {// para contabilizar o código de eliminação do switch + = dot_or_dash (push_length); // função para ler ponto ou traço} while ((millis () - end_push) <500) // se o tempo entre o pressionamento do botão for maior que 0,5 seg, pula o loop e vai para o próximo alfabeto {if (digitalRead (botão) == LOW) {ir para MorseTransmission; }} Tradução_ Morse (código); // função para decifrar o código em alfabeto}

char dot_or_dash (comprimento do float)

{if (comprimento 50) {return '.'; // se o botão for pressionado menos de 0,6 seg, é um ponto} else if (comprimento> 600) {return '-'; // se o botão for pressionado por mais de 0,6 seg, é um traço}}

void Morse_translation (string morsecode)

{int i = 0; if (código == ".-.-.-") {Serial.print ("."); // para quebra} else {while (Morse ! = "E") // loop para comparar o código de entrada com a matriz de letras {if (Morse == morsecode) {Serial.print (Alphabet ); pausa; } i ++; } if (Morse == "E") {Serial.println ("Erro!"); // se o código de entrada não corresponder a nenhuma letra, erro}} code = ""; // redefine o código para uma string em branco}

Etapa 10: Use o monitor serial para ler sua saída

Use o monitor serial para ler sua saída!
Use o monitor serial para ler sua saída!

Abra o monitor serial para visualizar suas mensagens enquanto pressiona o botão para criar o código Morse. Use o guia acima para sequenciar seus pontos e traços de forma adequada!

Etapa 11: Quer mais projetos como este?

Quer mais projetos como este?
Quer mais projetos como este?

Obtenha peças para 2-3 projetos por mês e instruções e vídeo para construí-los com MakeCrate!

Recomendado: