Este seria el típico Blink de Arduino que lo único que hace es hacer parpadear el led de la placa cada 1 segundo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
using System.Threading; using Microsoft.SPOT.Hardware; using SecretLabs.NETMF.Hardware.Netduino; namespace com.giltesa.netduino.ejemplos { public class Blink { public static void Main() { // Instancia un pin de salida, concretamente el del Led de la placa con estado por defecto de false/apagado. OutputPort led = new OutputPort(Pins.ONBOARD_LED, false); // Bucle infinito (igual que la función loop en Arduino): while (true) { led.Write(!led.Read()); // Cambia el estado del pin al estado contrario. Thread.Sleep(1000); // Hace una pausa de un segundo. } } } } |
Y este algo mas complejo que muestra un mensaje en Morse con ayuda del led:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
/* Info: Morse en NetDuino 2 Wiki: http://es.wikipedia.org/wiki/Código_morse Vail creó un método según el cual cada letra o número era transmitido de forma individual con un código consistente en rayas y puntos, es decir, señales telegráficas que se diferencian en el tiempo de duración de la señal activa. La duración del punto es la mínima posible. Una raya tiene una duración de aproximadamente tres veces la del punto. Entre cada par de símbolos de una misma letra existe una ausencia de señal con duración aproximada a la de un punto. Entre las letras de una misma palabra, la ausencia es de aproximadamente tres puntos. Para la separación de palabras transmitidas el tiempo es de aproximadamente tres veces el de la raya. */ using System.Threading; using Microsoft.SPOT.Hardware; using SecretLabs.NETMF.Hardware.Netduino; namespace com.giltesa.netduino.ejemplos { public class Morse { private const int corto = 150; private const int largo = 450; private const int pausaLetra = 150; private const int pausaPalabra = 1350; private const int espacio = 450; private const int fin = 2000; private const string codigoMorse = ".... --- .-.. .- -. . - -.. ..- .. -. ---"; private static OutputPort led = new OutputPort(Pins.ONBOARD_LED,false); /** * */ public static void Main() { while(true) { Thread.Sleep(fin); morse( led, codigoMorse ); Thread.Sleep(fin); } } /** * */ private static void morse( OutputPort led , string mensaje ) { for( int i=0 ; i < mensaje.Length ; i++ ) { switch(mensaje[i]) { case '.': led.Write(true); Thread.Sleep(corto); led.Write(false); Thread.Sleep(pausaLetra); break; case '-': led.Write(true); Thread.Sleep(largo); led.Write(false); Thread.Sleep(pausaLetra); break; case ' ': if (mensaje[i + 1] == ' ' && mensaje[i + 2] == ' ') { Thread.Sleep(pausaPalabra); i = i+3; } else Thread.Sleep(espacio); break; } } } } } |