Wie werden die GPIOs bzw. PINs für die Phoniebox richtig belegt? Mit der Pinout Darstellung erkläre ich Dir genau die Belegung für meine Phoniebox. Da mich immer wieder Anfragen zu den GPIOs erreichen wurde dieser Beitrag notwendig! Historisch bedingt habe ich GPIOs tauschen müssen. Als Beispiel die Button Belegung VolumeUp von GPIO 16 nach GPIO 8, da beim Druck des Tasters immer ein Störgeräusch entstanden ist. Mit den hier genannten PINs klappt es mit dem Nachbau der Box garantiert…
Pinout Phoniebox grafische Darstellung
Bitte beachtet, dass diese Belegung für die von mir gebauten und dokumentierten Phoniebox’n gilt. Ein anderer Aufbau ist möglich!
Raspberry Pi Pinout Tabelle für die Phoniebox
Bitte beachtet, dass diese Belegung für die von mir gebauten und dokumentierten Phoniebox’n gilt. Ein anderer Aufbau bei den LEDs und Buttons ist möglich!
Funktion | PIN | GPIO | Widerstand | Sonstiges |
---|---|---|---|---|
Button NextSong | 24 | 8 | Konfiguration: ./RPi-Jukebox-RFID/settings/gpio_settings.ini | |
Button PlayPause | 32 | 12 | Konfiguration: ./RPi-Jukebox-RFID/settings/gpio_settings.ini | |
Button PrevSong | 13 | 27 | Konfiguration: ./RPi-Jukebox-RFID/settings/gpio_settings.ini | |
Button VolumeDown | 33 | 13 | Konfiguration: ./RPi-Jukebox-RFID/settings/gpio_settings.ini | |
Button VolumeUp | 26 | 7 | Konfiguration: ./RPi-Jukebox-RFID/settings/gpio_settings.ini | |
HifiBerry MiniAmp | 1 | +3,3V | ||
HifiBerry MiniAmp | 2 | +5V | ||
HifiBerry MiniAmp | 6 | GND | ||
HifiBerry MiniAmp | 12 | 18 | ||
HifiBerry MiniAmp | 35 | 19 | ||
HifiBerry MiniAmp | 38 | 20 | ||
HifiBerry MiniAmp | 40 | 21 | ||
HifiBerry MiniAmp | 36 | 16 | ||
HifiBerry MiniAmp | 37 | 26 | ||
LED NextSong | 15 | 22 | 100 Ohm | LED-Farbe: blau |
LED PlayPause | 31 | 6 | 100 Ohm | LED-Farbe: rot |
LED Power | 22 | 25 | 470 Ohm | Button-LED: grün Konfiguration: /etc/cleanshutd.conf |
LED PrevSong | 29 | 5 | 220 Ohm | LED-Farbe: weiß |
LED VolumeDown | 16 | 23 | 220 Ohm | LED-Farbe: weiß |
LED VolumeUp | 18 | 24 | 220 Ohm | LED-Farbe: weiß |
OLED Display | 3 | 2 | ||
OLED Display | 4 | +5V | ||
OLED Display | 5 | 3 | ||
OLED Display | 6 | GND | ||
OnOff Shim | 1 | +3,3V | ||
OnOff Shim | 2 | +5V | ||
OnOff Shim | 4 | +5V | ||
OnOff Shim | 6 | GND | ||
OnOff Shim | 7 | 4 | ||
OnOff Shim | 11 | 17 |
GPIO-Konfigurationsdatei gpio_settings.ini
Die Datei findet Ihr im Regelfall im Pfad ~/RPi-Jukebox-RFID/settings. Folgend meine gpio_settings.ini, meine Änderungen sind farblich markiert (bitte beachte, dass ich bei Verwendung des OLED-Displays diesen Service deaktiviere per Installer Script):
[DEFAULT] enabled: True [VolumeControl] enabled: False Type: TwoButtonControl ;or RotaryEncoder PinUp: 5 PinDown: 6 pull_up: True hold_time: 0.3 hold_repeat: True timeBase: 0.1 ;only for RotaryEncoder functionCallDown: functionCallVolD functionCallUp: functionCallVolU functionCallTwoButtons: functionCallVol0 ;only for TwoButtonControl [PrevNextControl] enabled: False Type: TwoButtonControl Pin1: 27 Pin2: 8 functionCall1: functionCallPlayerPrev functionCall2: functionCallPlayerNext functionCallTwoButtons: None pull_up: True hold_time: 0.3 hold_repeat: False [PlayPause] enabled: True Type: Button Pin: 12 pull_up: True hold_time: 0.3 functionCall: functionCallPlayerPause [Shutdown] enabled: False Type: Button Pin: 3 pull_up: True hold_time: 2 functionCall: functionCallShutdown [Volume0] enabled: False Type: Button Pin: 17 pull_up: True hold_time: 0.3 functionCall: functionCallVol0 [VolumeUp] enabled: True Type: Button Pin: 7 pull_up: True hold_time: 0.3 hold_repeat: True functionCall: functionCallVolU [VolumeDown] enabled: True Type: Button Pin: 13 pull_up: True hold_time: 0.3 hold_repeat: True functionCall: functionCallVolD [NextSong] enabled: True Type: Button Pin: 8 pull_up: True hold_time: 0.3 functionCall: functionCallPlayerNext [PrevSong] enabled: True Type: Button Pin: 27 pull_up: True hold_time: 0.3 functionCall: functionCallPlayerPrev [Halt] enabled: False Type: Button Pin: 12 pull_up: True hold_time: 0.3 functionCall: functionCallPlayerPauseForce
OLED Display GPIO-Konfigurationsdatei
Abweichend von der aktuellen gpio_settings.ini gibt es für den OLED Display Service die alte gpio-buttons.py Datei, womit eine Steuerung für das OLED Display und der Button Beleuchtung ermöglicht wird. Dafür ist es notwendig, dass der Phoniebox-Service für die gpio_settings.py ausgeschaltet wird. Dies funktioniert mit Hilfe des OneLine-Installers automatisch, wenn Du den Punkt „Option 1: Replace service for disyplay control“ beim Installationspunkt „GPIO Buttons Control“ wählst.
Wird bald weiter bearbeitet!!!
Weitere Infos
Die ganzen Nummern wirken sicherlich jetzt unübersichtlich und verwirrend, aber geh Schritt für Schritt ran, das ist kein Hexenwerk. Mehr zu den GPIOs findest Du im Elektronik Kompendium.
Quellangaben
- Hifiberry Miniamp GPIO-Belegung
- OLED-Display GPIO-Belegung
- OnOff Shim GPIO-Belegung
- Phoniebox Github Repository – GPIO-Belegung