Sunday, October 23, 2011

Arduino explorations, part three : Research and design

Truth be told, I didn't set out to use the Arduino on this application, because I had only seen the Arduino used for robotic applications.  My original intent, therefore, was to use circuit logic, i.e. AND and OR gates.  Because I wanted a display, I figured I would need 10 of the 7-segment displays, 5 for the target windings, and 5 for the current winding count.  Additionally, I would need a bank of decade counters, some way to set a target count to compare against, and a bunch of AND gates, and either a 7segment driver, or even more gates.  I was beginning to get discouraged, when the Arduino was recommended to me. Suddenly, all of my logic problems could be solved in code - and a whole slew of compatible items were available. Display The first order of business was to find a suitable display - since my original idea had been scuttled by the complexity of the seven - segment display integration, I was concerned that I would have a similar problem.  My sister, and arduino mentor, pointed out the LOL Shield- a nifty set of leds that are designed to fit directly on top of the arduino board. This came as a kit, which maent that one of the purposes it served was as practice in remembering how to solder - 120 leds with two leads apiece makes for a lot of practice. Finally, all soldered, and the test patterns not creating strange blinkiness due to badly soldered joints, amd I discovered that it didn't have enough resolution to display the text I needed to display. Another delivery from Sparkfun got me a two line lcd display. This I happily soldered wires to, got displaying text, and was pleased with the result. Readable text, scrolling and wrapping, a nice font, all good. But I had a mess of wires coming out of my Arduino, because I wasn't using a breadboard. I then desoldered the wires from the lcd, soldered in header pins, snuggled it down in my breadboard... and swapped voltage in and ground. I didn't realize my mistake at first, except for a strange smell, until I couldn't get anything to display. After checking my wiring, my heart sank as I realized I'd fried it. Another shipment from Sparkfun and I got the replacement. User Input Reviewing the stated requirements, I could see that I had three different types of input needed. I needed a numerical input for entering the target, a dial input for controlling the rotation speed, and button inputs for starting and stopping. The numerical input was solved by a purchase from Sparkfun of their 12 key number pad, which gave two non-numerical inputs ( * and #) that may end up being the 'enter' and 'reset' buttons. I had a bit of difficulty getting the test sketch to work with the numerical keypad, so in frustration I took a pair of wirecutters, popped open the case, and figured out from the circuit board how the key-to-lead wiring worked. Suffice to say that I had incorrectly read the sketch and both the sketch and the cookbook were right. A potentiometer from Radio Shack became the dial input. Next will be the mechanical engineering portion of the winder

No comments:

Post a Comment