Introducing new community member (myself that is)

I would like to take the opportunity and introduce myself to the community. I’m a happy owner of a G120E dev board and just like everyone else in the community, I have tons of ideas I would love to implement. My name is Stylianos and I am based in Athens, Greece. I’m a Control & Systems engineer with extensive experience in power plants having executed numerous projects in Greece, Ireland and USA. I’m posting below a youtube video showcasing my early experimentation with NetMF. I hope you enjoy it!

[url]Booting GHI Electronics G120E Board, Polytronic Robotics Hellas - YouTube :wink:

10 Likes

Welcome to the community and we look forward to seeing your inventions :slight_smile:

Nice job ! Welcome to the community !

If this is a spam bot, then its the most awesome spam bot ever. I would love to see that code.

if not

Welcome to the forum polytronic!

Welcome to the community.

In addition to linking, you can also embed videos using the video tag…look for the camera icon in the editor toolbar. Just stick the video URL between the tags, like so:

https://www.youtube.com/watch?v=F1OeJnmKZEc

1 Like

Wow, pretty slick video, welcome.

Love the background song!

I want to thank all of you for the warm welcome and the work and effort you are putting into these products.

@ Mr John Smith: no I ain’t no spam bot :smiley: Just a humble engineer!

@ devhammer: thanks for the tip! Now I need to learn how to respond to specific members instead of using @ notation!

@ Gary: thank you, the song is called ‘Move on up’ by Curtis Mayfield

@ polytronic - Use the button in the image but it only adds the "@ " for you.

@ polytronic - Good to know. Is that the Easy Stepper Driver in your video? How many have you blown one thus far?

@ Mr. John Smith - Yes it is. My blown IC count so far is zero! Lol, I witnessed my father blowing too many capacitors and ICs over the years that I learned his lesson ;D

1 Like

@ polytronic - Nicely done - welcome :slight_smile:

@ polytronic - No, I mean the Easy Stepper Driver has a tenancy to get damaged easily.

@ polytronic - Welcome to the community!

Nice demo. I am curious to what the OLED display is on the bottom right of the video. Is it this?

I’d love to have a voltage monitor where I can see the voltage and current and a live trace line to watch for any dips in the power input.

@ Mr. John Smith - Yes, I’ve seen a few posts on forums regarding their reliability. I have been using them for about a year now without any problems so far. The truth is that I’ve been using G120E/Arduino Uno 5V output to supply them. The temperature of their ICs looks normal (not overheating) so far. I’ll let you know if they fail.

@ Dave McLaughlin - Yes, it is the Xminilab indeed. They come with a software oscilloscope (via USB) that looks pretty descent so far. Do you mean a software voltage/current monitor or a hardware one?

1 Like

@ polytronic - really great Video! I’d like to know a liitle bit more about your USB-Camera sample. Which USB-Camera did you use? Can you give some hints at the code?

@ RoSchmi - Certainly, I’m posting below the camera class. It’s based on GHI.Usb.Host.Webcam object.


    using System;
    using System.Threading;
    using GHI.Usb.Host;
    using Microsoft.SPOT;

    public class UsbCamera
    {
        private Bitmap lcd;

        private Webcam                  webCamera;
        private Webcam.ImageFormat[]    imageFormats;
        private Webcam.ImageFormat      usedFormat;

        private Thread videoThread;

        private int selectedformatindex = 0;

        public UsbCamera(int width, int height, Webcam dev)
        {
            lcd = new Bitmap(width, height);

            webCamera = dev;

            webCamera.Disconnected += OnDisconnected;

        }

        private void OnDisconnected(BaseDevice sender, EventArgs eventArgs)
        {
            webCamera.StopStreaming();
            videoThread.Abort();
            Running = false;
        }

        public void Start()
        {
            if (Running) return;
            if (null != webCamera)
            {
                imageFormats = webCamera.SupportedFormats;
                if (imageFormats.Length > 0)
                {
                    usedFormat = imageFormats[selectedformatindex];
                    webCamera.StartStreaming(usedFormat);

                    Running = true;
                    // run a thread to display the video
                    videoThread = new Thread(VideoThread);
                    videoThread.Start();
                }
            }
        }

        public void Stop()
        {
            webCamera.StopStreaming();
            videoThread.Abort();
            Running = false;
        }

        private void VideoThread()
        {
            try
            {
                
                lcd.Clear();
                while (true)
                {
                    if (null != webCamera && webCamera.IsNewImageAvailable())
                    {
                        webCamera.GetImage(lcd,
                                          (lcd.Width - webCamera.CurrentStreamingFormat.Width) / 2, 
                                          (lcd.Height - webCamera.CurrentStreamingFormat.Height) / 2, 

                                          webCamera.CurrentStreamingFormat.Width,
                                          webCamera.CurrentStreamingFormat.Height

                                          );
                        lcd.Flush();
                    }
                }
            }
            catch (Exception e)
            {
                Debug.Print("Exception: " + e.Message);
            }
        }

        public bool Running { get; set; }
    }

In order to use it you exploit the GHI.Usb.Host.Controller.WebcamConnected event. At the handler of that event you pass the GHI.Usb.Host.Webcam object that you receive to the above class constructor (third parameter)

2 Likes

@ polytronic - I reckon any usb connectable camera can be used ?