Saturday, December 17, 2011

Happy Holidays - XY Scope Fun!

Last week I saw a neat post from Johngineer where he took an Arduino and a couple RC filters and made a Xmas Tree on his scope.
I thought this would be a fun project to replicate with my 2 and 4 year old daughters, but I wanted to make a small tweak and display a picture of Frosty the Snowman. My two year old discovered the old Frosty the Snowman cartoons this year and is constantly asking to "watch a frosty".

I downloaded John's Arduino sketch and took a look at it to see what I'd have to do to change the picture displayed on the scope. His code is very well laid out and the picture is defined by the number of points and the X Y coordinates stored as two arrays.

Now how do I draw a picture of a snowman and get X Y coordinates out of it? I tried GIMP and Paint, but ended up using Scilab...... yes a fancy math program to draw a snowman! The nice thing about Scilab is you can plot pictures using the same X & Y arrays needed for the Arduino sketch.

I could have gotten all fancy and used sin & cos equations to get a nice smooth circle, but a line segment circle gets the job done too, and is equally impressive to a two year old :)

Once I got the X Y coordinates figured out I cut and paste them in to John's sketch and loaded it into my ProtoStack Arduino Clone from a previous post.
Here is John's sketch with my added X1 & Y1 coordinates for the snowman pic. link


We grabbed a bread board and I let my 4 year old insert the 10K Ohm and 0.1uF caps and hook up the scope probes.
With a few tweaks to the scope's settings we got a nice picture of Frosty the Snowman.

My daughters had fun making him taller and shorter and skinny and fat all with a few button presses. Thanks John for the great idea; my girls and I had a lot of fun!

3 comments:

  1. We did a Xmastree that dies...
    http://vimeo.com/18400271
    http://vimeo.com/17936944

    ReplyDelete
  2. Too funny, I love the xmas lights that flicker just a little bit on the dieing tree. Very original idea!

    ReplyDelete