El código Morse es un sistema de comunicación para codificar cualquier carácter en dos duraciones diferentes de señales llamadas puntos y rayas . El código Morse es desarrollado por Samuel FB y utilizado en telegrafía para transferir información secreta. Fue más utilizado en la época de la Segunda Guerra Mundial. Se puede realizar un código Morse tocando, parpadeando o escribiendo. El código Morse está disponible en dos versiones, el código morse original y el internacional. En el código morse internacional, la versión original se modifica eliminando espacios y diseñando los guiones en una longitud específica. El código Morse está disponible para codificar alfabetos y números. Se utiliza principalmente en la radio y la comunicación oceánica y también es parte del entrenamiento para soldados.
El idioma siempre ha sido la barrera para el código Morse, ya que es difícil ejecutar el código para caracteres diacríticos en otro idioma. Hay algunas palabras famosas consideradas como una característica importante del código Morse como ‘SOS’ . La forma completa de SOS es Save Our Souls creada como una señal de socorro universal que representa peligro.
La siguiente imagen muestra el código Morse para los alfabetos de la A a la Z
Hoy en este tutorial construiremos un traductor de código Morse usando Arduino que tomará cualquier carácter como entrada del monitor en serie y lo convertirá en pitidos equivalentes de código Morse por zumbador.
Componentes requeridos:
- Arduino Uno
- Zumbador
- Tablero de circuitos
- Cables de puente
Diagrama de circuito.
Conecte la patilla positiva del timbre a la 8 ª pin de la Arudino ONU y la clavija negativa a la planta de Arduino. Cargue el código con Arduino IDE y escriba los caracteres en el monitor en serie para crear el sonido.
Explicación de programación.
El siguiente código se utiliza para recibir la cadena de caracteres y luego convertirla en código morse.
char stringToMorseCode [] = "";
Luego defina el pin para el timbre conectado al Arduino y el tono para el sonido generado por ese timbre. Luego estamos definiendo la longitud del punto y el guión.
int audio8 = 8; // salida de audio en el pin 8
int note = 1200; // nota musical / tono
int dotLen = 100; // longitud del código morse 'dot'
int dashLen = dotLen * 3; // longitud del código morse 'guión'
En el void loop () función, si los datos en serie está disponible, se guardará en una variable INDATA . Luego lee el carácter uno por uno usando el comando inData [index1] . El comando variable.toUppercase () se usa para cambiar los caracteres en minúsculas a mayúsculas. Luego crea sonido de acuerdo con cada personaje.
void loop ()
{
char inChar = 0;
char inData [100] = ""; // longitud de datos de 6 caracteres
Variable de cadena = "";
Cadena variable1 = "";
int index1 = 0;
if (Serial.available ()> 0) {
while (Serial.available ()> 0 && index1 <100)
{
delay (100);
inChar = Serial.read ();
inData [index1] = inChar;
index1 ++;
inData [index1] = '\ 0';
}
variable.toUpperCase ();
for (byte i = 0; i <100; i ++) {
variable.concat (String (inData [i]));
}
retraso (20);
A continuación, las funciones MorseDot y MorseDash se utilizan para crear el sonido para puntos y guiones, respectivamente.
nulo MorseDot ()
{
tono (audio8, nota, dotLen); // comienza a reproducir un
retraso de
tono (dotLen); // espera en esta posición }
nulo MorseDash ()
{
tono (audio8, nota, dashLen); // comienza a reproducir un
retraso de
tono (dashLen); // espera en esta posición }
La función GetChar tiene el código para todos los alfabetos. Entonces, cada vez que escribimos un alfabeto, el código morse respectivo se toma de esta función para crear el sonido particular.
nulo GetChar (char tmpChar)
{
switch (tmpChar) {
case 'a':
MorseDot ();
retraso (100);
MorseDash ();
retraso (100);
rotura;
...
...
...
predeterminado:
descanso;
}
}
Ahora cargue el código en Arduino usando Arduino IDE y escriba cualquier carácter en el monitor en serie y presione el botón Intro para enviar los caracteres al Arduino.
Aquí hemos escrito ‘SOS’, que es una señal de socorro universal, para crear el sonido para el mismo.
La demostración de lo mismo se da en el siguiente video .
-
Arduino ATmega 2560 R3¡Oferta!
$20.50$19.00 -
Arduino Uno Wifi¡Oferta!
$15.00$13.00 -
Arduino Mini USB Nano V3.0 CH340 Chip Board 5V 16M + Cable¡Oferta!
$9.00$8.50