Está en la página 1de 9

Universidad Tecnolgica de la

Mixteca

Materia
Ingeniera en Computacin

Profesor
M.C. Gabriel Gernimo Castillo

Materia
Comunicacin de Datos

Practica 4
Cdigo Morse
Integrantes:

Mendoza Rivera Lorenzo

Nicols Ortiz Jos Jaime

Torres Bautista Fernando

A 30 de noviembre de 2015, Huajuapan de Len, Oaxaca.

Universidad Tecnolgica de la Mixteca


Ingeniera en computacin Comunicacin de Datos

Tabla de contenido
Introduccin .....................................................................................3
Objetivo ............................................................................................4
Desarrollo .........................................................................................4
Funciones .......................................................................................4
Cdigo ............................................................................................5
Material .........................................................................................7
Imagen del circuito ........................................................................8
Conclusin ........................................................................................9
Referencias .......................................................................................9

Universidad Tecnolgica de la Mixteca


Ingeniera en computacin Comunicacin de Datos

Introduccin
El cdigo morse, tambin conocido como alfabeto morse, es un sistema de
representacin de letras y nmeros mediante seales emitidas de forma
intermitente.
El alfabeto Morse se define a continuacin:
Signo
A
B
C
D
E
F
G
H
I
J
K
L
M
N

Cdigo

Signo
O
P
Q
R
S
T
U
V
W
X
Y
Z
0
1

Cdigo

Signo
2
3
4
5
6
7
8
9
.
,
?

Cdigo

La duracin del punto es la mnima posible. Una raya tiene una duracin de
aproximadamente dos o tres veces la del punto. Entre cada par de smbolos de
una misma letra existe una ausencia de seal con duracin aproximada a la de un
punto. La siguiente prctica simulara un traductor de cdigo Morse haciendo uso
de Arduino Uno.

Universidad Tecnolgica de la Mixteca


Ingeniera en computacin Comunicacin de Datos

Objetivo
Crear un traductor de cdigo morse de caracteres recibidos por el puerto serial y
decodificarlos a travs de leds.

Desarrollo
A continuacin se detalla cmo se llev a cabo la prctica, los materiales que se
utilizaron, las funciones de Arduino que se ocuparon y se incluye el cdigo y la
imagen del circuito.

Funciones
Para el desarrollo de la prctica se har uso de las funciones bsicas de la
plataforma de Arduino. Las funciones que se utilizaron son:
Serial.begin(rate)
Abre el puerto serie y fija la velocidad en baudios para la transmisin de datos en
serie. Donde rate es la velocidad para comunicarse con el ordenador, por lo
regular es de 9600, aunque otras velocidades pueden ser soportadas.
Serial.avaible()
Devuelve un entero con el nmero de bytes (caracteres) disponibles para leer
desde el buffer serie, 0 si no hay ninguno. Si hay algn dato disponible, ser
mayor que 0. El buffer serie puede almacenar como mximo 128 bytes.
Serial.Read()
Lee o captura un byte (carcter) desde el puerto serie. Devuelve el siguiente byte
(carcter) desde el puerto serie, -1 si no hay ninguno.
digitalWrite()
Sirve para establecer la salida digital en el pin que se establezca. Este comando
slo admite dos estados HIGH o LOW, alto o bajo y que se corresponden con un 1
un 0.

Universidad Tecnolgica de la Mixteca


Ingeniera en computacin Comunicacin de Datos
tone()
Esta funcin lo que hace es intercambiar valores HIGH/LOW a la frecuencia
deseada en el pin seleccionado hasta que la volvemos a llamar con otra
frecuencia o le ordenamos que pare con esta funcin.
noTone()
Pone en LOW la frecuencia del pin sealado.

Cdigo
El siguiente cdigo es que se implement en la placa de Arduino para simular el
decodificador del cdigo Morse.
char* alfabeto[] = { ".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", //a-m
"-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-","...-", ".--", "-..-", "-.--", "--..", "---", "--..--" }; // nchar *num[] = { "-----",".----","..---","...--","....-",".....","-....","--...","---..","----." };
void onLed( char c, int pos )
{
digitalWrite( pos, HIGH );
if( c == '.' )
{
tone( 13, 500 );
delay( 1000 );
noTone( 13 );
}
else
{
tone( 13, 1000 );
delay( 2000 );
noTone( 13 );
}
digitalWrite( pos, LOW );
}
void getPos( char *c )
{
for( int i = 0; c[ i ] != '\0'; ++i )
onLed( c[ i ], i+2 );
delay( 250 );
}
void setup() {
// put your setup code here, to run once:
pinMode( 2, OUTPUT);
pinMode( 3, OUTPUT );
5

Universidad Tecnolgica de la Mixteca


Ingeniera en computacin Comunicacin de Datos
pinMode( 4, OUTPUT );
pinMode( 5, OUTPUT );
pinMode( 6, OUTPUT );
pinMode( 7, OUTPUT );
Serial.begin( 9600 );
}
void loop() {
// put your main code here, to run repeatedly:
char c;
// Si hay una entrada en el puerto serial.
if( Serial.available() )
{
c = Serial.read();
if( c==46 ){
getPos( alfabeto[ 27 ] );
Serial.println( alfabeto[ 27 ] );
}
else if( c==44 ){
getPos( alfabeto[ 28 ] );
Serial.println( alfabeto[ 28 ] );
}
else if( c >= 65 && c <= 90 )
{
getPos( alfabeto[ c - 'A'] );
Serial.println( alfabeto[ c - 'A'] );
}else if( c >= 97 && c <= 122 )
{
getPos( alfabeto[ c - 'a' ] );
Serial.println( alfabeto[ c - 'a' ] );
}
else if( c == ' ')
delay( 500 );
else
{
getPos( num[ c - '0' ] );
Serial.println( num[ c - '0' ] );
}
}
}

Universidad Tecnolgica de la Mixteca


Ingeniera en computacin Comunicacin de Datos

Material
1. Placa de Arduino Uno.

2. 6 leds.

3. 1 protoboard.

4. Cables para conexin.

5. 1 bocina.

Universidad Tecnolgica de la Mixteca


Ingeniera en computacin Comunicacin de Datos

Imagen del circuito


A continuacin se muestra el circuito ya armado.

Como se puede apreciar se ocuparon 6 pines, del 2 al 7 para las salidas en el


protoboard. La lectura se haca desde el puerto serial y conforme se lee una
cadena se procesa y se manda a la salida carcter por carcter, adems se
incluy a bocina la cual por cada punto hace un sonido corto si es una lnea hace
un sonido largo.
Como cada carcter en cdigo Morse est compuesto por puntos y rayas lo que
se hizo fue que por cada punto el led se pone en estado alto (prendido) por un
segundo y por cada raya se pone en estado alto por dos segundos. Los leds se
prenden uno tras otro dependiendo del nmero de puntos y rayas que representan
a cada carcter que se procesa y de la misma forma se genera un sonido.

Universidad Tecnolgica de la Mixteca


Ingeniera en computacin Comunicacin de Datos

Conclusin
En esta prctica se demostr el uso del puerto serial para la lectura de datos
desde el teclado. Adems se demostr el uso de estos datos para simular un
traductor de cdigo Morse, en donde los leds y la bocina mostraron la salida. Esta
prctica puede ser base para el desarrollo aplicaciones que puedan ayudar a
resolver un problema. Un ejemplo claro es en las comunicaciones para el
intercambio de informacin.

Referencias

https://es.wikipedia.org/wiki/C%C3%B3digo_morse

https://www.arduino.cc/
https://www.arduino.cc/en/Reference/Tone
https://openwebinars.net/tutorial-de-arduino-sonidos-con-arduino/

También podría gustarte