Project: Musicbox mit Python - GPIO-Schnittstellenabfrage mit Push-Buttons:
Hier ein kl. Projekt zur Umstzung von 2 oder mehr Tasterabfragen auf dem GPIO-Board des Raspi zum Abspielen von Sounds:
Benötigt wird:
1 X Raspberry Pi - hier ein 3+
1 X Speicherkarte 8GB microSD
1 X Kartenleser für PC
1 X Rasbian lite aktueller Download unter: https://www.raspberrypi.org/downloads/raspbian/
Etcher zum Aufspielen der ISO auf die SD-Card
Ich gehe hier nicht weiter auf das Aufspielen eines Linux / Rasbian Images auf eine SDCard zur späteren Verwendung ein - dies sollte als Basis schon vorhanden sein. --> SSH-Server sollte aktiviert sein.
Zunächst werden die Voraussetzungen zur Verwendung von Python installiert:
apt-get install python3-pip
apt-get install python3-pygame
pip3 install adafruit-blinka
Folgende Verzeichnisse erstellen:
mkdir /home/pi/gpio-music-box/scripts
mkdir /home/pi/gpio-music-box/samples
Folgendes script im /home/pi/gpio-music-box/scripts-Verzeichnis ablegen:
# This script requires a Raspberry Pi 2, 3 or Zero. Circuit Python must# be installed and it is strongly recommended that you use the latest# release of Raspbian.import timeimport osimport boardimport digitalioprint("Bitte Taster betaetigen")button1 = digitalio.DigitalInOut(board.D4)button1.direction = digitalio.Direction.INPUTbutton1.pull = digitalio.Pull.UPbutton2 = digitalio.DigitalInOut(board.D24)button2.direction = digitalio.Direction.INPUTbutton2.pull = digitalio.Pull.UPwhile True: # omxplayer -o local <file> # omxplayer -o hdmi <file> # omxplayer -o both <file> if not button1.value: os.system('omxplayer /home/pi/gpio-music-box/samples/1.mp3 &') if not button2.value: os.system('omxplayer /home/pi/gpio-music-box/samples/2.mp3 &')
time.sleep(.25)
Das Script soll nun nach Einschalten des Raspis automatisch gestartet werden:
nano /etc/rc.local
python3 /home/pi/gpio-music-box/scripts/audio-button.py
abspeichern neu starten