Let me offer a recent example. You've heard me talk about the new design that I'm working on for an upcoming training program we are running at Altium. Well I thought we were going to go ahead with the Natural Disaster Management System but that got canned because we didn't want users to pay several hundred $$$'s in weather measuring equipment in order to replicate the project.
So the new project is a moving light system. Basically it involves mounting a high powered LED onto a pan-tilt head (something like this) and creating a moving light show that can be controlled from a myriad of sources.
According to info I found on the web, driving R/C servo motors is pretty easy. So I thought getting one to work would be a piece of cake. In actual fact it was pretty easy but after connecting up the first servo, its range was only about 90 degrees. I needed at least 180. No problem, tweak the driving circuit a bit and before you know it I had it driving across the full 180. As it happens, the generic servo drive specs didn't seem to match up with the servos I bought and I had to spread the signal out a bit to get the full range.
So in a word, my first attempt failed, but that's what lead me to the second attempt and a greater understanding of what I am working with. I now know that I need to leave provision in the application code so that I can calibrate for any servo to ensure I get the full range out.
So in a word, my first attempt failed, but that's what lead me to the second attempt and a greater understanding of what I am working with. I now know that I need to leave provision in the application code so that I can calibrate for any servo to ensure I get the full range out.
So fail fast, fail cheap, and move on to the real innovation.