Transmisor de código Morse Arduino: 11 pasos

Transmisor de código Morse Arduino: 11 pasos

Tabla de contenido:

Anonim

En este instructivo, usarás un Arduino Uno para crear un transmisor de código Morse, y usarás el monitor de serie para leer los mensajes que has transmitido.

Piezas que necesitarás:

Arduino Uno

Tablero de circuitos

Zumbador

Botones

Cables de puente

Suministros:

Paso 1: Proporcionar energía a tu Breadboard

Conecte un cable de puente desde el pin de 5 V de su Arduino Uno a la línea positiva de su tablero de pruebas.

Paso 2: Pise su Breadboard

Ahora conecte un cable de cualquiera de los pines GND en el Arduino a la línea negativa en su tablero.

Paso 3: Inserte su botón

Inserte su botón. Asegúrese de que dos de sus patas estén a cada lado del canal en el centro de su placa de pruebas, y las patas estén firmemente insertadas. Es fácil doblarlos cuando presiona con fuerza, así que tenga cuidado al presionar el botón.

Paso 4: Conecte a tierra su botón

Conecte el botón a tierra insertando un extremo en la misma fila que la parte superior de su botón, y el otro extremo en la fila negativa que conectó previamente a tierra.

Paso 5: conecta tu botón

Cierre el circuito de botones y permita que Arduino lea su entrada conectando un cable de la misma fila que la pata del botón inferior, y el pin 7 en el Arduino.

Paso 6: Inserte su zumbador

Inserte su zumbador de modo que el signo "+" en la parte superior, o la pata ligeramente más larga, estén en el mismo lado de la placa de pruebas que su cable conectado a 5V.

Paso 7: Conecte el zumbador a tierra

Conecte el botón a tierra con un cable de la misma fila que su tramo más corto a la línea negativa en el tablero que previamente conectó a GND.

Paso 8: Encienda el zumbador

Proporcione alimentación al zumbador y permita que el Arduino lo controle con un cable de la misma fila que su pata más larga al pin 8 en el Arduino.

Paso 9: Escribe tu código

Copie y pegue nuestro código, o descargue el archivo adjunto.

estática String Morse = {".-", "-…", "-.-.", "-..", ".", "..-.", "-.", " …. ",".. ",".--- "," -.- ",".-.. "," - "," -. "," --- ",".- -. "," --.- ",".-. "," … "," - ","..- "," …- ",".-- "," -.. - "," -.-- "," -.. "," E "};

alfabeto de caracteres estáticos = {'a', 'b', 'c', 'd', 'e', ​​'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', ' x ',' y ',' z ',' E '}; largo sin signo push_length, start_push, end_push; // tiempo para el cual se presiona el botón int botón = 7; // pin de entrada para el pulsador int buzzer = 8; // outpu pin for LED String code = ""; // cadena en la que se almacena un alfabeto

void setup () {Serial.begin (9600); pinMode (botón, INPUT_PULLUP); // la resistencia pullup interna se usa para simplificar el circuito PinMode (zumbador, SALIDA); Serial.println ("¡Comience su mensaje!"); }

void loop () {MorseTransmission: while (digitalRead (button) == HIGH) {} start_push = millis (); // tiempo al presionar el botón (buzzer, 150); while (digitalRead (botón) == LOW) {} end_push = millis (); // tiempo en el botón de liberación noTone (zumbador); push_length = end_push - start_push; // tiempo para el que se presiona el botón if (push_length> 50) {// para tener en cuenta el código de rebote del interruptor + = dot_or_dash (push_length); // función para leer puntos o guiones} while ((millis () - end_push) <500) // si el tiempo entre los botones presiona más de 0.5 seg, salta el bucle y ve al siguiente alfabeto {if (digitalRead (button) == LOW) {goto MorseTransmission; }} Morse_translation (código); // función para descifrar código en alfabeto}

char dot_or_dash (longitud flotante) {si (longitud <600 & & longitud> 50) {return '.'; // si el botón presiona menos de 0.6 seg, es un punto} else if (length> 600) {return '-'; // si el botón presiona más de 0.6 seg, es un guión}}

void Morse_translation (String Morsecode) {int i = 0; if (código == ".-.-.-") {Serial.print ("."); // for break} else {while (Morse i! = "E") // loop para comparar el código de entrada con la matriz de letras {if (Morse i == código de servidor) {Serial.print (Alphabet i); descanso; } i ++; } if (Morse i == "E") {Serial.println ("¡Error!"); // si el código de entrada no coincide con ninguna letra, error}} código = ""; // restablecer código a cadena en blanco}

Paso 10: ¡Usa el monitor en serie para leer tu salida!

Abra el monitor de serie para ver sus mensajes mientras presiona el botón para crear el Código Morse. ¡Utilice la guía de arriba para secuenciar sus puntos y guiones apropiadamente!

Paso 11: ¿Quieres más proyectos como este?

¡Obtenga piezas para 2-3 proyectos por mes e instrucciones y video para construirlos con MakeCrate!