|Lego Mindstorms Suduko solver.|
The best learner will be someone that is self-motivated. My introduction to the Arduino was happen-stance. I happened to see a video of a project someone had built with a LEGO Mindstorms NXT 2.0 kit on YouTube. I began looking at more and more of these projects, and thought this could be something my kids would be interested in. The truth was, I was the one interested in building these cool devices. I was looking at creations people built that could analyze and solve Sudoko puzzles, solve a Rubik's cube in no time flat, or even balance itself in the form of a mini-Segway.
Who wouldn't want to build these cool devices? Some of these devices are able to do things that humans can't do, and people are making them from inexpensive toy parts! So I decided to buy a Lego Mindstorms set for my 9 year old daughter.
I started second-guessing myself. What if she didn't like it? I would hate to spend all that money on a Mindstorms set, just to have it sit there unused. Maybe I should just buy her an electronic project kit like I had when I was a kid. If she showed an interest in that, then I would put the money up for the Mindstorms kit.
So I started searching for a suitable electronics kit to buy. I happened to come upon the Arduino, which I had never heard of in my life. Then I started browsing the web and YouTube to see what kinds of things people were building with their Arduinos. It turns out, people were building even more fantastic devices with the Arduino than they were with the Lego Mindstorms kit. Not only that, but the Arduino Uno board only cost $30! What a deal!
So I ordered a board and a book. Then I realized I would have to buy parts so she could actually make something with this thing. I bought everything she would need to build all of the projects in the book: Arduino: A Quick Start Guide. I think I ended up spending around $150 on everything.
It was a mistake, I should have just bought the Mindstorms kit. The Arduino, book, and serious looking real components didn't look like fun to her and didn't capture her imagination. It didn't look like a toy at all, and certainly didn't look like it was either easy or fun. Fail. Bad father.
So I tinkered around with the kit. At first I was just playing around with LED's. Then servos. Then sensors. Before I knew it, I had built and coded a robot from scratch. Sure, I got a lot of help from searching the web and asking a few questions - but I was able to build an autonomous robot by myself within just a few weeks. I was proud of my creation, and could see endless possibilities for more creations ahead of me. I was hooked.
So now I've learned quite a few more concepts. I've learned how to drive motors using PWM (pulse width modulation), display messages on serial and parallel LCD displays, solder and desolder components onto boards effectively, and I've even learned quite a bit about the mechanical aspects of robot building.
It seems like each time I try to do something new with the Arduino, I end up learning way more than I bargained for. For instance, I simply wanted to display text. I saw that some LCD displays required 7-8 pins or more, while some LCD displays only required 2. I ordered one of the serial displays that only required two pins. I didn't realize it at the time, but before I could use that display, I would need at least a rudimentary understanding of the i2c protocol. Until I got the serial LCD display, I didn't know i2c existed - now I find out you can attach a virtually unlimited number of i2c devices to your Arduino using only one pair of wires!
Each new thing I have tried to accomplish with the Arduino has turned out the same way. I concoct something I want to accomplish. I research and order the parts. The parts come in and I research more to learn how to use the parts. Many times I'm having to learn other sub-skills before I can accomplish what I originally set out to do.
The net result is that my experience with trying to build things with the Arduino has turned out to be the best learning experience of my life. I have learned more about electronics, programming, and mechanical design in the past couple of months than I have learned in a lifetime of occasional tinkering. It all started with the Arduino.
The Arduino is just the catalyst for my knowledge seeking. The availability of cheap parts (amazon and ebay) certainly helps. If I had to buy everything from my local radioshack, I probably would have never even gotten started due to the expense. The competitive nature of the internet market has driven parts prices down to ridiculous levels so that I can buy whatever components I like.
The vast availability of knowledge has helped too. At any given time I can ask a question on any number of forums and have multiple answers from experienced electronic hobbyists and even electrical engineers. Add to this online texts, sites like Arduino, Instructables, LMR and eevBlog and the resources at my disposal are unlimited. And virtually free. All it requires is my passion and time.
The Arduino has made me passionate to teach myself electronics. The more I learn, the more I realize I don't know, and the more I want to learn. I am also learning all the time that the possibilities of things that we can create for ourself is limitless.
And I do mean limitless. It is even possible for me to create a prototype of a project using the Arduino and a breadboard, create a PCB in a software package called Eagle, and send my design and a few dollars to China to have my product manufactured. For just a few hundred dollars I could bring a new complex product to market. People are doing it everyday.
I in no way mean to eschew formal education. I hope that developments boards such as the Arduino will drive more students to be passionate about technology and want to build and create things instead of just become another user. If young people are given tools like Mindstorms and Arduino early on, perhaps it will propel a whole generation of electrical and mechanical engineers.
Imagine a high school class in which kids built projects using the Arduino, computers and mechanical concepts such as woodworking and milling. The ultimate shop class that would teach several disciplines at once, and it would actually be FUN! High school kids would line up to take a class like that. Some would go on to take up engineering in college. Even those that didn't would learn that they can build things, fix things, and think for themselves.
The Arduino has been a catalyst for a wealth of experiential learning for me, and hopefully the start of a lifelong hobby.
Now I just gotta go buy my daughter that Lego Mindstorms set...