< Práctica 1 - Codificador de código Morse

Práctica 1 - Codificador de código Morse

En esta práctica, se solicita a los alumnos que realicen un codificador de código Morse utilizando una placa Arduino Uno o un simulador Tinkercad.

El codificador debe tener una entrada que permita ingresar un texto en ASCII, y una salida que muestre el texto codificado en código Morse.

Además, se debe agregar un módulo de relé que se encargue de encender y apagar un transmisor de radio que emitirá al aire el código Morse generado.

Los alumnos deben entregar el código fuente y un video que muestre el funcionamiento del codificador y la emisión del código Morse.

A continuación se muestra un ejemplo de código para un programa en Arduino que convierte texto en código Morse:

void setup() {
  Serial.begin(9600); // Inicializar el puerto serie a 9600 baudios
}

void loop() {
  String cadena = Serial.readString(); // Leer la cadena de caracteres desde el puerto serie
  int longitud = cadena.length(); // Obtener la longitud de la cadena
  char caracteres[longitud + 1]; // Crear un arreglo de caracteres para guardar cada uno de los caracteres de la cadena
  cadena.toCharArray(caracteres, longitud + 1); // Copiar los caracteres de la cadena al arreglo de caracteres
  for (int i = 0; i < longitud; i++) {
    morse(caracteres[i]); // Llamar a la función morse() para convertir cada carácter a su código Morse
  }
}

void morse(char caracter) {
  switch (caracter) {
    case 'a':
    case 'A':
      Serial.println(".-");
      break;
    case 'b':
    case 'B':
      Serial.println("-...");
      break;
    case 'c':
    case 'C':
      Serial.println("-.-.");
      break;
    // Agregar más casos para cada carácter en el alfabeto Morse
    default:
      Serial.println("Carácter no válido"); // Si el carácter no es reconocido, imprimir un mensaje de error
  }
}

Este programa lee una cadena de caracteres desde el puerto serie y luego convierte cada carácter a su correspondiente código Morse utilizando la función morse(). Si un carácter no es reconocido, el programa imprimirá un mensaje de error en el puerto serie.