Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.

N2MOH

Member Since 30 Sep 2010
Offline Last Active Oct 01 2010 01:21 PM
-----

Topics I've Started

Simple Blinking LED Morse Code

30 September 2010 - 12:50 PM

Here is a short sample program that sends morse code by blinking the onboard LED
using System;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.Netduino;

namespace NetduinoApplication1 {
	public class Program {
		public static void Main() {
			// write your code here
			OutputPort led = new OutputPort(Pins.ONBOARD_LED, false);
			sayhello sho = new sayhello();

			while (true) {
				sho.dosayhello(led);
				
			}

		}
	}

	public class sayhello {
		private const int dittime = 100;
		private const int dahtime = dittime*3;
		private const int intersymtime = dittime * 1;
		private const int interchartime = dittime * 5;
		private const int interwordtime = dittime * 10;

		public void dosayhello(OutputPort led) {
			doWord(led, "HELLO");
			doWord(led, "from");
			doWord(led, "Greg");
		}
		public void doWord(OutputPort led, string ss) {
			ss = ss.ToLower();

			foreach (char cc in ss) {
				switch (cc) {
					case 'a': a(led); break;
					case 'b': b(led); break;
					case 'c': c(led); break;
					case 'd': d(led); break;
					case 'e': e(led); break;
					case 'f': f(led); break;
					case 'g': g(led); break;
					case 'h': h(led); break;
					case 'i': i(led); break;
					case 'j': j(led); break;
					case 'k': k(led); break;
					case 'l': l(led); break;
					case 'm': m(led); break;
					case 'n': n(led); break;
					case 'o': o(led); break;
					case 'p': p(led); break;
					case 'q': q(led); break;
					case 'r': r(led); break;
					case 's': s(led); break;
					case 't': t(led); break;
					case 'u': u(led); break;
					case 'v': v(led); break;
					case 'w': w(led); break;
					case 'x': x(led); break;
					case 'y': y(led); break;
					case 'z': z(led); break;
					case ' ': Thread.Sleep(interwordtime); break;
				}
			}
			Thread.Sleep(interwordtime);
		}

		private void a(OutputPort led) {
			dit(led);
			dah(led);
			Thread.Sleep(interchartime);
		}
		private void b(OutputPort led) {
			dah(led);
			dit(led);
			dit(led);
			dit(led);
			Thread.Sleep(interchartime);
		}
		private void c(OutputPort led) {
			dah(led);
			dit(led);
			dah(led);
			dit(led);
			Thread.Sleep(interchartime);
		}
		private void d(OutputPort led) {
			dah(led);
			dit(led);
			dit(led);

			Thread.Sleep(interchartime);
		}

		private void e(OutputPort led) {
			dit(led);
			Thread.Sleep(interchartime);
		}
		private void f(OutputPort led) {
			dit(led); dit(led); dah(led); dit(led);
			Thread.Sleep(interchartime);
		}
		private void g(OutputPort led) {
			dah(led); dah(led); dit(led);
			Thread.Sleep(interchartime);
		}
		private void h(OutputPort led) {
			dit(led);
			dit(led);
			dit(led);
			dit(led);
			Thread.Sleep(interchartime);
		}
		private void i(OutputPort led) {
			dit(led);
			dit(led);
			Thread.Sleep(interchartime);
		}
		private void j(OutputPort led) {
			dit(led); dah(led); dah(led); dah(led);
			Thread.Sleep(interchartime);
		}
		private void k(OutputPort led) {
			dah(led); dit(led); dah(led);
			Thread.Sleep(interchartime);
		}
		private void l(OutputPort led) {
			dit(led);
			dah(led);
			dit(led);
			dit(led);
			Thread.Sleep(interchartime);
		}
		private void m(OutputPort led) {
			dah(led);
			dah(led);
			Thread.Sleep(interchartime);
		}
		private void n(OutputPort led) {
			dah(led);
			dit(led);
			Thread.Sleep(interchartime);
		}
		private void o(OutputPort led) {
			dah(led); dah(led); dah(led);
			Thread.Sleep(interchartime);
		}
		private void p(OutputPort led) {
			dah(led); dah(led); dah(led); dah(led);
			Thread.Sleep(interchartime);
		}
		private void q(OutputPort led) {
			dah(led); dah(led); dit(led); dah(led);
			Thread.Sleep(interchartime);
		}
		private void r(OutputPort led) {
			dit(led); dah(led); dit(led);
			Thread.Sleep(interchartime);
		}
		private void s(OutputPort led) {
			dit(led); dit(led); dit(led);
			Thread.Sleep(interchartime);
		}
		private void t(OutputPort led) {
			dah(led); Thread.Sleep(interchartime);
		}
		private void u(OutputPort led) {
			dit(led); dit(led); dah(led);
			Thread.Sleep(interchartime);
		}
		private void v(OutputPort led) {
			dit(led); dit(led); dit(led); dah(led);
			Thread.Sleep(interchartime);
		}
		private void w(OutputPort led) {
			dit(led); dah(led); dah(led);
			Thread.Sleep(interchartime);
		}
		private void x(OutputPort led) {
			dah(led); dit(led); dit(led); dah(led);
			Thread.Sleep(interchartime);
		}
		private void y(OutputPort led) {
			dah(led); dit(led); dah(led); dah(led);
			Thread.Sleep(interchartime);
		}
		private void z(OutputPort led) {
			dah(led); dah(led); dit(led); dit(led);
			Thread.Sleep(interchartime);
		}
		private void dit(OutputPort led) {
			led.Write(true);
			Thread.Sleep(dittime);
			led.Write(false);
			Thread.Sleep(intersymtime);
		}
		private void dah(OutputPort led) {
			led.Write(true);
			Thread.Sleep(dahtime);
			led.Write(false);
			Thread.Sleep(intersymtime);
		}
	}
}

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.