-
Better range
05/18/2015 at 20:16 • 0 commentsProgress! I tried adding a 2N3904 NPN transistor to switch more power into the IR LED signal, and it worked! I was able to toggle our television's mute from all the way across our family room. I did have to aim it pretty directly though, so the next thing I'll probably try is using 2 or 3 LEDs together, in order to get more spread in the beam. I might also try using a 2N2222 transistor, since it can deliver more current than the 3904.
-
First prototype
05/08/2015 at 22:39 • 0 commentsWe're ahead of schedule on a project at my job, so I finally was able to grab a few minutes to work on Mute-ation. I already knew that I wanted to use cyborg5's version of IRLib (which is based on Ken Shirriff's work). And the first thing I needed to do was determine what code to send. So I dusted off a random microcontroller, wired up an IR receiver (I used my Digispark IR shield), and determined that my TV uses the NEC encoding, and the "mute" code is 0x5FA38C7.
With that code in hand, I grabbed an Adafruit Pro Trinket, hooked up a pushbutton and high-power IR LED, and mashed out some quick button debounce and IR send code.
I plugged it into a USB battery pack, pointed at the TV, pushed the button and... It worked! Well, as long as I was within about 3 feet of the television.
I started doing a little research into how to increase the range. It looks like there are three factors: power (current) to the LED, wavelength of the LED, and focus. I know that Arduino pins are limited in how much current they can supply, so I'll probably try slipping in a transistor, to route current directly from my source. I'm not sure how much that will help, so I may end up ganging up 3 or 4 LEDs in parallel.
Still, I'm encouraged that this initial attempt worked as planned. It just needs some refinement now.
So, some ToDos:
- Change the power setup to use a couple of AAA batteries, and use a boost regulator to power the board.
- Figure out the range issue.
- Research low power sleep modes, so I can save energy until a button press wakes the device up.
- Get everything into an enclosure.
-
First fails
02/28/2015 at 22:50 • 1 commentI did try building a quick prototype based on a DigiSpark (ATTiny85), but the converted version of the IRLib library was giving me problems, even after exchanging some messages with the author and applying a couple of fixes.
I haven't had much time to look at it recently, because immediately after the kids were home for their week-long winter break, we had snow and ice that kept them home again the following week!
I'm hoping that next week, I can find a little spare time to try again, using a Pro Trinket, or a Pro Mini. Though, I think the Pro Trinket might pose a problem, because the IRLib send function uses pin 3, which I seem to recall is unavailable on that board...?
-
Missed the contest
01/05/2015 at 18:50 • 0 commentsUnfortunately for this project, but fortunately for my family, we closed on a new house on Dec 23rd. This meant that we started moving on the day after Christmas -- a process which will likely be ongoing for at least a couple more weeks -- and I didn't get to build this project in time to participate in the Trinket Everyday Carry contest.
However, I still intend to work on it as time allows. Since the contest is over, I might use an ATTiny85-based DigiSpark board instead of the Trinket Pro. It should be more than capable for the simple needs I have. And if my µC chops were more up-to-snuff, I could probably do it with an ATTiny45 or 25.