Aqui os dejo el video y seguido el codigo fuente para el arduino espero que os guste =)
/* Arduino Serial Morse Este programa permite convertir texto a codigo morse mediante arduino y la entrada serie El circuito: * Solo es necesario conectar el positivo de un buzzer al pin 13 y el negativo a ground Por D4rkh0s7 - Taller NT http://tallernt.blogspot.com */ // PIN del arduino al que se conectara el positivo // del altavoz #define PIN 13 // Tono del sonido en HZ #define FREQ 800 // Tiempo en milisegundos que durara el punto y // la raya sera el este valor multiplicado por 3 #define TIME 50 // Tiempo en milisegundos entre letra y letra #define TIMELETRA 100 // Tiempo en milisegundos entre palabra y palabra #define TIMEPALABRA 400 void setup() { //Inicializamos el puerto serie Serial.begin(9600); } void loop() { //Si detecta que se introduce algun caracter... if(Serial.available()>0) { char c=Serial.read(); Serial.println(c); switch(c) { case 'a': alfa(); break; case 'b': bravo(); break; case 'c': charlie(); break; case 'd': delta(); break; case 'e': echo(); break; case 'f': foxtrot(); break; case 'g': golf(); break; case 'h': hotel(); break; case 'i': india(); break; case 'j': juliet(); break; case 'k': kilo(); break; case 'l': lima(); break; case 'm': mike(); break; case 'n': november(); break; case 'o': oscar(); break; case 'p': papa(); break; case 'q': quebec(); break; case 'r': romeo(); break; case 's': sierra(); break; case 't': tango(); break; case 'u': uniform(); break; case 'v': victor(); break; case 'w': whiskey(); break; case 'x': xenon(); break; case 'y': yankee(); break; case 'z': zulu(); break; case ' ': delay(TIMEPALABRA); break; default: break; } } } ///////// Punto y raya //////////// void punto() { // Emite un tono por el pin definido y // a la frecuencia definida antes tone(PIN,FREQ); // Tiempo de espera definido antes delay(TIME); // Detener el tono noTone(PIN); // Tiempo de espera delay(TIME); } void raya() { tone(PIN,FREQ); delay(TIME*3); noTone(PIN); delay(TIME); } ///////////// LETRAS //////////// // A void alfa() { punto(); raya(); delay(TIMELETRA); } // B void bravo() { raya(); punto(); punto(); punto(); delay(TIMELETRA); } // C void charlie() { raya(); punto(); raya(); punto(); delay(TIMELETRA); } // D void delta() { raya(); punto(); punto(); delay(TIMELETRA); } // E void echo() { punto(); delay(TIMELETRA); } // F void foxtrot() { punto(); punto(); raya(); punto(); delay(TIMELETRA); } // G void golf() { raya(); raya(); punto(); delay(TIMELETRA); } // H void hotel() { punto(); punto(); punto(); punto(); delay(TIMELETRA); } // I void india() { punto(); punto(); delay(TIMELETRA); } // J void juliet() { punto(); raya(); raya(); raya(); delay(TIMELETRA); } // K void kilo() { raya(); punto(); raya(); delay(TIMELETRA); } // L void lima() { punto(); raya(); punto(); punto(); delay(TIMELETRA); } // M void mike() { raya(); raya(); delay(TIMELETRA); } // N void november() { raya(); punto(); delay(TIMELETRA); } // O void oscar() { raya(); raya(); raya(); delay(TIMELETRA); } // P void papa() { punto(); raya(); raya(); punto(); delay(TIMELETRA); } // Q void quebec() { raya(); raya(); punto(); raya(); delay(TIMELETRA); } // R void romeo() { punto(); raya(); punto(); delay(TIMELETRA); } // S void sierra() { punto(); punto(); punto(); delay(TIMELETRA); } // T void tango() { raya(); delay(TIMELETRA); } // U void uniform() { punto(); punto(); raya(); delay(TIMELETRA); } // V void victor() { punto(); punto(); punto(); raya(); delay(TIMELETRA); } // W void whiskey() { punto(); raya(); raya(); delay(TIMELETRA); } // X void xenon() { raya(); punto(); punto(); raya(); delay(TIMELETRA); } // Y void yankee() { raya(); punto(); raya(); raya(); delay(TIMELETRA); } // Z void zulu() { raya(); raya(); punto(); punto(); delay(TIMELETRA); }