-
Notifications
You must be signed in to change notification settings - Fork 0
Audio RotaryKnobVolume
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
- See below in this document for info on how to change the direction of the rotary knob
(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 | | | | |
| | | | | |
| + |------)----)----------| 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 use the button of the knob see/edit gpio-button.py e.g. replace one ordinary button with the knob-button.
If you want to swap clockwise and counter clockwise, you can edit the code. This is the original:
def rotaryChangeCWVol(steps):
check_call("./scripts/playout_controls.sh -c=**volumeup** -v="+str(steps), shell=True)
def rotaryChangeCCWVol(steps):
check_call("./scripts/playout_controls.sh -c=**volumedown** -v="+str(steps), shell=True)
And this is the version with the behaviour in the opposite direction:
def rotaryChangeCWVol(steps):
check_call("./scripts/playout_controls.sh -c=**volumedown** -v="+str(steps), shell=True)
def rotaryChangeCCWVol(steps):
check_call("./scripts/playout_controls.sh -c=**volumeup** -v="+str(steps), shell=True)
If you like Phoniebox, consider: buy me a coffee or PayPal
- Code: https://github.com/MiczFlor/RPi-Jukebox-RFID
- Phoniebox home page: English | Deutsch
Phoniebox is a contactless jukebox for the Raspberry Pi, playing audio files, playlists, podcasts, web streams and spotify triggered by RFID cards. All plug and play via USB, no soldering iron needed. Update: if you must, it now also features a howto for adding GPIO buttons controls.
Visit Phoniebox.de
π₯ Version 3
- β Releases
- π΅ Install Jukebox Version 3
- π Report a bug
- π Propose a feature
- βοΈ Feature Status
- π Documentation
- π©βπ» Development
- βοΈ Contributing
- π¦ Code
πΆ Version 2
- β Releases
- π΅ Install Jukebox Version 2
- π Report a bug
- βοΈ Features
- π Documentation
- βοΈ Contributing
- π¦ Code
Version 2 Pages
-
Setup / Upgrades
- Synchronising Phonieboxes in a local network
- Smart Home remote control with MQTT
- Hardware Pinout Overview
- Systemwide Equalizer
- Phoniebox with read-only Filesystem
- HiFiBerry Soundcard Details
- WM8960 Hi-Fi HAT
- PAM8403 Amplifier Power Off
- TPA3118 Amplifier Power Off and EMI improvement
- External Non USB Audio DAC ES9023, PCM5102, etc.
- On-board LEDs with fibre optics
- Setting GPIOs at boot time
- Stop on removal with USB RFID Reader
- Firmware update improves audio out
- Architecture