Skip to content

Audio RotaryKnobVolume

Pascal Mages edited this page Jul 13, 2019 · 14 revisions

Rotary knob for volume control (Drehknopf fΓΌr LautstΓ€rke)

Taken from the Phoniebox@GitHub issues forum

  • Tested with this rotary know hardware
  • Three files in the repo are dedicated to this feature:
    • RPi-Jukebox-RFID/scripts/rotary-encoder.py
    • RPi-Jukebox-RFID/scripts/ky040.py
    • RPi-Jukebox-RFID/misc/sampleconfigs/phoniebox-rotary-encoder.service.sample

Circuit diagram

(capacitors are optionally)

Tested version: Used 3.3V Pin on Raspberry Pi. Connected everything without Capacitors.

  .---------------.                      .---------------.
  |               |                      |               |
  |           CLK |------o---------------| GPIO 5        |
  |               |      |               |               |
  |           DT  |------)----o----------| GPIO 6        |
  |               |      |    |          |               |
  |           SW  |------)----)----------| GPIO 13       |
  |               |      |    |          |               |
  |           +   |------)----)----------| 3.3V          |
  |               |      |    |          |               |
  |           GND |------)----)----------| GND           |
  |               |      |    |          |               |
  '---------------'      |    |          '---------------'
       KY-040            |    |              Raspberry
                         |    |
                        ---  ---
                  100nF ---  --- 100nF
                         |    |
                         |    |
                         |    |
                        ===  ===
                        GND  GND

Once you've got the hardware done, install the scripts the following way:

sudo cp /home/pi/RPi-Jukebox-RFID/misc/sampleconfigs/phoniebox-rotary-encoder.service.stretch-default.sample /etc/systemd/system/phoniebox-rotary-encoder.service 
sudo chown root:root /etc/systemd/system/phoniebox-rotary-encoder.service
sudo chmod 644 /etc/systemd/system/phoniebox-rotary-encoder.service
# enable the services needed
sudo systemctl enable phoniebox-rotary-encoder
sudo reboot

sudo chmod +x /home/pi/RPi-Jukebox-RFID/scripts/rotary-encoder.py
sudo reboot 

The reboot is needed to enable the service and start it.

The scripts now also provide support for a second knob to navigate through the tracks of a folder. Please not that you may use the switch also for other functionality. See the pin out page for details.

If you want to have the Button on the knop as the fuction Halt/Play (Pause) you have to do as follow:

  1. Open the folder scripts and in it the data rotary-encoder.py
  2. Change these lines from

def switchPreessed(): check call ......

to

def switchPressed():

check_call("./scripts/playout_controls.sh -c=playerpause", shell=True)

In the last days the rotary script was change to an option with two rotary encoders. So you have to add the function to one of knops / GPIOs

Under if name == "main":

you have to add SWITCHPIN = 13

IMPORTANT use the same lettering like the lines before in the scrips also the spaces!

Home

πŸ”₯ Version 3

Version 3 Pages

Nothing yet

🎢 Version 2

Version 2 Pages

Installation

Specials

RFID Reader

Sound card configurations

Hardware Buttons

Displays (LED, LCD, Matrix, etc.)

Hacks

Bluetooth

AirPlay

MPD tricks

For Developers

Clone this wiki locally