Práctica 15. LED Emitiendo SOS en Código Morse

15.1  Objetivo General:

Emitir mediante el parpadeo de un LED mensaje de SOS en código morse.

Nota: Esta práctica LED Emitiendo SOS en Código Morse fue propuesta por dos de los grupos del curso mecabot A2018 mientras realizaban la Práctica 1. Muestra como un mismo circuito puede tener distintos comportamientos en función de las instrucciones que se le indiquen a través de la programación.

En la sección de Tutoriales->Arduino podrán encontrar todas las prácticas relacionadas con la tarjeta Arduino

15.2  Materiales y Métodos:

  1. Un LED, de distintos colores.
  2. Una resistencia de 220Ω.
  3. Una tarjeta Arduino.
  4. Un cable USB impresora.
  5. Un computador.
  6. Cables para el montaje del circuito.
  7. Protoboard.

15.3  Montaje de la Práctica:

Antes de comenzar a la realización del montaje del circuito electrónico, primero se visualiza en  el programa TinkerCad. El circuito para esta práctica es idéntico al de la Práctica 1. Se presenta la  Figura 1 como referencia.

Encender y apagar un LED con Arduino

Figura 1 – Montaje del circuito para LED Emitiendo SOS en Código Morse con Arduino.

Si se quiere detallar como realizar el montaje paso a paso puede ir al enlace de la Práctica 1 haciendo click sobre la Figura.

Además de lograr el parpadeo del LED, en esta práctica vamos a trabajar con subrutinas. Las subrutinas o subprogramas  son algoritmos que son empleados dentro del programa principal, los cuales facilitan el desarrollo de un código. Son muy útiles cuando un mismo código es utilizado repetidas veces dentro del programa principal. Ver la entrada en wikipedia para mayor información.

En este caso se usa para realizar la intermitencia con el cual se va a realizar el encendido y apagado del LED. Recuerden que en código morse el abecedario es codificado como secuencias de punto (.) y raya (-). Punto es una luz emitida por un periodo corto mientras que raya es por un periodo mas prolongado.

15.3.1 Procedimiento de cómo llevar a cabo el codificado del programa:

Primero vamos a crear la subrutina parpadeo.

  • Las subrutinas se codifican en una estructura void seguida del nombre que se le quiera asignar. por ejemplo void parpadeo(). Dentro del paréntesis se pueden colocar las variables que entran a la función. En este caso(int duracion), que es la variable que va a dar el tiempo entre los parpadeos del LED. Una vez se usara con parpadeo corto para simular el punto y otra vez con un tiempo más largo para simular la raya.
  • Todas las subrutinas que se realicen se escriben luego del lazo void loop.

Código Principal.

  • Se declara el pin que va ser usado para enviar la señal al LED, variable del tipo constante y entera, const int LED=13.
  • En el lazo void setup, se indica que el LED es un pinMode de salida OUTPUT.
  •  Dentro del lazo void loop, se emplea la rutina parpadeo, primero se parpadea a intervalos de 400 milisegundos S (.), luego a intervalos de 800 milisegundos O (-), y finalmente en intervalos de 400 milisegundos S(.).
  •  Se deja un delay al final para notar cada vez que inicia la secuencia SOS.
// Práctica encender y apagar un LED
const int LED=13;
void setup()
{
pinMode(LED,OUTPUT);
}
void loop()
{
parpadeo(400);
parpadeo(800);
parpadeo(400);
delay(2000);
}
void parpadeo(int duracion){
for (int i=1; i <= 3; i++){
digitalWrite(LED,HIGH);  //se enciende el LED
delay(duracion);   //tiempo de parpadeo
digitalWrite(LED,LOW);  //se apaga el LED
delay(duracion);
}
}

Algoritmo 1: Código del programa LED Emitiendo SOS en Código Morse.

  • Al terminar el desarrollo del programa, se debe compilar Programa esto para verificar si existen errores dentro del código. Luego si no existen errores se puede cargar el código en la tarjeta Arduino para que esta lo ejecute.

Implementación del algoritmo 1 en el simulador TinkerCad:

https://www.tinkercad.com/things/i0Lowt5xrJj

Si tuviste problemas haciendo la práctica, o tienes algún comentario te invitamos a comentar este post.

15.4 Conclusión:

En la práctica se observó como un mismo circuito puede tener distintos comportamientos a partir de las instrucciones que se codifiquen en el IDE de arduino. Adicionalmente, se aprendió como trabajar con subrutinas, las cuales resultan muy útiles cuando una misma instrucción se utiliza repetidas veces dentro del programa principal. Lo anterior se ejemplificó utilizando arduino para mediante un LED, emitir SOS en Código Morse.