Archive for the 'Netduino' Category

Happy Belated New year!

Well this is my official first post of the year, better late than never!

A lot has happened since my last posting including the successful defence of my thesis in last December, a massive New Years Eve bash followed by the birth of my second grandchild in January, the realisation that I could not be bothered to buy a Kinect for Windows (Yet) in February and seeing Rammstien (check out the vid) live for the first time last week :)

As far as this blog goes however the major event of which you will probably be most interested (judging from page stats) is a shift in technology focus from that of Netduino and the .NetMicroframework to that of Arduino and C/C++.

Initially driven by the development of project Leonard and a desire to learn both C and C++ in readiness for the advent of Metro (just in case lol) I quickly fell in love with Arduino and have not looked back.

The transition over to the platform has enabled me to finally realise many personal projects that have in reality been hampered by the immaturity and limitations of the Netduino platform. Gone are factors such as limited access to USB/HID, lack of software serial, shield and related technology compatibility to name but a few.

In addition to the Arduino transition I have also made a real push into Windows Phone development. From now on the .Net aspects of this site will primarily reflect this new interest in conjunction with tablet based NUI development. However this may change with the advent of updates to the .Net Micro framework and or investigation of Fez hardware (just like dad lol).

These shifts in focus have got me thinking about how I would like to further develop this website and my personal profile. The first step on this new and exciting path is a revamp of the look and feel of dyadica.co.uk , I hope you like it :)

Xbee Explorer Regulated – Netduino

A very quick example demonstrating the use of the Xbee Explorer Regulated Board as an alternative to the ArduinoXbeeShield for serial communication.

The wiring is as follows:

Continue reading ‘Xbee Explorer Regulated – Netduino’

Sheldon 2.0 – Bumper and Headstock

Happily I managed to get quite a lot done on the Sheldon 2.0 upgrade this weekend. Primary focus was that cleaning up the wiring and putting together the bumper, however I also managed to put the headstock together too. Check out the following pics.

As you can see the new bumper has been fully completed and now features a sharp distance sensor and fog lights in addition to the original micro-switch triggers.

Continue reading ‘Sheldon 2.0 – Bumper and Headstock’

RIP Sheldon 1.0 – Hello Sheldon 2.0

Today is a sad day, poor little Sheldon the wonderbot 1.0 is no more. Due to a design floor several of his wires came loose whilst traversing the kitchen step and the rest as thy say is history :(

However now that even Humpty Dumpty can be put back together again I am filled with optimism and am looking at this sad event as an opportunity for an upgrade :)

Continue reading ‘RIP Sheldon 1.0 – Hello Sheldon 2.0′

Arduino Xbee Shield mod for Netduino

Update: For an alternative method check out the following post: http://www.dyadica.net/journal/xbee-explorer-regulated-netduino

This is a very quick post detailing how I modded my netduino to be compatible with the arduino xbee shield. I utilize this shield in conjunction with a Sparkfun Xbee Explorer USB to provide wireless serial communication between netduino and PC. To find out more about that check out my SerialPortHelper to WinForm post.

The following image shows the completed mod in action.

The good news is that there is not much to this one, however some might find the thought off using a soldering iron on there netduino a bit scary. If this is you then there are always other options.

Continue reading ‘Arduino Xbee Shield mod for Netduino’

How to pair two XBee Radios

Recently a resulting factor of a new hobby project was the need to revisit the pairing of Xbee radios. The last time I had to undertake such a task was ages ago and due to my existing set of Xbee’s becoming a permanent fixture within my robot “Sheldon” I had not kept up on all things Xbee and for the life of me could not remember how.

Luckily I managed to re-track down a great YouTube video produced by xbeeadapters that I originally used to complete the task. The following list is a summary of all the steps needed to pair your Xbees as taken from the video. Continue reading ‘How to pair two XBee Radios’

Netduino SerialPortHelper to WinForm and XNA

A few weeks ago, I was contacted via YouTube in reference to the Netduino Serial Communication example I posted a while back. In my reply I promised that I would make a posting detailing how I have since updated the system. Before we start, check out the following video to see the current system in action:

A while back I decided to adopt the methods as described by Hari over at the netduino forums to facilitate ReadLine functionality. The rationale for this was that by utilizing Hari’s code we no longer have to detail the length data being sent, thus simplifying the code greatly.
Continue reading ‘Netduino SerialPortHelper to WinForm and XNA’

NetduinoPlus SD Card Example

I was contacted the other day with a request for some help with code needed for use of the NetduinoPlus SD Card.

So by way of response here we have a quick example, enjoy:

using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.IO;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.NetduinoPlus;

namespace NetduinoSDOne
{
    public class Program
    {
        public static void Main()
        {
            string[] fs = VolumeInfo.GetFileSystems();
            VolumeInfo[] vols = VolumeInfo.GetVolumes();
            int i = 0;

            Debug.Print("Volume Count: " + vols.Length.ToString());

            foreach (VolumeInfo vi in vols)
            {
                Debug.Print("Root Directory: " + vi.RootDirectory.ToString());
                Debug.Print("Total Volume: " + vi.TotalSize.ToString());
                Debug.Print("Free Space: " + vi.TotalFreeSpace.ToString());
                Debug.Print("Formatted: " + vi.IsFormatted.ToString());
                Debug.Print("Volume ID: " + vi.VolumeID.ToString());
            }

            OutputPort SdPower = new OutputPort((Cpu.Pin)25, false); // ensure that the SD card is powered
            InputPort sdDetected = new InputPort((Cpu.Pin)57, false, Port.ResistorMode.PullUp);

            Debug.Print("SD Detected: " + (!sdDetected.Read()).ToString());
            sdDetected.Dispose();

            while (true)
            {
                Debug.Print("n");
                Debug.Print("Loop " + i.ToString());
                Debug.Print("n");

                string[] dirs = Directory.GetDirectories(@"SD");

                foreach (string s in dirs)
                {
                    Debug.Print(s);
                }

                switch (i)
                {
                    case 0:

                        #region Create Directory

                        try
                        {
                            Directory.SetCurrentDirectory(@"SD");
                            Directory.CreateDirectory("Netduino");
                        }
                        catch (Exception ex)
                        {
                            Debug.Print("Error: " + ex.Message.ToString());
                        }

                        i = 1; 

                        #endregion Create Directory

                        break;                        

                    case 1:

                        #region Delete Directory

                        try
                        {
                            if (Directory.Exists("Netduino"))
                            {
                                Debug.Print("n");
                                Debug.Print("Netduino Directory Found");
                                Directory.Delete("Netduino");
                            }
                        }
                        catch (Exception ex)
                        {
                            Debug.Print("Error: " + ex.Message.ToString());
                        }

                        i = 0;

                        #endregion Delete Directory

                        break;
                }

                Thread.Sleep(5000);
            }
        }
    }
}

Fritzing – From prototype to product

I have just discovered this wonderful application for circuit-board development via a posting over at Szymon Kobalczyk’s Blog.  Fritzing is a program that lets you convert your breadboard prototypes into a physical PCB. For more information check out the following video:

The official spiel goes like this:

Fritzing is an open-source initiative to support designers, artists, researchers and hobbyists to work creatively with interactive electronics. We are creating a software and website in the spirit of Processing and Arduino, developing a tool that allows users to document their prototypes, share them with others, teach electronics in a classroom, and to create a pcb layout for professional manufacturing.

In brief, you simply put all the components in the breadboard view exactly the same as you would do on your physical prototype. Fritzing will then compute your circuit board for you :) As a bonus CW2 over at the netduino forums has created a custom netduino part for the application so as far as I’m concerned this ones a real winner.

Netduino Mini

Secret Labs Chris Walker announced the third member of the Netduino family last week via a Hanselminutes podcast. This is great news for me as it fits the bill perfectly for several projects.

Its mad, I’m more excited about this than Microsoft Kinect, who would have thought.

Continue reading ‘Netduino Mini’