First N3 Machine

Hello!
During the entire time I’ve spent working both members of the Netduino family I would be building devices to talk to them… I used these:The original Version One design, and the equally capable Version Three design were used to,ah, manage logic puzzles. That of using running routines on them to trigger events on connected logic. These logic parts consisted of previously programmed PAL16L8 or PAL16R4 or related in that family series of parts, and appropriate logic gates. The simplest used a a PAL16L8 and an SN7437 to respond to a previously developed and working program.
Consider this program:

using System;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.Netduino;

namespace palout1
{
    public class Program
    {
        public static void Main()
        {
            // write your code here
            OutputPort i0 = new OutputPort(Pins.GPIO_PIN_D2, false);
            OutputPort i1 = new OutputPort(Pins.GPIO_PIN_D3, false);
            OutputPort i2 = new OutputPort(Pins.GPIO_PIN_D4, false);
         //   OutputPort i3 = new OutputPort(Pins.GPIO_PIN_D5, false);
         //   OutputPort i4 = new OutputPort(Pins.GPIO_PIN_D6, false);
         //   OutputPort i5 = new OutputPort(Pins.GPIO_PIN_D7, false);
         //   OutputPort i6 = new OutputPort(Pins.GPIO_PIN_D8, false);
         //   OutputPort i7 = new OutputPort(Pins.GPIO_PIN_D9, false);
         //   OutputPort i8 = new OutputPort(Pins.GPIO_PIN_D10, false);
         //   OutputPort i9 = new OutputPort(Pins.GPIO_PIN_D11, false);
         //   OutputPort i10 = new OutputPort(Pins.GPIO_PIN_D12, false);
         //   OutputPort i11 = new OutputPort(Pins.GPIO_PIN_D13, false);
            while (true)
            {
                Thread.Sleep(250);
                i0.Write(false);
                i1.Write(false);
                i2.Write(false);
           //     i3.Write(false);
           //     i4.Write(false);
           //     i5.Write(false);
           //     i6.Write(false);
           //     i7.Write(false);
           //     i8.Write(false);
           //     i9.Write(false);
           //     i10.Write(false);
           //     i11.Write(false);
          //      Thread.Sleep(250);
                i0.Write(false);
                i1.Write(true);
                i2.Write(true);
           //     i3.Write(true);
           //     i4.Write(true);
           //     i5.Write(false);
           //     i6.Write(false);
           //     i7.Write(false);
           //     i8.Write(false);
           //     i9.Write(false);
           //     i10.Write(false);
           //     i11.Write(false);
          //      Thread.Sleep(250);
                i0.Write(true);
                i1.Write(true);
                i2.Write(true);
           //     i3.Write(true);
           //     i4.Write(false);
           //     i5.Write(false);
           //     i6.Write(false);
           //     i7.Write(false);
            //    i8.Write(false);
            //    i9.Write(false);
            //    i10.Write(false);
            //    i11.Write(false);
                Thread.Sleep(250);
                i0.Write(false);
                i1.Write(false);
                i2.Write(true);
           //     i3.Write(false);
           //     i4.Write(false);
           //     i5.Write(false);
           //     i6.Write(false);
            //    i7.Write(false);
            //    i8.Write(false);
            //    i9.Write(false);
            //    i10.Write(true);
            //    i11.Write(true);
          //      Thread.Sleep(250);
                i0.Write(false);
                i1.Write(false);
                i2.Write(false);
           //     i3.Write(false);
           //     i4.Write(true);
           //     i5.Write(false);
           //     i6.Write(false);
            //    i7.Write(false);
            //    i8.Write(false);
            //    i9.Write(false);
            //    i10.Write(true);
            //    i11.Write(true);
          //      Thread.Sleep(250);
                i0.Write(false);
                i1.Write(false);
                i2.Write(false);
           //     i3.Write(false);
           //     i4.Write(false);
           //     i5.Write(true);
           //     i6.Write(false);
            //    i7.Write(false);
            //    i8.Write(false);
            //    i9.Write(false);
            //    i10.Write(true);
            //    i11.Write(true);
         //       Thread.Sleep(250);
                i0.Write(false);
                i1.Write(false);
                i2.Write(false);
           //     i3.Write(false);
           //     i4.Write(false);
          //      i5.Write(false);
          //      i6.Write(true);
            //    i7.Write(false);
            //    i8.Write(false);
            //    i9.Write(false);
            //    i10.Write(true);
            //    i11.Write(true);
                Thread.Sleep(250);
                i0.Write(true);
                i1.Write(false);
                i2.Write(false);
            //    i3.Write(false);
            //    i4.Write(false);
            //    i5.Write(false);
            //    i6.Write(false);
            //    i7.Write(true);
            //    i8.Write(false);
            //    i9.Write(false);
            //    i10.Write(true);
            //    i11.Write(true);
        //        Thread.Sleep(250);
                i0.Write(true);
                i1.Write(false);
                i2.Write(false);
              //  i3.Write(false);
              //  i4.Write(false);
              //  i5.Write(false);
              //  i6.Write(false);
            //    i7.Write(false);
            //    i8.Write(false);
            //    i9.Write(false);
            //    i10.Write(false);
            //    i11.Write(true);
                Thread.Sleep(250);
            }
        }
    }
}

When run on a connected N3 it would cause the three GPIO connections indicated to toggle. And in that case the connected parts would respond. I have a photo of one such.

I had thought of describing everything here, and including the code, but didn’t know the image drag and drop would work. That there is the working contraption. The N3 is below an Arduino Board of Ed shield from Parallax, and on top of that is a prototype shield from Makershed. The logic described is connected to the N3 exactly as on the original breadboard . Next step is to connect a Parallax Basic Stamp to enable processing of the data and to display it using a variety of methods.

Group:
This is now a closed topic. I’ll entertain witty repartee on the idea in a new one, as applies to the code and the attached devices. But not the ideas. I realized after the built the N3 side is that every time I ran the BS2 side of the problem I would be getting preposterous results. The display would fill up with typical ASCII characters and tell me nothing and to find out what I would definitely want to know later would take more involved programming and even require something else to analyze it. Probably also on an N3, but the programming for it is evading me.