ALFABETO MORSE.
Fue desarrollado por Alfred Vail mientras colaboraba en 1830 con Samuel Morse en la invención del telégrafo eléctrico. Vail creó un método según el cual cada letra o número era transmitido de forma individual con un código consistente en rayas y puntos, es decir, señales telegráficas que se diferencian en el tiempo de duración de la señal activa.
El alfabeto Morse más popularmente conocido como código Morse, es un sistema de representación de letras y números mediante señales emitidas de acuerdo a unas reglas preestablecidas. Estas señales consisten en una serie de pitidos, cortos (dot) y largos (dash). Un dot es un pitido corto, mientras que un dash es un pitido largo (tres veces más largo), algunos usan otros términos como did y dad, respectivamente. Cada letra está separada por una pausa corta y una palabra está separada por una pausa más larga (tres veces más larga).
Este es el aspecto de lo que es un sencillo manipulador Morse, por supuesto que existe una gran variedad de ellos, aunque el fin primordial es cortar o conectar un circuito señalizador.
Al parecer de mucha gente, el código Morse le es difícil de aprender de modo que, para facilitar su aprendizaje, se han ideado distintas reglas mnemotécnicas, las cuales permiten memorizarlo mediante un sencillo sistema, consistente en asignar a cada letra, una palabra determinada, que comienza con la letra que se quiere recordar. Luego basta con recordar la palabra de la letra correspondiente y obtener el código que le corresponde. El siguiente es el circuito es el que utilizaremos para el transmisor.
Regla: la palabra elegida para una letra, tiene la peculiaridad de empezar por la propia letra y también tiene tantas silabas como puntos y rayas tenga el código de dicha letra, además, la palabra responde a la combinación de silabas de una o dos letras para designar un punto y silabas de tres o más letras para designar las rayas. Luego, se ha de sustituir cada silaba de la palabra clave por un punto o una raya según la regla establecida anteriormente.
Así por ejemplo: el código de la letra a esta compuesto por un punto y una raya (·-), según esta regla, la palabra elegida es amor. Vemos que se cumple la regla de las silabas a (·) mor (-). Del mismo modo ocurre con la letra n, vemos: que le corresponde (-·), aplicando la regla, la palabra elegida es norte, y de nuevo se cumple la regla de las silabas nor (-) te (·).
Siguiendo este criterio, se han elegido las palabras que se pueden ver en la tabla de abajo. Si usted tiene interés en aprender el código Morse, este sistema le ayudará a memorizar fácilmente el alfabeto en código Morse.
REGLA MNEMOTÉCNICA.
Siguiendo este razonamiento, podemos agrupar letras bajo un criterio, por ejemplo, agrupar pares de letras con las mismas silabas, como puede ser:
1 2 3 4 5 6 7 8 |
A | N ·- <> a-mor | -· <> nor-te E | T · <> ep | - <> tos I | M ·· <> is-la | -- <> mar-mol |
Entre otras posibles combinaciones que puede acomodar para su aprendizaje, el propio usuario.
El siguiente sería el código completo de letras y sus palabras mnemotécnicas asociadas para facilitar su aprendizaje al interesado en estas técnicas. Se trata de recordar el nombre asociado a cada letra.
Puesto que hemos descrito como es el código Morse y una forma sencilla de aprenderlo, cabía esperar que puestos en el tema, pensara que se podría completar este artículo añadiendo un código que nos permita hacer practicas con el código Morse, de modo que podamos enviar un texto con un módulo y con otro módulo recibir y descifrar el contenido del mensaje.
Pensando en este proyecto he aquí un pequeño código libre que he visto por la red y de ese modo usted podrá realizar algunas prácticas que reafirmarán sus conocimientos del código Morse, mientras preparo el código que he comentado. Este es el código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
/* LED morse code * * ------------ * * LED conectado a un pin digital parpadea. * Pin 13 de la placa Arduino se utiliza porque * que tiene una resistencia unida a él, necesitando sólo un LED * * Código de la red */int ledPin = 13; // digital pin 13 void setup() { pinMode(ledPin, OUTPUT); // sets pin 13 as output } void loop() { // V digitalWrite(ledPin, HIGH); // dot delay(200); digitalWrite(ledPin, LOW); delay(100); digitalWrite(ledPin, HIGH); // dot delay(200); digitalWrite(ledPin, LOW); delay(100); igitalWrite(ledPin, HIGH); // dot delay(200); digitalWrite(ledPin, LOW); delay(100); digitalWrite(ledPin, HIGH); // dash delay(600); digitalWrite(ledPin, LOW); delay(800); // you get the picture! delay(3000); // wait 3sec before repeat } |
El anterior ejercicio en sí no tiene gran interés, se limita a presentar un mensaje supeditado al momento de crear el propio código, motivo por el cual queda invalidado. Lo ideal sería un código que permita comunicar el monitor serial para interactuar con Arduino u otro dispositivo actual para intercambiar información. Luego ya vendrían los códigos especiales para transmitir datos o información delicada entre interlocutores.
El siguiente programa está un poco mas elaborado, permitiendo introducir un texto con el teclado del computador mediante (COM) y el monitor serial de Arduino.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 |
/* * clavemorse.pde * * El circuito de prueba es muy sencillo, consta de un buzzer * conectado al pin 13 que como se sabe tiene puesta una * resistencia para controlar el consumo del pin. El buzzer permite * oir el sonido de los dot y dash que genere el mensaje que insertemos * por el monitor serial, para obtener una señal óptica podemos conectar * un LED en el mismo pin 13, sin embargo, sería conveniente utilizar un * transistor en la salida para disponer de mayor potencia. * Este código básicamente lo que hace es recibir caracteres por el * puerto COM y los reproduce (luz, sonido o luz + sonido) * * Basado en un código de Adán Silva * * Modificado por V. Garcia el 2015.01.29 IDE ver. 0023 6774 bytes */ #include <LiquidCrystal.h> // LiquidCrystal(rs, enable, d4, d5, d6, d7) LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // es mi config. unsigned short int punto = 70; // Duracion del punto unsigned short int raya = punto * 4; // Duracion de la raya unsigned short int negro = punto * 3; // Duracion del apagado entre rayas y puntos unsigned short int letrayletra = punto * 5; // Duracion del apagado entre letras void playTone(int tone, int duration, int speakerPin) { // enviamos la señal al buzzer. // Sends the signal to the speakerPin for (long i = 0; i < duration * 1000L; i += tone * 2) { digitalWrite(speakerPin, HIGH); delayMicroseconds(tone); digitalWrite(speakerPin, LOW); delayMicroseconds(tone); } } void playToneLed(int tone, int duration, int speakerPin, int ledPin) { // enviamos la señal al LED y buzzer. Sends the signal to speakerPin and ledPin for (long i = 0; i < duration * 1000L; i += tone * 2) { digitalWrite(speakerPin, HIGH); digitalWrite(ledPin, HIGH); delayMicroseconds(tone); digitalWrite(speakerPin, LOW); digitalWrite(ledPin, LOW); delayMicroseconds(tone); } } // ########## CLASE LETRA ######### class letra { private: char caracter; char* codigo; int ledPin; public: letra (char car, char* cad, unsigned short int pin); void set (char car, char* cad, unsigned short int pin); void mostrar (); void sonar (); void mostrarYsonar (); }; letra::letra (char car, char* cad, unsigned short int pin) { // Constructor caracter = car; codigo = cad; ledPin = pin; pinMode(ledPin, OUTPUT); } void letra::set (char car, char* cad, unsigned short int pin) { // Setter caracter = car; codigo = cad; ledPin = pin; } void letra::mostrar () { // Shows the code in in the ledPin unsigned short int j = 0; while (codigo[j] != 0) { if (codigo[j] == '.') { digitalWrite (ledPin, HIGH); lcd.setCursor(1,2); lcd.print(codigo[j]); delay (punto); digitalWrite (ledPin, LOW); delay (negro); } else if (codigo[j] == '-') { digitalWrite (ledPin, HIGH); lcd.setCursor(2,2); lcd.print(codigo[j]); delay (raya); digitalWrite (ledPin, LOW); delay (negro); } j++; } delay (letrayletra); } void letra::sonar () { // Sounds the code on the speakerPin unsigned short int j = 0; while (codigo[j] != 0) { if (codigo[j] == '.') { playTone (440, 100, 9); delay (negro/3); } else if (codigo[j] == '-') { playTone (440, 100 * 4, 9); delay (negro/3); } j++; } delay (letrayletra); } void letra::mostrarYsonar () { // Sounds and shows the code (ledPin + speakerPin) unsigned short int j = 0; while (codigo[j] != 0) { if (codigo[j] == '.') { playToneLed (440, 100, 9, ledPin); delay (negro/4); } else if (codigo[j] == '-') { playToneLed (440, 100 * 4, 9, ledPin); delay (negro/4); } j++; } delay (letrayletra/2); } // ############################## void setup() { Serial.begin(9600); pinMode(9, OUTPUT); lcd.begin(20, 4); lcd.clear(); //aclara el LCD lcd.setCursor(3,0); lcd.print("Hispavila.com"); lcd.setCursor(0,1); lcd.print("Presiona un boton"); } int letraIN = 0; unsigned short int ledPin = 13; void loop() { digitalWrite(ledPin, LOW); lcd.setCursor(2,2);lcd.print(" "); letraIN = 0; letraIN = Serial.read(); letra let (0, "", ledPin); switch (letraIN) { case 'a': let.set ('a', ".-", ledPin); lcd.setCursor(2,2); lcd.print("a .- "); break; case 'b': let.set ('b', "-...", ledPin); lcd.setCursor(2,2); lcd.print("b -... "); break; case 'c': let.set ('c', "-.-.", ledPin); lcd.setCursor(2,2); lcd.print("c -.-. "); break; case 'd': let.set ('d', "-..", ledPin); lcd.setCursor(2,2); lcd.print("d -.. "); break; case 'e': let.set ('e', ".", ledPin); lcd.setCursor(2,2); lcd.print("e . "); break; case 'f': let.set ('f', "..-.", ledPin); lcd.setCursor(2,2); lcd.print("f ..-. "); break; case 'g': let.set ('g', "--.", ledPin); lcd.setCursor(2,2); lcd.print("g --. "); break; case 'h': let.set ('h', "....", ledPin); lcd.setCursor(2,2); lcd.print("h .... "); break; case 'i': let.set ('i', "..", ledPin); lcd.setCursor(2,2); lcd.print("i .. "); break; case 'j': let.set ('j', ".---", ledPin); lcd.setCursor(2,2); lcd.print("j .--- "); break; case 'k': let.set ('k', "-.-", ledPin); lcd.setCursor(2,2); lcd.print("k -.- "); break; case 'l': let.set ('l', ".-..", ledPin); lcd.setCursor(2,2); lcd.print("l .-.. "); break; case 'm': let.set ('m', "--", ledPin); lcd.setCursor(2,2); lcd.print("m -- "); break; case 'n': let.set ('n', "-.", ledPin); lcd.setCursor(2,2); lcd.print("n -. "); break; case 'o': let.set ('o', "---", ledPin); lcd.setCursor(2,2); lcd.print("o --- "); break; case 'p': let.set ('p', ".--.", ledPin); lcd.setCursor(2,2); lcd.print("p .--. "); break; case 'q': let.set ('q', "--.-", ledPin); lcd.setCursor(2,2); lcd.print("q --.- "); break; case 'r': let.set ('r', ".-.", ledPin); lcd.setCursor(2,2); lcd.print("r .-. "); break; case 's': let.set ('s', "...", ledPin); lcd.setCursor(2,2); lcd.print("s ... "); break; case 't': let.set ('t', "-", ledPin); lcd.setCursor(2,2); lcd.print("t - "); break; case 'u': let.set ('u', "..-", ledPin); lcd.setCursor(2,2); lcd.print("u ..- "); break; case 'v': let.set ('v', "...-", ledPin); lcd.setCursor(2,2); lcd.print("v ...- "); break; case 'w': let.set ('w', ".--", ledPin); lcd.setCursor(2,2); lcd.print("w .-- "); break; case 'x': let.set ('x', "-..-", ledPin); lcd.setCursor(2,2); lcd.print("x -..- "); break; case 'y': let.set ('y', "-.--", ledPin); lcd.setCursor(2,2); lcd.print("y -.-- "); break; case 'z': let.set ('z', "--..", ledPin); lcd.setCursor(2,2); lcd.print("z --.. "); break; case '0': let.set ('0', "-----", ledPin); lcd.setCursor(2,2); lcd.print("0 ----- "); break; case '1': let.set ('1', ".----", ledPin); lcd.setCursor(2,2); lcd.print("1 .---- "); break; case '2': let.set ('2', "..---", ledPin); lcd.setCursor(2,2); lcd.print("2 ..--- "); break; case '3': let.set ('3', "...--", ledPin); lcd.setCursor(2,2); lcd.print("3 ...-- "); break; case '4': let.set ('4', "....-", ledPin); lcd.setCursor(2,2); lcd.print("4 ....- "); break; case '5': let.set ('5', ".....", ledPin); lcd.setCursor(2,2); lcd.print("5 ..... "); break; case '6': let.set ('6', "-....", ledPin); lcd.setCursor(2,2); lcd.print("6 -.... "); break; case '7': let.set ('7', "--...", ledPin); lcd.setCursor(2,2); lcd.print("7 --... "); break; case '8': let.set ('8', "---..", ledPin); lcd.setCursor(2,2); lcd.print("8 ---.. "); break; case '9': let.set ('9', "----.", ledPin); lcd.setCursor(2,2); lcd.print("9 ----. "); break; case '.': let.set ('.', ".-.-.-", ledPin); lcd.setCursor(2,2); lcd.print(". .-.-.- "); break; case ',': let.set (',', "--..--", ledPin); lcd.setCursor(2,2); lcd.print(", --..-- "); break; case '?': let.set ('?', "..--..", ledPin); lcd.setCursor(2,2); lcd.print("? ..--.. "); break; case '"': let.set ('"', ".-..-.", ledPin); lcd.setCursor(2,2); lcd.print("'' .-..-. "); break; } let.mostrarYsonar(); } |
Una vez más, copie y pegue este código en su editor preferido guárdelo con un nombre y cárguelo en su Arduino, para comprobar su efectividad.
A colación con las nuevas tecnologías, viene siendo demasiado habitual que los usuarios de los dispositivos de comunicación en detrimento de la lengua de uso común, por falta de espacio/tiempo vienen deteriorando el preciado lenguaje, puestos a utilizar vocablos o si me apuran letras sueltas, porque no utilizar un viejo y casi olvidado código Q. Se trata de un código muy elaborado y largamente utilizado en el siglo pasado.
Una posibilidad que completaría este sistema de transmitir mensajes en la actualidad, podría consistir en la construcción de un receptor de las señales y presentar en una pantalla el mensaje, lo que posiblemente tuviera una mayor acogida entre los usuarios.
EL CÓDIGO Q.
El código Q consiste en un código de tres letras que fue creado por los británicos sobre el 1909, y adoptado rápidamente como una lista abreviada para su uso por los barcos y estaciones costeras británicas. Este código Q fue adoptado por muchas comunidades debido a que facilitaba las comunicaciones, ya que permitía y sigue permitiendo la comprensión entre operadores de distintas nacionalidades que halan distintas lenguas.
En aquellos tiempos por distintas circunstancias, se utilizaba el código Morse por los radiotelegrafistas para transmitir con tres letras prácticamente todo un mensaje. Posteriormente, fue empleado por la radiotelefonía al igual que los radio aficionados. En la actualidad se podría utilizar con los teléfonos móviles o celulares (en lugar de romper el idioma), reduciendo de esa forma mucho la longitud de las oraciones con el uso del mencionado código Q.
Me parece más fácil la regla mnemotécnica por la cual
a e i u es punto
o es ralla
y así
AsnO = ·- = a
bOnApArtE = -··· = b
etc.
Hola amigo.
Cierto. El secreto es tener la necesidad de aprender y escoger el mnemónico que mejor te parezca.
La regla siempre ha sido sílabas con a, e, i, u = punto y sílabas con o = raya
Creo que el que escribió el artículo no entendió, según el ejemplo de esta pag no hay cómo saber que sílaba es punto o cuál es raya. No tiene sentido.
Estimada Katalina.
Viendo tu comentario, he considerado que no estuve acertado en el planteamiento del jugo respecto del código, y es por este motivo que he re-hecho el contenido sólo dando «negrita» a ciertas letras o palabras como reafirmando lo que quiero describir y dejar claro.
Tal vez no sea esta la forma ideal para describirlo y tal vez como dices siempre se ha considerado lo de a, e, i, u, para designar puntos y la o para las rayas. Lo cierto es (desde mi punto de vista) que cualquier sistema mnemónico es valido.
En el caso que yo describo en este artículo, consiste en recordar el nombre de la palabra asociada a la letra. Míralo de es esta forma; al transmitir una frase como:
Frente al sistema que tu comentas. De todas formas, repito, se trata de facilitar un método fácil de recordar. Por cierto, este sistema pertenece al curso de Radio Maymó de los años 60. Hay mucha gente que lo ha estado usando sobre todo en la vieja URE.
Me gustaría saber que tipo de transistor se utiliza para esta practica
Hola Bernardo, Es un transistor NPN universal, te sirve cualquiera que sea NPN.
El sistema morse ….fue y sera el mejor…pero no todos los seres humanos
tienen ese oido y dedos que permite esa comunicacion….y estos son los telegrafistas
Hola Felisa Pineda Castellanos
Es cierto pero solo en parte, el oído como la habilidad son cosas que se adquieren con la práctica, te lo aseguro, es como la memoria, es algo que se ha de practicar al igual que la musculatura con ejercicio se puede conseguir. Y para eso sólo se necesita voluntad y constancia.
De todas formas gracias por tus comentarios.
no entiendo, creo yo que no tendría sentido denominar a todas las vocales como ( . ) y solo la vocal antepenúltima «O» como
( = ),¿cómo se distingue una E de una A?, recién estoy aprendiendo esto, y tengo dudas, muchas dudas. Como una letra puede tener tanto símbolos, ya que si quieres comunicarte a través de este «Idioma» o esta forma de comunicación, tendrías que, bueno en el caso que uso yo, haciendo golpes, tengo que hacer muchos golpes tan solo para formar una palabra lo veo muy largo, no creen que habra una forma más simplificada de poder hablar o comunicar? digamos, una oración larga que quiero comunicar tengo que hacer tantos golpes y se pierden.
Hola AZEMAIXEM .
Sin duda que estás «recién estoy aprendiendo esto, y tengo dudas, muchas dudas», mi consejo y no estoy acostumbrado a dar consejos ni estoy por la labor. Pero, como una muestra de esto, te diré que si lees con un poco más de atención y tratas de entender lo que se describe, pronto llegarás a la conclusión de que no siendo lo ideal a la hora de comunicarse, este es un método (por otra parte muy experimentado) bastante coherente sencillo y eficaz para transmitir información entre dos puntos de forma sencilla y como digo, eficaz.
Este método lleva unos 190 años de existencia y se ha utilizado en cantidad de ocasiones por lo sencillo que resulta su uso y lo básico de su sistema para entablar una información esclarecedora de un hecho que ocurre en un lugar sin medios para transmitir una información sucinta.
Por lo tanto, relee el artículo y piensa, igual encuentras un nuevo método más sencillo y eficaz para utilizar, está en ello un premio que llaman NOBEL.
Saludos.
en el primer cuadro del alfabeto, después de la foto del manipulador , la letra G esta equivocada tiene _._. y es
_ _ . nada mas.
Hola Mariano Casado Frias.
Cierto, hay ub error. Quizás debido a un error tipografico. Lo he subsanado.
Gracias.
hola! la letra W coree en este caso?
Hola Dahamar.
Tienes razón, por un fallo en la construcción de la tabla, se perdió la letra W, ahora ya se ha rectificado y la he reeditado.
Por cierto la W suena como Wa-shing-ton es decir: · – –
Gracias por tu aviso.
Saludos.
–.-..-..-…. …..-. –.. -.—…-…- ?? Que significa es que me lo mandaron y no se
Muy buena la lista de palabras elegidas como mnemotécnicas. Justamente estuve buscando varias listas y la mayoría no me convencía. Así que las cambiaba por alguna que se me ocurría, que me resultara más familiar y más acorde en cuanto a la sonoridad por los tiempos que duran cada sílaba. Gracias por compartir esta publicación. Aún estoy aprendiendo, así que usaré algunas palabras de la lista planteada.
73
Hola Leandro Sabo.
Gracias por tus palabras. Sigue practicando, para ti es una forma nueva de comunicarse y puede serte útil en algún momento.
Saludos.
La regla siempre ha sido Aprender por el Sonido (musical) y no contando puntos y rayas.
Hola Juan C. Lakomme.
Cierto, en lo referente a aprender la cadencia del sonido que suele seguir la pauta de las rayas y los puntos, sin embargo, trata de aplicarle una palabra a esa ‘musiquita’ que hace un par de rayas comparadas con ‘mármol’. En definitiva, lo que se trata es de practicar y hacer ‘oído’ como se dice. Me recuerda a lo que le parece a alguien neófito, cuando escucha a un radio-aficionado en su habitual alocución , cuando está en el ‘aire’. Al neófito le parece que habla el pato Donald.
Saludos y cuídate.
No existe la «u» o la «i» con acento?
Hola pepe.
Sin duda, existen sin embargo, no era el caso ya que de lo que se trata en el artículo es tener conocimiento del lenguaje en si mismo. Si estas interesado en alguna cuestión concreta deberías buscar respuesta en otros artículos con mayor calado.
Saludos.