|
||||||||||||||
IntroductionWe're still using an old Archos Recorder, as a kind of kitchen radio. A big disk and a shuffled playlist across all tracks help it to be the least annoying "radio" I know of. One nuisance exists: It may well happen that a track is not to our liking, and the player is out of reach at a shelf, while we're sitting at the table. The stereo system has a remote control, with the input set to AUX the CD control buttons of it are functionless. So it is quite logical to make the Archos react to these commands. The whole project was a birthday present to my wife.InterfacingThe player and recorder models support an external 6 button cable remote control (ToDo: find link or post picture), the remote is plugged between headphone and jack, sends serial commands into a 4th pin of the headphone jack. This style of remote is supported by Rockbox, too. So no software changes necessary, if my IR receiver behaves the same. The Archos remote uses two lithium button cells to power its little microcontroller. Something I find very cumbersome. Not practical for an IR receiver, too, since the IR circuit draws a bit of power all the time, versus a button control can be built to wake up only if a button is pressed and draw very little idle current if not. Inside the Archos, the remote pin is pulled towards the 3.3V logic supply power with a 1kΩ pullup resistor. This allows for my receiver to draw a little bit of current from the unit itself, about up to 1 mA, before the voltage drops too low. Most IR receivers need more, but I found the GP1UX31QS series from Sharp, which needs only 0.3 mA (available from e.g. Mouser or Digikey). Add a tiny microcontroller for the IR decoding, and we're almost there.Circuit![]() SoftwareThe microcontroller is an Atmel ATtiny25, programmed in C with gcc of the WinAVR package. I took great care to have this design use as little power as possible. The μC runs with only 128 kHz clock, plus is sleeping in a deep powerdown mode almost all the time. In this mode, it needs only 200 nA. The timing and measuring is done using hardware units, which get switched on only on demand, while the μC can continue to sleep. A bit overengineered, I admit, but I wanted to see how low it can get. Hexfiles for programming and source code for hacking are attached, see below. It currently contains an IR decoder for the popular NEC protocol. I also have a Philips RC5 decoder, but not adapted to this project so far, thus not included here. In order to use it for any other remote than a Yamaha Pianocraft, you'll need to change the code and recompile it, sorry. Currently, the assignment is hard coded. The μC has 2 pins left (3 if the reset pin is cannibalized, too), so it is feasible to add e.g. a button and a very low power LED to give it a minimalistic user interface for a teach-in mode. Since I did not need that for myself, this wasn't done. In my version, I have only assigned 4 of the 6 buttons: play/pause, stop, next, previous. I've not assigned volume up+down, since I control that with the stereo.PicturesWell, you don't have to build it this small, the μC is also available in DIL, but I wanted to fit the circuit in a particular case:
r4 - 05 Apr 2025 - 21:28:58 - UnknownUser
Copyright © by the contributing authors.
|