Arduino Coolness…..
June 19th, 2011I’m way behind on blog updates. I just noticed that I have two mostly written sitting in the queue that I completely forgot about. So given that, I’m going to start a third one and hope to finish it and then go back to the other two.
So why am I more interested in starting a new blog post, rather then finish two that are almost done? Because I had the coolest experience last Thursday night and want to share. I suspect many people are going to say ‘so what’, but I don’t care, I had a blast. What did I do? I took a ‘intro to Arduino” class put on at Metrix Create Space. Metrix is a local hacker space, I think there is a couple more in Seattle, but this is the only one I know anything about. As it turns out they are all of 15 minutes from work, as long as traffic isn’t screwed up. But why did I take a ‘intro to Arduino” class? Mainly because I knew it was going to be the only way I’d slow down and focus on it for two hours. (that is a little sad, I know)
I have been talking about taking one of these classes since I first heard that Metrix was offering them. I’d love to hire one of the instructors and have them teach a class for just MicroHAMS, but I’ll set that project aside for now. I didn’t want to take the class by myself, so I started bugging people that I thought would be interested and managed to talk Steve Stroh into taking it with me. Neither Steve or I really needed the help getting started, but we both needed help getting the focused/uninterrupted time. (Maybe that is the curse of being a Dad?) Anyhow Steve turned out to be the perfect side-kick which I’ll get into in a moment.
So the class was two hours long and was focused on getting someone started with the Arduino and programming it. They started at the most basic level, how to install the development software and worked up to point where the boards were taking a simple input (switch closing) and causing a simple output (LED lighting). I guess I cheated, because I had installed the development software at home and pretty much had everything working before the class. (I didn’t know that for sure, because I didn’t get the Arduino board until the class started) At one point when everybody else was getting the development environment installed, I was doing the required ‘success dance’ because I’d made the LED on the board flash hello world. (In CW of course) The instructor asked what I did, when I told her, she asked why I was taking the class. (oops)
So what did I learn from the class? I think a couple things jumped out at me…..
1) The Mac is light years ahead of Windows when it comes to installing stuff. I came into the class with everything working, Steve was up and running about as fast as he could download the software. The one of other Mac guy had one little problem, because he didn’t read the instructions, but once I pointed him in the right direction he was going in short order. The Windows people had all sorts of problems, which is crazy, because the drivers should have been pre-installed. I think the big difference was the Java runtime, the mac has it by default and Windows doesn’t. One poor couple could never make it work and bailed on the class.
2) There are two different kinds of people in the world when it comes to debugging. We ran into this problem when trying to get the Arduino to read the switch being pushed. Both Steve and I built the circuit, checked each others work to make sure they were right and then started trying to figure out what was wrong. I am a software person, because I started putting debug statements into the program to figure out where things were going wrong. Steve is a hardware person, he started pulling wires and re-arranging the circuit. It was very funny actually. We both figured out that the switch was not working and after replacing the switches didn’t solve the problem, I had the bright idea to wire the switch backwards. That actually worked, which made me happy.