El codi Morse és un sistema de comunicació per codificar qualsevol caràcter en dues durades diferents de senyals anomenats punts i guions . Samuel FB desenvolupa el codi Morse i s’utilitza en telegrafia per transferir informació secreta. Va ser més utilitzat en l'època de la Segona Guerra Mundial. Es pot realitzar un codi Morse tocant, intermitent o escrivint. El codi Morse està disponible en dues versions, l’original i l’internacional. Al codi morse internacional, la versió original es modifica eliminant espais i dissenyant els guions en una longitud específica. El codi Morse està disponible per codificar alfabets i números. S'utilitza principalment en la comunicació per ràdio i oceà i també en una part de l'entrenament per als soldats.
El llenguatge sempre ha estat la barrera del codi Morse, ja que és difícil realitzar el codi per als caràcters diacrítics en un altre idioma. Hi ha algunes paraules famoses considerades com a característica important del codi Morse com "SOS". El formulari complet de SOS és Save Our Souls, creat com un senyal de socors universal que representa un perill.
La imatge següent mostra el codi Morse per als alfabets de la A a la Z.

Avui, en aquest tutorial, crearem un traductor de codis Morse amb Arduino que agafarà qualsevol caràcter com a entrada del monitor sèrie i el convertirà en sons sonors equivalents de codi Morse mitjançant el buzzer.
Components necessaris
- Arduino Uno
- Zumbador
- Taula de pa
- Filferros de pont
Esquema de connexions

Connecteu la patilla positiva de l'timbre a la 8 ª pin de la Arudino ONU i la clavilla negativa a la planta d'Arduino. Pengeu el codi amb Arduino IDE i escriviu els caràcters del monitor sèrie per crear el so. També es pot afegir una pantalla LCD amb Arduino per mostrar el tauler i els punts.
Explicació de la programació
El codi complet per a Arduino Morse Code Generator es dóna al final, aquí estem explicant el programa per entendre el funcionament del projecte.
El codi següent s’utilitza per rebre la cadena de caràcters i després convertir-la en codi morse.
char stringToMorseCode = "";
A continuació, definiu el pin del brunzidor connectat a l'Arduino i el to del so generat per aquest brunzidor. A continuació, estem definint la longitud del punt i el guió.
int audio8 = 8; // emet àudio al pin 8 int note = 1200; // nota musical / ton int dotLen = 100; // longitud del codi morse 'punt' int dashLen = dotLen * 3; // longitud del codi morse 'guió'
A la funció void loop () , si hi ha dades de sèrie disponibles, es desaran en una variable indata . A continuació, llegeix el caràcter un a un mitjançant l'ordre inData . L'ordre variable.toUppercase () s'utilitza per canviar els caràcters en minúscules en majúscules. Després crea so segons cada personatge.
bucle buit () { char inChar = 0; char inData = ""; // longitud de dades de 6 caràcters Variable de cadena = ""; Cadena variable1 = ""; int index1 = 0; if (Serial.available ()> 0) { while (Serial.available ()> 0 && index1 <100) { delay (100); inChar = Serial.read (); inData = inChar; índex1 ++; inData = '\ 0'; } variable.toUpperCase (); for (byte i = 0; i <100; i ++) { variable.concat (String (inData)); } retard (20);
A sota de les funcions, MorseDot i MorseDash s'utilitzen per crear el so del punt i del guió respectivament.
void MorseDot () { to (àudio8, nota, dotLen); // començar a reproduir un retard de to (dotLen); // mantenir en aquesta posició } void MorseDash () { to (audio8, nota, dashLen); // començar a reproduir un retard de to (dashLen); // mantenir-se en aquesta posició }
La funció GetChar té el codi per a tots els alfabets. Per tant, sempre que escrivim qualsevol alfabet, el codi morse corresponent s’extreu d’aquesta funció per crear el so concret.
void GetChar (char tmpChar) { switch (tmpChar) { case 'a': MorseDot (); retard (100); MorseDash (); retard (100); trencar; ... ... ... per defecte: trencar; } }
Ara pengeu el codi a Arduino mitjançant Arduino IDE i escriviu qualsevol caràcter al monitor sèrie i premeu el botó d'inici per enviar els caràcters a l'Arduino.
Aquí hem escrit "SOS", que és un senyal de socors universal, per crear el so del mateix.

La demostració del mateix es dóna al vídeo següent.
