Paso 4: Cargar el código
A continuación conectar el ordenador a la Arduino mediante el cable USB. Utilizando la carga de compilador de Arduino el siguiente código. Para modificar el código morse cadena solo tienes que cambiar el 'stringToMorseCode'. El código se lea esta cadena y convertir la cadena en código morse, visuales y de audio.
El código lee la cadena en una matriz y luego utilizando el GetChar función este convierte cada carácter en puntos y guiones. Actualmente esto es convertir a caracteres alfabéticos, pero usted puede agregar fácilmente otros caracteres (números, signos de puntuación), en este seleccione instrucción switch en la parte inferior del código.
http://www.nu-Ware.com/NuCode%20Help/index.html? m... * / int dotLen = 100; longitud de la código morse 'dot' int dashLen = dotLen * 3; longitud de la código morse 'dash' int elemPause = dotLen; duración de la pausa entre los elementos de un carácter int espacios = dotLen * 3; longitud de los espacios entre caracteres int wordPause = dotLen * 7; duración de la pausa entre las palabras / / la rutina de instalación se ejecuta una vez al presionar reset: void setup() {/ / inicializar el pin digital como una salida para luces de. pinMode (led12, salida); pinMode (led6, salida); } / / Crear bucles de las letras o palabras que desea la salida en código morse (definida en cadena en la parte superior del código) void loop() {/ / Loop a través de la cadena y consigue cada personaje uno a uno hasta el final se alcanza para (int i = 0; i < sizeof(stringToMorseCode) - 1; i ++) {/ / obtener el carácter de la actual posición char tmpChar = stringToMorseCode [i]; / ajustar el caso a la minúscula tmpChar = toLowerCase(tmpChar); / / llamar a la subrutina para obtener el código morse equivalente para Este carácter GetChar(tmpChar); } / / El final de la pausa larga de cadena antes de bucle y volver a empezar LightsOff(8000); } / / De punto nula MorseDot() {digitalWrite (led12, HIGH); / o apagar el LED digitalWrite (led6, alta), tono (audio8, nota, dotLen); / / empezar a jugar un tono delay(dotLen); / / en esta posición} / / DASH anular MorseDash() {digitalWrite (led12, HIGH); / o apagar el LED digitalWrite (led6, alta), tono (audio8, nota, dashLen); / / empezar a jugar un tono delay(dashLen); / / en esta posición} / / apagar void LightsOff(int delayTime) {digitalWrite (led12 BAJA); Gire el LED apagado digitalWrite (led6, LOW); noTone(audio8); deje de jugar un tono delay(delayTime); Mantenga en esta posición} / / *** caracteres a código Morse conversión *** / / anular GetChar (char tmpChar) {/ / tomar el carácter pasado y usar una caja de interruptor para encontrar el código morse para que el interruptor de carácter (tmpChar) {caso 'a': MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); rotura; caso 'b': MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); rotura; caso 'c': MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); rotura; caso sería ': MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); rotura; caso 'e': MorseDot(); LightsOff(elemPause); rotura; caso 'f': MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); rotura; caso 'g': MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); rotura; caso 'h': MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); rotura; caso 'i': MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); rotura; caso 'j': MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); rotura; caso 'k': MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); rotura; caso 'l': MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); rotura; caso soy ': MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); rotura; caso ' n ': MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); rotura; caso ' o ': MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); rotura; caso 'p': MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); rotura; caso 'q': MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); rotura; caso 'r': MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); rotura; de caso ': MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); rotura; caso ' t ': MorseDash(); LightsOff(elemPause); rotura; caso 'u': MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); rotura; caso 'v': MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); rotura; caso 'w': MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); rotura; caso 'x': MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); rotura; caso 'y': MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); rotura; caso 'z': MorseDash(); LightsOff(elemPause); MorseDash(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); MorseDot(); LightsOff(elemPause); rotura; default: / / Si un personaje que no se encuentra por defecto a un espacio en blanco LightsOff(Spaces); }} / * Software sin licencia: se trata de software libre y en el dominio público. Cualquiera es libre de copiar, modificar, publicar, utilizar, compilar, vender o distribuir este software, ya sea en forma de código fuente o como un archivo binario compilado, para cualquier propósito, comercial o no comercial y por cualquier medio. En jurisdicciones que reconocen las leyes de copyright, el autor o autores de este software dedican todo interés de derechos de autor en el software de dominio público. Hacemos esta dedicación para beneficio del público en general y en detrimento de nuestros herederos y sucesores. Tenemos la intención de esta dedicación a ser un acto manifiesto de renuncia a perpetuidad de todos los derechos presentes y futuros a este software bajo ley de copyright. EL SOFTWARE ES PROPORCIONADO "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A, LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES SERÁN RESPONSABLES DE CUALQUIER RECLAMACIÓN, DAÑO U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN DE RESPONSABILIDAD CONTRACTUAL, EXTRACONTRACTUAL O DE OTRO TIPO, QUE SE PRESENTA, SOBRE O EN RELACIÓN CON EL SOFTWARE O EL USO U OTRAS OPERACIONES EN EL SOFTWARE. Para obtener más información, consulte * /