Today, with no classes and a postponed speech assignment, I was able to spend a good chunk of the afternoon and evening working on the LED strips. I was so productive, I felt it was worthy of a mid-week makeup journal entry. We’ll call it “Week X.”
It wasn’t a *trouble-free* afternoon, by any means. I ran into various stumbling blocks. But I solved each one, and that’s what makes it productive and goody-feeling. These blocks included:
– As you can see in this before/after vine video clip, I was having trouble with the lights flickering, a LOT. Very fast, very bright flickering. I initially thought it was trouble with the data signal, but no amount of fiddling with the cable connections, resetting the board or swapping LED strips fixed it. Then I focused on power. Switching from battery to a power supply significantly improved the flickering, but not 100%. I decided “ok, we need better batteries” and moved on for the time being. It was only later, when I was researching programming the LEDs, that I saw a note saying I had to tie together the grounds for both the board and the battery. Once I did that the flickering went away and the lights looked beautiful.
– I had this four button keypad and decided to connect and program at least one button so I could control brightness, as I was going blind working on this project.
This was fun. Not problem-free, as it involved more than just wiring the button(s) in series with a digital input. But I figured it out. And this was the first time in any programming I’ve ever used interrupts, which is what allows the Arduino to recognize a button push at any time, even while it’s busy running a light pattern. I also learned the Arduino Uno only has two interrupts available, which means I can realistically only use 2 buttons. Not the end of the world, but it does limit flexibility. Right now I have button 1 programmed to control brightness, and I’ll program another button to manually cycle through different light view options.
I did a few other wiring and soldering tasks, this time without the aid of any visiting firemen, so all in all, it was a productive day.
The interwebs ate your Vine url. 🙁
I loved that the first order of business (after the speed bumps) was to program the brightness button. Practical in every sense. You get a programmed button we need out the way AND you get to keep your vision.
Interesting bit about the button/interrupt limitations. I suppose 2 functioning buttons can still work with one of them being a dedicated brightness button and the other for cycling. Great work.
Hey Michael. If you need more interrupts, you can use the PinChangeInt library:
http://code.google.com/p/arduino-pinchangeint/
It can enable interrupts on any of the Arduino’s signal pins.
Thanks for this! I was definitely planning to use it, but ended up running out of time. But it’s good to know if I keep working on the jacket. Which I just might, because I know there’s so much potential.