Challenges of Preparing a Class

First, a quick note for my Facebook readers. You might want to click through to my blog. I tend to put hyperlinks to related pages in my blog posts and these don’t seem to show up on Facebook. Consequently, when I put a link to Airtable in my last post (http://airtable.com/), some Facebook readers didn’t realize that I was talking about a program that I was using as opposed to one that I wrote myself. Now on to today’s post.

I am developing a class on how to build and program a robot. It is intended as a follow-on class for people who have already taken the class on building simple circuits and writing programs to control them with the Arduino. For those of you that haven’t yet encountered the Arduino, it is a small computer, roughly the size of a credit card, that is easy to learn to program and has the necessary hardware to control a lot of different hardware circuits. Some of the early projects that most people do while learning to build things with an Arduino are flashing LEDs and buzzing buzzers. It is also able of controlling servos which are often used to provide robots with wheels.

It is going to be challenging to put together a class that meets all of the criteria that have been set for me. It needs to be about two or three hours of instruction. Check. It needs to have a budget for lab materials of roughly $15. Ouch! That is going to be challenging. Also making it interesting for a variety of ages is going to be its own challenge. I’ve got a rough draft and I’m still shopping for lab materials. I think it is doable. I’ll just have to be a little bit clever. I’m excited.

Adventures in Robot Building

It’s all about learning, right? I’ve been building a robot from scratch, as you may know if you’ve read some of my previous posts. I started out with only a vague idea of what I wanted to do. I started by saving the miniature balsa crates that the grocery store sells tangerines in. That is a good size for a robot, I thought to myself.

Then I discovered the Arduino. I knew immediately that I wanted the robot to have an Arduino for a brain. Next, I bought a dual gear motor kit and some wheels. I assembled the kit and discovered that it wasn’t going to mount very easily on my tangerine crate. So, I thought about it a while and discovered that if I took the crate entirely apart (it was only stapled together), the side panel was exactly the right size to mount my wheel assembly on.

Originally, I wanted to build a robot with wheels front and back. My BOEbot uses a rear roller for stability instead of having two sets of wheels so I wanted to try something different. After some more thought, I decided to compromise and buy an omni-directional caster for the stability point of my robot. By this point, I had mounted the wheels on one end of the side panel and the caster on the other. I had also purchased an H-bridge motor driver shield to control the wheels (shields are the daughter boards that plug on top of the Arduino so conveniently).

The motor shield came as a kit and I assembled it per the instructions. Try as I might, I never got it to spin my motors. I spent several afternoons troubleshooting the problem and decided that I probably burned out one of the chips on the motor shield. I decided that I should have installed a socket instead of soldering the chip directly to the board as the kit instructed. So, I ordered some replacement chips for the board and proceeded to try to desolder the chip in question. That was harder than it sounded. I haven’t yet managed to desolder the chip in question.

While I was ordering the replacement chips, I discovered an already assembled H-bridge controller that cost less than half what I paid for the motor shield kit. The mini-controller wasn’t as capable as my motor shield but it was adequate for driving the two motors on my robot. All it required was that you solder two, eight pin headers to either side of the board. I was sold. If I could repair the motor shield, I could use the little controller board for another project. If I didn’t get the motor shield fixed, I would still be able to get my robot rolling on it’s own power with the new controller. That was the plan anyway.

When the parts came in, I soldered the headers to the board and plugged it in to the solderless bread board to give it a try. I wired it up and checked my wiring several times. I wrote the code for the Arduino to control the new board. I plugged it all in and uploaded the code and nothing happened.

I spent most of the evening troubleshooting. I still haven’t figured out what is wrong. I will give it another try this weekend. I still have several things I can try. I suppose it wouldn’t be nearly as much fun if it wasn’t so challenging. And like I said at the beginning of this post, it’s all about learning, right?

Powered by ScribeFire.

Arduino Mania Strikes Elkton

It all started innocently enough. I had $50 worth of Amazon gift certificates so I bought an Arduino Duemilanove from Hacktronics with part of the money. It came and I was thrilled to start blinking LEDs with it right out of the box. I wrote a little program that flashed “SOS” in Morse code. My wife said, “That’s kind of depressing.” So I changed it so that it sent “LOVE” in Morse code instead.

I don’t know why I am so surprised when things work the way they are supposed to. I think it probably goes back to all the times I built electronics kits and had to troubleshoot them for days to get them to work (if they ever worked at all). In any case, the bug had bit me. I started scouring the Internet for Arduino based projects.

One of the reasons that I was drawn to the Arduino in the first place was the concept of shields. Understand that this was not a new concept to me. The robots at work had been expanded through the addition of daughter cards that plugged into the motherboard. But the Arduino had dozens of shields that interfaced to all kinds of interesting hardware. And the best thing of all was that they were affordable on my next to non-existent budget.

I decided that I was going to build a robot from scratch. I had built a BOEbot and I still love to tinker with it but I had the urge to create a unique robot that was my design from the ground up. Oh, alright. I intended to assemble it from parts but I intended to build many of the boards as kits and assemble all the various pieces to make a unique final product. And what is really exciting is that it wasn’t just possible, it was down right easy.

I decided to build my robot around a chassis consisting of a Clementine tangerine crate that I had saved. I decided to use Google SketchUp to build a scale 3D drawing of the crate so that I could better visualize how I planned to transform it into a robotic vehicle. I managed to draw the crate itself fairly quickly but I’m still working on drawing the rest of the parts of the robot.

I drew up a prioritized list of parts that I thought I would need for the robot. At the top of the list was a Proto Shield. A Proto Shield is a board that has many uses but is often used as a place to mount a mini breadboard for experimenting with various hardware interfaces. The other major item on the list was a Motor Shield. The Motor Shield that I bought has connectors for 2 PWM servos and can control up to 4 bi-directional DC motors.

While I waited for my new hardware to come in, I decided to play with the hardware that I already had. I took one of the Infra-red receivers that came with my BOEbot and an old Sony CD player remote that I found laying around (the CD player had gone to hardware heaven years ago) and decided to see if I could get them to work together using the Arduino as the controller for the IR receiver. I got the circuit hooked up pretty quickly. Note: when building a circuit on a breadboard of one battery operated robot for control by another battery operated device, make sure you use a common ground. I eventually decided to just use the USB power from the Arduino.

Now I was ready for software. I Googled Arduino and IR and found RTFA‘s video on YouTube. I followed the link to his site and downloaded his code as a starting point. I hacked it to work with the particular remote that I was using and before my Proto Shield had even arrived I had created my first Arduino based hardware hack.

Then the hardware arrived. As I was soldering the power plug on the end of the wires coming out of the  9 volt battery holder with switch that I had bought, I decided that I was going to need a better soldering iron than the little pencil style iron that I had used for 30+ years.

The two criteria that I had were that it had to have a switch so that I didn’t have to bend over to plug it in and unplug it every time I used it and it had to have a shielded stand so that I could safely set it down while it was hot. The next day, I want to my friendly neighborhood Radio Shack and decided that the difference in price between the iron that met my minimal requirements and one that was variable digitally temperature controlled was small enough that I couldn’t justify not buying the fancy one.

It took me two evenings working about an hour an evening to assemble and test the Proto Shield. It took about 5 minutes to move the IR receiver circuit over to the Proto Shield and get it working.

Stay tuned. More mania is on the way.

First post of a new year

So I thought I had disabled comments on all my posts but I’m still getting email to moderate spam comments. There is obviously something about WordPress that I don’t understand. Oh, well.

I am so excited! I’m anticipating getting my new video camera. It is going to be so much fun. I am going to get Pam a webcam too. She has really taken to YouTube. She wants to be able to leave video responses. I understand. I do too.

Dave Winer says that the distinguishing characteristic of a blog is the unedited voice of a person. He goes on to explain that he means that a single individual expresses their opinions without undue influence from an editorial figure. I like this definition. I see the same kind of content in the video blogs on YouTube.

To kind of tie these ideas together, the reason I’m so excited is that film/video has always been my media of choice. I look forward to creating video blogs, having video conversations with other YouTubers, creating short fictional videos, creating how-to videos, and things I haven’t even figured out yet. Here’s a quick list of projects that I have in the wings:

  • Javajini intro for The Skinny
  • building my BOEbot
  • making some experimental proof-of-concept sketches for The Gentry
  • start a video podcast on hobby robotics

Anyway, the year is off to a good start. I’m also planning to blog here more than once a month this year. Ah, the best laid plans…