EEVblog #505 - IR Learning Remote Control Hack

preview_player
Показать описание
Dave wires up an Arduino (Freetronics Eleven) to control his video camera via a learning IR remote control matrix keypad.
NOTE: this is NOT an optimised solution, nor a tutorial on the best way to do this, it's a quick rudimentary hack while showing a few traps. This was the quickest way to do this.

EEVblog Main Web Site:
EEVblog Amazon Store:
Donations:
Projects:
Electronics Info Wiki:
Рекомендации по теме
Комментарии
Автор

This is an old video so I'm not sure how many people will get to see this, but using the Arduino and outputting a 2, 3 or 4 bit binary code in conjunction with a cd4066 analogue mux/demux you can emulate physical point to point connections quite easily. The on resistance of the CD4066 is also nearer to the carbon resistance strips than a straight mechanical switch. There are more modern versions of the CD4066 which have lower on resistance but I'd have to do a bit of chasing around to obtain the number. Try Googling for them. The beauty of such devices is that they do not rely on a common ground they literally act like electronic 2 contact switches and are bi-directional too IIRC. There is an 8 channel to one output version too which provides a great way to expand an ATTiny 85's ADC inputs by effectively sampling any one of the 8 by selecting it from the Arduino. THIS technique can enable a multi channel data logger to be built in a TINY amount of space with thee minimum number of chips, external components and size.

boblewis
Автор

My friend, we really enjoy your classes! The most intelligent teacher I have had in Electronics...

Vhbaske
Автор

There are arduino libraries that allow you to capture the IR signal if you wire up a receiver.

EEVblog
Автор

Dave did a whole video on this, using oscilloscopes as an example. Look it up, it's called How NOT to blow up your Oscilloscope. Basically connecting the two grounds causes a loop, or another circuit, and interference (and sometimes high voltage/current) can flow between the two circuits, messing everything up!

AureliusR
Автор

Dave, you can do multiple buttons with a common ground and discreet transistors; I've done it (for an audio amplifier remote in this case).

All you need is a PNP transistor for each button with the emitter to the scanned side (I checked with a scope for the scanning pulses) and the collectors to the input side of each button. Drive base low thru a resistor to switch on, float base to switch off.

KnuckxCB
Автор

I didn't want a cable, it would be very messy for this use.

EEVblog
Автор

I've used 4066 (as others here suggested) before, and it did work perfectly. The main limitation is that the switched wires may not exceed the voltage the 4066 is powered from, but that's not an issue for 3V remotes.

LoneTech
Автор

The way this is working is that the Arduino either connects the two Pins (by pulling the pin to its GND) or disconnects them (by putting it into High-Z mode). You have to do this because of the matrix configuration, which means the remote isn't just looking for a logic low/logic high.

This is a simple approach for this application but optocopplers/a CMOS switch/... would also work.

stuner
Автор

When the io pin is in input mode, the two wires going to the remote are disconnected. Once you turn it into an output that is driven low (to ground) you get a connection between your arduino's ground and the low output. So it does not "use logic levels", but "open/closed"

esavarem
Автор

Oh FFS, it took all of 5 minutes to do this, it's the quickest solution possible, that's why I did it. And it's practical because it works. More fail for you.
If I wanted to "impress" I would have decoded the IR command with a scope, and programmed it into the Arduino manually and/or wrote my own driver.

EEVblog
Автор

Yes. I don't understand why people think this would be quicker and simpler than 5 minutes hacking in a learning remote? Sure it's neater, but no way it's going to be simpler and quicker. You have to wire in an IR receiver, get a suitable library, learn how to use properly, capture the code, maybe write some code to replay it, and then maybe troubleshoot it if it doesn't work first go.

EEVblog
Автор

That's not the reason. I didn't use the arduino direct because hacking a remote was just simpler and less hassle. 5 minutes work if I didn't shoot the video. To do it in the Arduino direct requires me to find a suitable library, read how it works, wire up a receiver to capture the code, then program it to spit it out again, and possibly troubleshoot code if it doesn't work.

EEVblog
Автор

I didn't have an IR Shark. Hacking the IR remote IS the simplest, quickest, and murphy proof way to get this job done. Literally a couple of minutes work (but I shot a video, so it took me 20 minutes or whatever)

EEVblog
Автор

"Just a quick video" 18 minutes. Love it!

vasko
Автор

Bought it from Freetronics. Very easy to use, that countdown timer is half a dozen lines of code.

EEVblog
Автор

Yes, that would require a separate shield or something to mount the transistor on. I didn't need that anyway for my use.

EEVblog
Автор

I've done something like this with a computer keyboard, I've used optocouplers attached to the row column pads on the keyboard controller board, the LED side of the coupler connects to a console controller, direct to the buttons or via a comparator for the analogue controls

williefleete
Автор

The end result looks spiffing! Great job, Dave!

lodevijk
Автор

Everyone seems to be missing the point -- the reason he's doing it this way is because he needs to use the Arduino at the same time to run the giant timer board. Yes he could potentially do it another way but this frees up the resources of the chip so it can time the on/off cycles better (at least that's one reason, I'm assuming)

AureliusR
Автор

Hi Dave, I like to see projects where you are a little creative, on top of the usual tear downs. Hope to see more Thanks for sharing

Darryl