Despite by best efforts, I could not eliminate wireless interference between the camera and Arduino components of my blimp. In close proximity, the wireless camera drowns out any signals from my laptop to the Arduino, so it fails to respond. Why is this bad? If my Arduino cannot listen for commands from my laptop, then it’ll just run around the room like a chicken with its head cut off.
I did some basic testing to gauge signal strength and attenuation over distance. At a distance of 8 feet from the base station, about 1.5 to 2 feet of spacing between the camera transmitter and the Arduino seems to be the safest minimum distance. This completely throws my old design out the door, as I was going to have the Arduino radio receiver 3 inches away from the camera module in my initial design. My new plan is to detach the Xbee radio module from the Arduino and extend it on a boom, 12 inches away from the blimp’s gondola.
In addition to those problems, the Arduino’s own communications also causes interference with the video signal. I tried things like pulsing commands from my laptop to the Arduino to minimize the amount of noise in the video, so like, for one tenth of a second I would get static-y video, then clear video for the rest of the second. But that didn’t work, It seems like the Arduino is always communicating with the base station in some form or another. I don’t know if that’s a property of the Firmata code or not. Unfortunately, this just means I’m going to have to hope my blob detection code is robust enough to handle a little bit of static. This may boil down to me time-averaging 3 or 4 frames of video, and then blurring it. This will ensure that a target on my screen appears as a contiguous object to the machine (most tasks in the IARC are monochromatic, i.e: your target is red).