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.
Photo

Custom Data Visualization Components


  • Please log in to reply
10 replies to this topic

#1 Omar (OZ)

Omar (OZ)

    Advanced Member

  • Members
  • PipPipPip
  • 564 posts

Posted 01 January 2011 - 08:22 PM

Custom Data Visualization Components:
I am working on a big library of C# components to help people visualize data. When working with sensors sometimes its best to see graphs or visual representations of the numbers, rather than reading all those numbers. These components could also be used in your apps. Maybe you're building a home temperature monitoring system, with these components you'll be able to have a nice user-friendly control panel.

I've decided to make this completely open to the community. This means that you will see all my components as I make them (images & source code). I hope you guys will have requests/ideas of things you'd like to add.

Current Items:

Analog Needle (Optional Pressure gauge style warning and danger zones)
Bar Graphs (Optional fit curve)

Please note that the code is not perfect since I am sharing these as I make them. They have gotten nowhere near the proper amount of testing I would usually do.

Code: Attached File  Data Components.zip   7KB   3 downloads
Image: Attached File  components.PNG   22.57KB   17 downloads
Example use (simulates increasing values):
        private void timer1_Tick(object sender, EventArgs e)
        {
            if (analog_Needle1.Value < 165)
            {
                analog_Needle1.Value += 10;
                bars2.SetValue(0, analog_Needle1.Value);
            }
            
            analog_Needle1.Refresh();
            bars2.Refresh();
        }

        private void analog_Needle1_Load_1(object sender, EventArgs e)
        {
            analog_Needle1.Minimum = 0;
            analog_Needle1.Maximum = 200;

            analog_Needle1.SetZones(0, 150, 150, 175, 175, 200);

            analog_Needle1.DrawNormal = true;
            analog_Needle1.DrawWarning = true;
            analog_Needle1.DrawDanger = true;

            timer1.Start();
        }

        private void bars2_Load(object sender, EventArgs e)
        {
            float[] data = new float[] { 10, 20, 20, 40, 50, 70, 30, 20, 40 };
            bars2.SetValues(data);
            bars2.DrawCurve = true;
            bars2.Refresh();
        }


#2 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 01 January 2011 - 08:28 PM

I love it. This will also come in handy for Flint Lockwood's next FLDSMDFR project. :) Chris

#3 Omar (OZ)

Omar (OZ)

    Advanced Member

  • Members
  • PipPipPip
  • 564 posts

Posted 01 January 2011 - 08:33 PM

I love it.

This will also come in handy for Flint Lockwood's next FLDSMDFR project. :)

Chris


Wow pulling out all the movie references today huh?! I didn't get that one either :( Another movie added to the list! Oh yeah I can't pronounce it either:


#4 Frank

Frank

    Advanced Member

  • Members
  • PipPipPip
  • 62 posts
  • LocationNorth Waterboro Maine

Posted 01 January 2011 - 08:45 PM

I know this one ! Try here Omar for a short trailer. http://www.amazon.co...v_feed_catalog/
Retired -stone sculptor -macro photographer- novice but avid Go player - Geek

#5 Omar (OZ)

Omar (OZ)

    Advanced Member

  • Members
  • PipPipPip
  • 564 posts

Posted 01 January 2011 - 09:06 PM

I know this one ! Try here Omar for a short trailer.

http://www.amazon.co...v_feed_catalog/

Oh looks like a funnny one! I'll have to get it.

#6 bill.french

bill.french

    Advanced Member

  • Members
  • PipPipPip
  • 260 posts
  • LocationPrinceton, NJ

Posted 02 January 2011 - 04:21 AM

I registered the domain name "stopreinventingthewheel.com"... some day it will be dedicated to all the wheels I've reinvented... and reinvented... lol concerning visualization, make sure you explore the microsoft charting controls, I believe they are a derivative of the Dundas controls and come w/ Visual Studio and are pretty robust. http://code.msdn.microsoft.com/mschart

#7 Omar (OZ)

Omar (OZ)

    Advanced Member

  • Members
  • PipPipPip
  • 564 posts

Posted 02 January 2011 - 04:27 AM

I registered the domain name "stopreinventingthewheel.com"... some day it will be dedicated to all the wheels I've reinvented... and reinvented... lol

concerning visualization, make sure you explore the microsoft charting controls, I believe they are a derivative of the Dundas controls and come w/ Visual Studio and are pretty robust.

http://code.msdn.microsoft.com/mschart


I will take a look at those, they look very nice. you should make a Q&A section of your website where people can ask if something has been done before, and that way reinventing the wheel can be preventable!

btw did you just spontaneously register a domain? or did you put some thought into this before?

#8 bill.french

bill.french

    Advanced Member

  • Members
  • PipPipPip
  • 260 posts
  • LocationPrinceton, NJ

Posted 02 January 2011 - 05:03 AM

I put some thought into it... for whatever reason, I seem to always be reinventing the wheel. Data visualization is one of those areas I explored, but the available tools are way more mature and advanced than anything i could do in my free time. Not to discourage you-- it's a neat and ever evolving area (data visualization) but many of the basics are "done" and available for free in VS.

#9 Omar (OZ)

Omar (OZ)

    Advanced Member

  • Members
  • PipPipPip
  • 564 posts

Posted 02 January 2011 - 06:30 AM

I put some thought into it... for whatever reason, I seem to always be reinventing the wheel.

Data visualization is one of those areas I explored, but the available tools are way more mature and advanced than anything i could do in my free time. Not to discourage you-- it's a neat and ever evolving area (data visualization) but many of the basics are "done" and available for free in VS.

Well when I get some time I will take an in depth look at the stuff I downloaded from the link you gave me. If changing the graphs is as easy as changing a number (blah.Value = 10;) then I'll end this project, because there really is no need to reinvent the wheel (I need to SRTW (It WILL catch on, don't worry)). But that stuff looks pretty high end and might not be the best for logging data using a live serial feed... again I'll look over it later, thanks for the link.

so yeah I am going to start using "SRTW" from now on, it has a nice ring to it. Soon all my friends (1, 2, uhm 3? nah, yeah 2 friends ;) ) will use it and then it will catch on, I'll be like "Yeah I know the guy that came up with that!". you should get that website ready.

#10 bill.french

bill.french

    Advanced Member

  • Members
  • PipPipPip
  • 260 posts
  • LocationPrinceton, NJ

Posted 02 January 2011 - 01:19 PM

If you want to see a (poorly written) sample, check out my graphing code: http://forums.netdui...ch__1#entry4637 I am using it to graph from the network, I was also messing with threads, so the code could be easily simplified.

#11 Omar (OZ)

Omar (OZ)

    Advanced Member

  • Members
  • PipPipPip
  • 564 posts

Posted 02 January 2011 - 08:05 PM

If you want to see a (poorly written) sample, check out my graphing code:
http://forums.netdui...ch__1#entry4637

I am using it to graph from the network, I was also messing with threads, so the code could be easily simplified.


Oh yeah that Chart stuff is perfect ! Well thanks for saving me time and headaches! Now I am going to play around with these charts....




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

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.