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.