This 'preamp' is part of my home made 5.1 audio system. Volume control
uses 3 CS3310 (same as PGA2311) volume control chips, 3 New Japan Radio
NJW 1119A tone controls for Bass, Mid and Treble. 3 OPA2134 opamps are
buffers, summers and LP filter and impedance buffer for the analog feed to the Arduino controller.
This 'preamp' includes a 6 channel power amp based on the T.I. TPA3116
that delivers 20 Watts /channel into 8 ohms. The box is my 5.1 audio for an LG OLED TV.
This is not the exact encoder I'm using but it is functionally the same.
Rotary Encoder + Extras ID: 377 - $4.50 : Adafruit Industries, Unique & fun DIY electronics and kits
This display is exactly what I'm using. For volume only 1 unit can suffice.
With the tone controls it's better with 2 units. BTW I like blue better but
that's just me. They have several colors including white.
Quad Alphanumeric Display - Blue 0.54 Digits w/ I2C Backpack ID: 1912 - $13.95 : Adafruit Industries, Unique & fun DIY electronics and kits
The IR modules are these.
38 kHz Remote TSOP4838 DIP-3 IR Receiver Infrared Radiation Modules XZ | eBay
The 'interface' is nothing more than a blank Arduino shield to mount the connectors.
3 pin for IR, 4 pin for the rotary encoder, 5 pin for the displays and a 10 pin
to talk to the preamp board and get 5 Volt power. The pins just connect to
Arduino Uno pins with no extra semiconductors but a couple of capacitors.
I got a little silly with the controls. The 'mute' function has a 'dim' mode. If you hold
the mute button more than a user settable preset, it goes to a secondary volume.
I usually set it to -15dB. The hold time can be set in 10mS increments up to
500mS to trigger 'dim' mode. It can also do 'fade' as mute. You can select
10 to 100 dB / second in 10 dB steps. Selecting 11 is not 110 dB but plain old instant mute.
Volume DOWN in mute or dim mode will reduce the level to un mute to but stay in mute.
Volume UP in mute mode comes out of mute and increments 1 dB. Mute button while in mute
just ramps back up to the old value. All settings are stored in EEPROM (non volatile).
My version includes a mono mix for a center channel in stereo mode and also low pass filters
the center to feed to the sub woofer. The Arduino gets a buffered center channel feed so
when it finds audio on the center channel it switches back to 5.1 mode.
The shaft encode is not needed but gives local volume control without a remote.
The button portion triggers mute and holding will also enter 'dim' mode.
This 'preamp' includes a 6 channel power amp based on the T.I. TPA3116
that delivers 20 Watts /channel into 8 ohms. The box is my 5.1 audio for an LG OLED TV.
Operationally the 5.1 is active always and uses the cable box remote to changes channels,
volume and inputs exactly like TVs of old before they turned into something that sometimes
need an engineering degree to use.
I know you can buy these thing but it's DIY. It's fun.
The TXT file need its name changed to .INO
G²