World Maker Faire 2014 Wrap-Up

I made a very last minute trip to World Maker Faire yesterday, and had an absolute blast. I had no obligations, not where to be and got to take lots of pictures and videos on my camera. I wanted to make a video of what I saw for my students, so I’ve come up with this goofy little video montage. Ignore the poor focusing and terrible audio. I’m still learning this whole camera deal out!

Posted in Videos

Reading Milliohm Resistances With The Arduino

I’ve recently been attempting to read milliohm resistance with the Arduino, and I’ve found out it isn’t terribly easy. The main cause is that the Atmega chips 10bit ADC doesn’t provide the resolution needed. As a result, I’ve been hunting for a different method, and I have come up with what I think is the best solution.

Using four-terminal sensing, or kelvin resistance measurements, we will use a constant current supply and some Ohm’s Law-Fu to read a voltage that is proportional to the resistance.

Lets start with some theory, and Ohm’s Law. First off, we are going to be looking for resistance, so lets put Ohm’s Law in terms or resistance:

r= \frac{v}{i}

Now we know that we need voltage and current to determine the resistance. So, we’ll need to build a current supply, with a constant output. For example, if we generate a constant 1 amp current, than we will have a handy relationship:

r= \frac{v}{1} = v

Given a 1 amp source, we are given that resistance is 1:1 proportional to the voltage.

Lets take a look at a circuit.

317ConstantCurrentSupply

This circuit is our constant current supply. Using the LM-317, and a resistor between the adjust pin, and the voltage out pin, we create a basic constant current supply. Using a 120 ohm resistor, we will be generating a 1amp current. However, when we use Arduino, we have the power to do some calculations, we we are going to scale the current down by a factor of 10, and replace the 120 ohm resistor with 12 ohm resistor, resulting in a current of 100mA, or 0.1amps.

With our constant current supply, the next step is to measure the voltage across the resistor we want to measure.

ConstantCurrentArduino

 

Now we have our constant current supply powered by the Arduino, supplying 100mA across our resistor. We are going to run from the resistor, to the A0 pin on the Arduino, and the other side to ground. Any low ohm resistor can be put in place of the 12ohm resistor, just keep in mind that you’ll have the read the resulting current with a multimeter, than enter that value into the code. In my example, I built with a 10ohm resistor, that resulted in ~125mA, so my code uses 0.125 as my current.

Lets go ahead and throw some code onto the Arduino, and try to read the voltage, do some math to generate the resistance, and read it out!

const float currentSupply = 0.125; // The current generated by the LM317 and 10ohm Resistor
const float referenceVolts = 5;        // the default reference on a 5-volt board
const float resistorFactor = 1023; //Full scale this time.
const int resistancePin = 0;         //Resistor / output from 317 circuit connected to analog pin 0
void setup()
{
Serial.begin(9600);
}

void loop()
{
int val = analogRead(resistancePin); // read the value from the sensor
float volts = (val / resistorFactor) * referenceVolts ; // calculate the voltage
float resistance = volts / currentSupply; //Use voltage to calculate the resistance
Serial.println(resistance);
}

Now that we’ve got some code, lets test it out. I tested this with a few low resistance coils and inductors, each reading within a few hundreths of my multimeter measurement. I’d consider this a success!

Posted in Lessons, Projects

Balloon Zipline: Speed Measurements Using Video Analysis

2013-07-09 12.54.09

Last week, my students and myself built a balloon zipline. This turned out to be an awesome project that the kids had a blast with. However, being committing to tricking kids into doing math and science, I challenged the kids to measure the speed. Coaching them along, we were able to come up with some reasonable numbers in a few different ways.

Because we had such a good time with the project, I wanted to share the detailed breakdown of what we did and how we did it.

Building the Zipline:

2013-07-09 12.56.28

The line, strung across the room.

The concept is simple; string up a tensioned line, add a drinking straw as the carriage, and tape a balloon to it as the motor to propel it forward! For our build, I first attempted to use a super light cotton sewing thread. The string was too weak and flexiable and wouldn’t handle the motion.

I found a solution in using a length of some 22 gauge solid wire. Granted, most people don’t have a spare 30′ length to span a room, but any non-elastic cord should work perfectly. The trick is to keep it under as much tension as possible. The less wiggle room the zipline has, the faster we will travel!

Calculating Speed:

To calculate speed, we measured the time it took to pass a certain amount of the conveniently sized 1′ square tiles.

speed(ft/second)=\frac{distance(feet)}{time(seconds)}

From there, we determined the conversion formula to find miles per hour using dimensional analysis.

\frac{Ft}{Sec}=(\frac{1mi}{5208ft})*(\frac{60sec}{1min})*(\frac{60min}{1hr})=\frac{miles}{hour}

We used two different methods to measure the speed; by manually using stopwatches, and the more fancy ‘video analysis’ version.

Manual Measurements:

Using a team of three, one to release the balloon, one to start the timer and one to stop the timer, we measured the time between 10 of the 1′ tiles. Taking a couple of trials to get an average, the more the merrier!

Trial 1 1.25
Trial 2 1.26
Trial 3 1.72
Trial 4 1.33
Trial 5 2.07
Average 1.526
Ft/second 6.55307994757536
  4.46800905516502

These are our results, popped into a spreadsheet to make things quick and easy.

 Video Analysis

If you have ever watched Mythbusters, you will have seen slow motion footage of some projectile or object (usually Buster) moving past a black and white striped background. They don’t often go into detail about this, but the idea is that looking at the footage and using the striped background as reference, they can determine things like speed and acceleration.

And that is exactly what we did. Taking advantage of the convenient 1′ tiled floor, we laid down two makers, the start and end point. Then, using my standard issue cellphone, we recorded video of the balloon shooting past. Setting the camera phone to shoot at the highest frames per second, we were able to look frame by frame and find the time the balloon past the first marker, and past the second marker.

Start Time 27.027
End time 27.227
Time Difference 0.199999999999999
Ft/second 15.0000000000001
MPH 10.2272727272728

Conclusions

I was really happy with how this little project turned out. Everyone had a blast, and everyone was able to tricked into doing some math over their summer break. I was able to have 6-10 year old kids pay attention as I scribbled formulas on the whiteboard and begin to understand our measurement process. What more could you ask for?

In the future, if I were to run this lesson again, I would love to use a high frame rate camera, and higher resolution backdrop. With this, we could measure the acceleration (or deceleration) as well as the speed, even chart the data in position versus time. Then derive the velocity versus time charts and acceleration versus time.

Adding in a third method would be a great idea too, using a microcontroller with trip sensors to accurately measure time and eliminate that pesky human error. With three total measurement methods, having the students thing about the best methods and using them to think of how we can measure other everyday features in the most effective way.

There is plenty of fun ways to mix up this project, by using different balloons, regulating the inflation of the balloons, building an accurate release method, etc, we can develop more accurate results and start eating away at variables. A process that all students should become familiar with.

So get out there and start launching some balloons!

Posted in Lessons

Making Weird Music: Arduino Sequencer Thingy for Make Music Day 2013

Here is a quick video of a goofy Arduino powered ‘sequencer’ I built for Philly Make Music Day, which is tomorrow. Perhaps I’ll update with a post on the specifics after tomorrows festivities!

Posted in Projects, Videos

Scratch Day 2013

 ad_blueprint_logo

 I’ve had plenty of students in the past who ask me where they can go to learn about programming. With movements like Code.org, kids are starting to get excited about programming. However, programming is not a subject that many teachers have seen. Students are turning to learning on their own, exactly as I did myself when I was younger. Learning things on your own from books, web resources, videos and the like certainly have their merit, but programming isn’t something that is easily approached by elementary school students, even with that wealth of resources being available. Command lines, IDEs, compilers, C++, Java, functions, prototypes, Python, interpreters, PHP, HTML, Perl…there are enough terms to make any adults head spin.

That is where Scratch comes in. Scratch was developed by The Life Long Kindergarten group at MIT’s Media Lab, for the intention of creating somewhere to learn programming concepts simply and easily. They’ve succeeded in this objective, to a fantastic extent. Through a simple drag-and-drop interface, the complications of typing hundreds of likes of ‘code’ in jumbled strict syntax are removed. The result is that students can dive to the root of programming concepts, concepts that 8 year old children can understand, given the technicalities are no longer part of the equation.

What makes Scratch even greater, is their efforts to build a community of students on their website. Here, students are sharing their projects, be it a game, an animated video, or a lessons on Scratch itself. This community organically spawned students teaching one another, sharing ideas and publishing tutorials and guides. To go even further, students began to build ‘companies’, creating a team comprised of skilled programmers, artist and animators, working to create large complex projects. This is the sort of community that has been formed by students, for the students, in an organic fashion that can never be intentionally created.

This community, and the development team at Scratch, schedule an annual ‘Scratch Day’, where local Scratch users and educators come together to teach workshops and celebrate all that is Scratch.

This year, along side of my fellow Free Library Maker Corp’s instructors, we ran one of the workshops for the Philadelphia area Scratch Day, hosted by University of Pennsylvania’s Graduate School of Education.  Inspired by the Library of course, our workshop centered around Storytelling in Scratch.

IMG_20130518_141249

Scratch poses the ability to teach through a grand lecture, describing the blocks and their uses, and creating demo projects over a projector…however that is not the way it was made to be learned. As such, our workshop consisted of little to no structure; introduce and demo a couple of example projects that we had made, and let them take these samples and build from there.  

The informal ‘workshop’ style of Scratch Day played out perfectly to this particular ‘zero-structure’ layout. Within minutes, we had everyone in the room rattling away as we made ourselves available to help understand how to use a particular block, or pose challenges to the students who seemed to be running a head. That is all that it took to have a well oiled classroom of students rattling away on projects for the 90 minute sessions.

The results speak for themselves! And with the power of Scratch, I have embedded them here! Taking that power even further, feel free to click a project to visit a project on the Scratch site, and open up the code blocks that power them!

The music in this one really puts it above and beyond!

This project highlights what makes Scratch public sharing ability so awesome. When I last saw this project on Saturday, it looks a great deal different. Now I can see what my students has been up to, the progress he has made and even leave a comment with a few more challenges!

I had a blast with Scratch Day this year, and hope I can be around to help in the coming years. Programming is a subject that is sure to seep into the curriculum of public education in the future years, and Scratch will be one of the tools that will make it possible. Educators take note, Scratch is the ultimate tool to bring programming lessons into your classrooms, be it in telling stories, or teaching mathematics!

 

Posted in Teaching Journal

Seaperch 2013: The Robo Pirates

 

Just last weekend, a group of middle school students I was lucky enough to mentor competed in the 2013 Philadelphia Seaperch competition. The event was the culmination of the last 2 months or so of weekly (and sometimes bi-weekly) meetings, a few long busy days and tons of amazing effort from the students. The kids went above and beyond and put together and amazing showing at the competition and I could not be more proud of them! I think we all learned countless lessons throughout the adventure, but the ultimate one is that they need to be ready for next year, and other area robotics events. It really is amazing to see such motivated students participating in their first robotics, and engineering based project in general, and finding a passion for it. I look forward to seeing what the Robo Pirates will pull off in the future, and I look forward to being able to help them get there.

 

Posted in Teaching Journal

Experiments with Bare Paint Conductive Paint

I got my hands on a tube of Bare Paint the other day, and decided to give it a try. I aimed to make an LED loop around an acrylic sign holder, but quickly ran into issues. The paint is not terribly conductive, and running the length of the 8.5×11″ sign holder proved to be too much. The paint itself was super easy to work with, and worked perfectly in small, short amounts, but running more than a few inches creates a resistance issue.

I didn’t get to do to much digging into the restiveness properties, and truthfully, it would be a difficult task to tackle. It seems that the surface of the paint, once dry, looses a great deal of conductivity. The most conductive was encased in the dry outer shell. Perhaps sometime soon I can use the remaining amount to try to come up with the resistance over a unit of volume and use it to my advantage next time I use it!

Posted in Experiments