Código Morse de Arduino: 5 pasos (con fotos)

Código Morse de Arduino: 5 pasos (con fotos)

Tabla de contenido:

Anonim

Cuando era más joven, comencé a practicar para mi licencia de radio de radio, pero no me quedé con el tiempo suficiente para dominar el código morse. Con este proyecto puedes convertir cualquier texto a código morse.Este proyecto le mostrará cómo crear un circuito básico que convierte el texto en código morse y parpadea las luces LED mientras se reproduce el audio de los puntos y guiones traducidos.

Este es mi primer proyecto de Instructables, así que espero que les guste. En este proyecto asumiré que tienes un conocimiento muy básico de la electrónica y la carga de código en el Arduino. Echa un vistazo a muchos otros grandes Instructables para obtener ayuda sobre esto si es necesario. Este es un proyecto realmente fácil, así que estoy seguro de que no tendrá ningún problema.

Suministros:

Paso 1: Reúna las piezas

Para este proyecto, use un microcontrolador Arduino Uno conectado a una placa de pruebas sin soldadura.

  • 1 - Andruino
  • 1 - Breadboard sin soldadura
  • 3 - Resistencias (220 Ohm)
  • 1 - Mini altavoz de 8 ohmios
  • 2 - Luces LED de 5mm
  • 3 - Cables de puente cortos (1 cm)
  • 4 - Cables de puente más largos (6 - 10 cm)
  • 1 - Cable USB

Paso 2: Configurar la placa de circuito

Primero configure la placa para conectar los dos LED y un altavoz como se ve en el diagrama de cableado. Conecte el puente pequeño desde el suelo a una fila. En la segunda fila, conecte un cable de puente más largo y una resistencia. La luz LED o el altavoz unirán estas dos filas. Cuando conecte los LED, la pata positiva (la más larga de los dos cables que salen del LED) se debe conectar a la línea con la resistencia y la pata negativa estará en la fila conectada a tierra.

Paso 3: Conectando el Arduino

Ahora que tiene el tablero conectado, lo conectará al Arduino. En el código usaremos los pines de salida seis y doce para las luces LED y el pin ocho para el audio. Conecte los dos cables de puente más largos con los LED en línea para fijar los seis y doce en el Arduino. Conecte el cable Jumber más largo con el altavoz al pin ocho. Finalmente, conecte el pin GND al bus de tierra en la parte superior de la placa de pruebas.

Paso 4: Cargar el Código

A continuación, conecta tu computadora al Arduino a través del cable USB. Usando el compilador de Arduino sube el siguiente código. Para modificar la cadena de código Morse, simplemente cambie el 'stringToMorseCode'. El código leerá esta cadena y la convertirá en código morse, tanto visual como de audio.

El código lee la cadena en una matriz y luego, utilizando la función GetChar, esto convierte cada carácter en puntos y guiones. Actualmente, solo se trata de convertir caracteres alfabéticos, pero puede agregar fácilmente caracteres adicionales (números, puntuación) en este modificador de declaración en la parte inferior del código.

/*

Proyecto de código Morse Este código recorrerá una serie de caracteres y los convertirá en código Morse. Parpadeará dos luces LED y reproducirá audio en un altavoz. * / // ********************************************** **** // // Escriba la cadena para convertir a código Morse aquí // // ***************************** ********************* // char stringToMorseCode = "Arduino Morse Code Project";

// Crear variable para definir los pines de salida int led12 = 12; // parpadea un led en la salida 12 int led6 = 6; // parpadea un led en la salida 6 int audio8 = 8; // salida de audio en el pin 8 int nota = 1200; // nota musical / tono

/ * Establezca la velocidad de su código morse Ajuste la longitud 'dotlen' para acelerar o ralentizar su código morse (todas las demás longitudes se basan en el dotlen)

Estos son los elementos del código de relaciones: Longitud del guión = Longitud del punto x 3 Pausa entre los elementos = Longitud del punto (pausa entre los puntos y guiones dentro del carácter) Pausa entre los caracteres = Longitud del punto x 3 Pausa entre las palabras = Longitud del punto x 7 http: // www.nu-ware.com/NuCode%20Help/index.html?m … * / int dotLen = 100; // longitud del código Morse 'punto' int dashLen = dotLen * 3; // longitud del código Morse 'dash' int elemPause = dotLen; // duración de la pausa entre los elementos de un carácter int Spaces = dotLen * 3; // longitud de los espacios entre los caracteres int wordPause = dotLen * 7; // duración de la pausa entre palabras

// la rutina de configuración se ejecuta una vez cuando se presiona restablecer: void setup () {// inicializa el pin digital como una salida para las luces LED. pinMode (led12, SALIDA); pinMode (led6, SALIDA); }

// Cree un bucle de las letras / palabras que desea emitir en código morse (definido en la cadena en la parte superior del código) void loop () {// Recorra en bucle la cadena y obtenga cada carácter de uno en uno hasta que llegue al final para (int i = 0; i <sizeof (stringToMorseCode) - 1; i ++) {// Obtenga el carácter en la posición actual char tmpChar = stringToMorseCode i; // Establezca el caso en minúsculas tmpChar = toLowerCase (tmpChar); // Llame a la subrutina para obtener el código morse equivalente para este carácter GetChar (tmpChar); } // Al final de la cadena, haga una pausa larga antes de hacer un bucle y comenzar nuevamente LightsOff (8000); }

// DOT anulará MorseDot () {digitalWrite (led12, HIGH); // enciende el LED en digitalWrite (led6, HIGH); tono (audio8, note, dotLen); // empieza a reproducir un retraso de tono (dotLen); // mantener en esta posición}

// DASH void MorseDash () {digitalWrite (led12, HIGH); // enciende el LED en digitalWrite (led6, HIGH); tono (audio8, nota, dashLen); // empieza a reproducir un retraso de tono (dashLen); // mantener en esta posición}

// Desactivar void LightsOff (int delayTime) {digitalWrite (led12, LOW); // apaga el LED digitalWrite (led6, LOW); noTone (audio8); // dejar de reproducir un retardo de tono (delayTime); // mantener en esta posición}

// *** Conversión de caracteres a código Morse *** // void GetChar (char tmpChar) {// Tome el carácter pasado y use una caja de interruptor para encontrar el código Morse para ese cambio de carácter (tmpChar) {caso 'a': MorseDot (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); descanso; caso 'b': MorseDash (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); descanso; caso 'c': MorseDash (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); descanso; caso 'd': MorseDash (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); descanso; caso 'e': MorseDot (); LightsOff (elemPause); descanso; caso 'f': MorseDot (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); descanso; caso 'g': MorseDash (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); descanso; caso 'h': MorseDot (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); descanso; caso 'i': MorseDot (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); descanso; caso 'j': MorseDot (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); descanso; caso 'k': MorseDash (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); descanso; caso 'l': MorseDot (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); descanso; caso 'm': MorseDash (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); descanso; caso 'n': MorseDash (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); descanso; caso 'o': MorseDash (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); descanso; caso 'p': MorseDot (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); descanso; caso 'q': MorseDash (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); descanso; caso 'r': MorseDot (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); descanso; caso 's': MorseDot (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); descanso; caso 't': MorseDash (); LightsOff (elemPause); descanso; caso 'u': MorseDot (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); descanso; caso 'v': MorseDot (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); descanso; caso 'w': MorseDot (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); descanso; caso 'x': MorseDash (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); descanso; caso 'y': MorseDash (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); descanso; caso 'z': MorseDash (); LightsOff (elemPause); MorseDash (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); MorseDot (); LightsOff (elemPause); descanso; predeterminado: // Si no se encontró un carácter coincidente, se establecerá de manera predeterminada un espacio en blanco LightsOff (espacios); }}

/ * Software sin licencia: es un software gratuito y sin compromiso lanzado al dominio público.

Cualquier persona es libre de copiar, modificar, publicar, usar, compilar, vender o distribuir este software, ya sea en forma de código fuente o como un binario compilado, para cualquier propósito, comercial o no comercial, y por cualquier medio.

En las jurisdicciones que reconocen las leyes de derechos de autor, el autor o los autores de este software dedican cualquier y todos los intereses de derechos de autor en el software al dominio público. Hacemos esta dedicación en beneficio del público en general y en detrimento de nuestros herederos y sucesores. Pretendemos que esta dedicación sea un acto manifiesto de renuncia a perpetuidad de todos los derechos presentes y futuros de este software bajo la ley de derechos de autor.

EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESO O IMPLÍCITO, INCLUYENDO PERO NO LIMITADO A LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INCUMPLIMIENTO. EN NINGÚN CASO, LOS AUTORES SERÁN RESPONSABLES POR CUALQUIER RECLAMACIÓN, DAÑOS U OTRAS RESPONSABILIDADES, YA SEA QUE HAYA DEBIDO A UNA ACCIÓN DE CONTRATO, TORTADA O DE OTRA MANERA, DERIVADA DE, FUERA DE O EN RELACIÓN CON EL SOFTWARE O EL USO O OTRAS VENTAS EN EL SOFTWARE.

Para más información, consulte * /

Paso 5: Probando el Proyecto

Ahora la parte divertida, ¡pruébala! El código se reproducirá a través de la cadena de código Morse y luego se detendrá durante varios segundos antes de volver a hacer el bucle. Juega con el código y el diseño del circuito. Intente agregar algunas luces adicionales en paralelo entre sí. También juegue con el código cambiando la variable "dotLen" para ajustar la longitud de los puntos y guiones (acelera / ralentiza el código morse). Cambia la variable "nota" para ajustar el tono de audio.

¡Déjame saber cómo funciona esto para ti y si tienes alguna mejora!

Chris Weatherford

4 personas hicieron este proyecto!

  • c_rand lo hizo!

  • Lintang_Wisesa lo hizo!

  • raulcorde lo hizo!

  • DwayneG lo hizo!

¿Hiciste este proyecto? ¡Compártelo con nosotros!

Recomendaciones

  • Mash Up Arduino Code Samples

  • Prototipo de ornitóptero de código abierto. Arduino accionado y control remoto.

  • Clase de internet de las cosas

  • Concurso de fandom

  • Concurso de ciencia en el aula

  • Concurso de Colores del Arcoiris

38 discusiones

0

dziubym

Pregunta hace 1 año en el paso 2

No tengo experiencia previa con Arduino, lo siento mucho si estoy haciendo preguntas tontas:

- ¿Qué adaptador de corriente necesita el arduino?

-¿El Arduino inicia la secuencia morse inmediatamente después de que se activa? ¿O tiene algún tipo de interruptor para encenderlo? Me gustaría construir la lámpara de código Morse que se apaga con, por ejemplo. Interruptor de luz

1 respuesta 0

TùngP13 dziubym

Respuesta hace 11 meses

El circuito de Arduino funciona bien con entrada de 5v dc para proyectos pequeños. Pero con el proyecto que necesita más energía para trabajar, generalmente uso 7-12 V CC, usualmente uso el adaptador de 9V.

Funcionará después de que hayas subido el código. Si no es así, significa que algo está mal con tu conexión o tu código.

0

YUSUF632

Pregunta hace 1 año en el paso 4

No puedo escribir el código completamente correcto

Por favor, envíenme un código claro sin ninguna palabra adicional o puntuación.

1 respuesta 0

Chris Weatherford YUSUF632

Respuesta hace 1 año

Aquí está el código original que escribí. Creo que puede haber algunos errores en los caracteres del código Morse, así que por favor revise estos. Si descarga esto, puede abrirlo en un editor de texto (o en la aplicación Arduino). Espero que esto ayude.

goo.gl/6mCSBr

0

Justinc257

hace 1 año

bonito proyecto!

0

JonG83

Hace 2 años

Funciona muy bien ahora, tuve que modificar el programa un poco sin embargo.

Se cambiaron los espacios de int = dotLen * 3 a int charPause = dotLen * 3;

Luego cambió la última línea de cada carácter desde LightsOff (elemPause);

a LightsOff (charPause);

Números agregados, puntuación y pro-signos. Se utilizaron dos LED de diferentes colores, azul y rojo, programa cambiado, de modo que el azul parpadea en los guiones y el rojo parpadea en los puntos

0

lo0ping84

Hace 4 años en Introducción

Hola, "D" es incorrecta, debería ser "punto de guión".

int Spaces = dotLen * 3 - dotLen;

// También es necesario agregar código extra en bucle.

if (i> 0 && i <sizeof (stringToMorseCode) - 1) {// elementPause

noTone (audio8);

retraso (dotLen);

}

1 respuesta 0

suade907 lo0ping84

Responder hace 2 años.

Noté que hay problemas con este código que no se detiene entre las letras también. Como S y H hay 0 pausas entre ellos. ¿Dónde colocaste tu declaración if? Sigo recibiendo errores sin importar dónde la coloco.

0

JimRD

Hace 2 años

Gracias chris Usé tu código en lo que pronto será un Instructable. Hiciste todo el trabajo pesado por mí y tuve tu código funcionando de inmediato.

0

Max12 máx.

Hace 2 años

Oye

0

Max12 máx.

Hace 2 años

Así que realmente puedo ver lo que estás haciendo

0

Max12 máx.

Hace 2 años

Tomar mejores fotos

0

Max12 máx.

Hace 2 años

Es muy difícil

0

Max12 máx.

Hace 2 años

Como lo haces

0

MrHenry1876.

Hace 2 años

/*

Proyecto Código Morse

Este código recorrerá una serie de caracteres y los convertirá en código morse.

Parpadeará dos luces LED y reproducirá audio en un altavoz.

*/

//***********************************************************************************//

// ENVIANDO SU TEXTO ABAJO UTILIZANDO ESPACIO PARA CADA PERSONAJE EN cadena A Código Morse //

//***********************************************************************************//

char stringToMorseCode = '' T Y E P E Y O U R T E X T H E R E! ! ! ";

// Crear variable para definir los pines de salida.

int led12 = 12; // parpadea un led en la salida 12

int led6 = 6; // parpadea un led en la salida 6

int audio8 = 8; // salida de audio en el pin 8

nota int = 900; // nota musical / tono

/*

Establece la velocidad de tu código morse

Ajusta la longitud de 'dotlen' para acelerar o ralentizar tu código morse

(todas las otras longitudes se basan en el dotlen)

Aquí están los elementos del código de relaciones:

Longitud del tablero = Longitud del punto x 3

Pausa entre elementos = Longitud del punto

(pausa entre puntos y guiones dentro del carácter)

Pausa entre caracteres = Longitud del punto x 3

Pausa entre palabras = Longitud de punto x 7

http: //www.nu-ware.com/NuCode%20Help/index.html? m …

*/

int dotLen = 100; // longitud del código morse 'punto'

int dashLen = dotLen * 3; // longitud del código Morse 'dash'

int elemPause = dotLen; // duración de la pausa entre elementos de un personaje

int Spaces = dotLen * 3; // longitud de los espacios entre caracteres

int wordPause = dotLen * 7; // duración de la pausa entre palabras

// la rutina de configuración se ejecuta una vez cuando presionas restablecer:

configuración vacía () {

// inicializa el pin digital como una salida para luces LED.

pinMode (led12, SALIDA);

pinMode (led6, SALIDA);

}

// Cree un bucle de las letras / palabras que desea generar en código morse (definido en la cadena en la parte superior del código)

bucle de vacío ()

{

// Recorra la cadena y obtenga cada carácter uno a la vez hasta que se llegue al final

para (int i = 0; i <sizeof (stringToMorseCode) - 1; i ++)

{

// Obtener el personaje en la posición actual

char tmpChar = stringToMorseCode i;

// Establecer el caso a minúsculas

tmpChar = toLowerCase (tmpChar);

// Llame a la subrutina para obtener el código morse equivalente para este carácter

GetChar (tmpChar);

}

// Al final de la cadena, haga una pausa larga antes de hacer un bucle y comenzar de nuevo

Luces apagadas (3000);

}

// DOT

vacío MorseDot ()

{

digitalWrite (led12, HIGH); // enciende el LED

digitalWrite (led6, ALTO);

tono (audio8, note, dotLen); // empieza a tocar un tono

retraso (dotLen); // mantener en esta posición

}

// DASH

vacío MorseDash ()

{

digitalWrite (led12, HIGH); // enciende el LED

digitalWrite (led6, ALTO);

tono (audio8, nota, dashLen); // empieza a tocar un tono

retraso (dashLen); // mantener en esta posición

}

// Apagar

void LightsOff (int delayTime)

{

digitalWrite (led12, LOW); // apaga el LED

digitalWrite (led6, LOW);

noTone (audio8); // deja de tocar un tono

delay (delayTime); // mantener en esta posición

}

// *** Conversión de caracteres a código Morse *** //

void GetChar (char tmpChar)

{

// Toma el carácter pasado y usa un caso de cambio para encontrar el código morse para ese carácter

interruptor (tmpChar) {

caso 'a':

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

descanso;

caso 'b':

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

caso 'c':

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

caso 'd':

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

caso 'e':

MorseDot ();

LightsOff (elemPause);

descanso;

caso 'f':

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

caso 'g':

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

caso 'h':

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

caso 'i':

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

caso 'j':

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

descanso;

caso 'k':

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

descanso;

caso 'l':

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

caso 'm':

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

descanso;

caso 'n':

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

caso 'o':

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

descanso;

caso 'p':

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

caso 'q':

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

descanso;

caso 'r':

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

casos':

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

caso 't':

MorseDash ();

LightsOff (elemPause);

descanso;

caso 'u':

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

descanso;

caso 'v':

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

descanso;

caso 'w':

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

descanso;

caso 'x':

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

descanso;

caso 'y':

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

descanso;

caso 'z':

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

caso '0':

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

descanso;

caso 1':

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

descanso;

caso '2':

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

descanso;

caso '3':

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

descanso;

caso '4':

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

descanso;

caso '5':

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

caso '6':

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

caso '7':

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

caso '8':

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

caso '9':

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

caso '.':

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

descanso;

caso ',':

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

descanso;

caso '?':

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

caso '!':

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

descanso;

caso '/':

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

caso '=':

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

descanso;

caso '+':

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

caso '-':

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

descanso;

caso '&':

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

caso '@':

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

MorseDash ();

LightsOff (elemPause);

MorseDot ();

LightsOff (elemPause);

descanso;

defecto:

// Si no se encontró un carácter coincidente, se establecerá un espacio en blanco

LightsOff (espacios);

}

}

/*

Software sin licencia:

Este es un software gratuito y sin compromiso publicado en el dominio público.

Cualquier persona es libre de copiar, modificar, publicar, usar, compilar, vender o

Distribuya este software, ya sea en forma de código fuente o como un compilado

binario, para cualquier propósito, comercial o no comercial, y por cualquier

medio.

En las jurisdicciones que reconocen las leyes de derechos de autor, el autor o autores

de este software dedican cualquier y todos los derechos de autor en el

Software para el dominio público. Hacemos esta dedicación para el beneficio.

del público en general y en detrimento de nuestros herederos y

sucesores Pretendemos que esta dedicación sea un acto manifiesto de

renuncia a perpetuidad de todos los derechos presentes y futuros de esta

software bajo la ley de derechos de autor.

EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADA A LAS GARANTÍAS DE

COMERCIABILIDAD, APTITUD PARA UN PROPÓSITO PARTICULAR Y NO INCUMPLIMIENTO.

EN NINGÚN CASO, LOS AUTORES SERÁN RESPONSABLES POR CUALQUIER RECLAMACIÓN, DAÑOS O

OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN DE CONTRATO, TORT u OTRA MANERA, DERIVADO DE, FUERA DE O EN RELACIÓN CON EL SOFTWARE O EL USO O

OTRAS REPARACIONES EN EL SOFTWARE.

Para más información, consulte

*/

0

rodrigonh

hace 3 años

No lo verifiqué todo, pero parece que el código para 'd' es incorrecto

0

iqah.jamil

hace 3 años

¿Puedo usar un altavoz USB para reemplazar el mini altavoz?

1 respuesta 0

Chris Weatherford iqah.jamil

Responder hace 3 años.

No conozco ninguna forma de ejecutar dispositivos USB desde un Arduino. Probablemente tendrías que usar un escudo que se adhiere al Arduino. Hice una búsqueda rápida en esto, pero no veo ninguna respuesta de inmediato. Dicho esto, probablemente puedas recrear este proyecto en una Raspberry Pi. La configuración sería diferente pero la idea general está ahí. El RPi puede aceptar dispositivos USB. ¡Buena suerte! Háganos saber cómo va todo.

0

dsrowe

Hace 3 años en Introducción

Ok Chris y la comunidad, Este es mi primer intento en Arduino y en la programación. Estoy recibiendo errores en el código (ver más abajo). Intenté cambiar / agregar tokens, pero eso no funcionó. Soy un novato y necesito ayuda. No entiendo su código de carga del paso 4 y cambio la cadena a código morse. Cortar y pegar desde un archivo de texto plano. Por favor explique en palabras más simples.

morse_code_052515a.ino: en la función 'void loop ()':

morse_code_052515a: 41: error: no se permite una definición de función aquí antes del token '{'

morse_code_052515a: 48: error: no se permite una definición de función aquí antes del token '{'

morse_code_052515a: 349: error: se esperaba '}' al final de la entrada

una función-definición no está permitida aquí antes del token '{'

Gracias por cualquier ayuda.

DR debe

0

Makedo

Hace 4 años en Introducción

Los boy scouts habían devuelto la insignia de mérito de señalización para su centenario. para aprender el código, simplemente use un taladro antiguo que usa todas las letras del alfabeto "el zorro marrón rápido salta sobre los perezosos perros atrás" traducido al código y simplemente practíquelo y memorícelo y lo tendrá en una semana aproximadamente. Tomé 10 niños de diferentes edades y habilidades en 1 mes para ganar la insignia. Convertir todo en código y volver a una computadora es fácil. hacerlo de verdad es satisfactorio. Incluso puede utilizar atajos para acelerar la comunicación, al igual que usar atajos de mensajes de texto.