In dieser Sitzung werden wir Raspberry Pi und die PYGAME-Funktionen verwenden, um eine Soundkarte zu erstellen. In einfachen Worten, wir werden einige Tasten mit den Raspberry Pi GPIO-Pins verbinden, und wenn diese Tasten gedrückt werden, spielt Raspberry Pi Audiodateien ab, die in seinem Speicher gespeichert sind. Diese Audiodateien können einzeln oder alle zusammen abgespielt werden. Mit anderen Worten, Sie können eine oder mehrere Tasten gleichzeitig drücken. Raspberry Pi spielt eine oder mehrere Audiodateien gleichzeitig ab. Überprüfen Sie das Demo-Video am Ende dieses Artikels. Schauen Sie sich auch unsere Raspberry Pi Tutorial-Reihe zusammen mit einigen guten IoT-Projekten an.
Wir haben 26 GPIO-Pins in Raspberry Pi, die programmiert werden können, von denen einige zur Ausführung einiger Sonderfunktionen verwendet werden, und dann sind noch 17 GPIO übrig. Jeder GPIO-Pin kann maximal 15 mA liefern oder ziehen. Und die Summe der Ströme von allen GPIO darf 50 mA nicht überschreiten. Daher können wir aus jedem dieser GPIO-Pins durchschnittlich maximal 3 mA ziehen. Wir werden Widerstände verwenden, um den Stromfluss zu begrenzen. Erfahren Sie hier mehr über GPIO-Pins und die Schnittstelle zu Raspberry Pi.
Erforderliche Komponenten:
Hier verwenden wir Raspberry Pi 2 Model B mit Raspbian Jessie OS. Alle grundlegenden Hardware- und Softwareanforderungen wurden bereits erläutert. Sie können sie in der Einführung zu Raspberry Pi und zum Blinken der Raspberry PI-LED nachschlagen, um loszulegen.
- Raspberry Pi mit vorinstalliertem Betriebssystem
- Energieversorgung
- Lautsprecher
- 1KΩ Widerstand (6 Stück)
- Druckknöpfe (6 Stück)
- 1000uF Kondensator
Arbeitserklärung:
Hier spielen wir Sound mit Buttons mit Raspberry Pi. Wir haben 6 Drucktasten verwendet, um 6 Audiodateien abzuspielen. Wir können weitere Schaltflächen und Audiodateien hinzufügen, um dieses Board zu erweitern und durch Drücken dieser Schaltflächen ein schöneres Muster zu erstellen. Führen Sie die folgenden Schritte aus, bevor Sie weitere Erläuterungen ausführen.
1. Laden Sie zuerst die 6 Audiodateien über den unten angegebenen Link herunter, oder Sie können Ihre Audiodateien verwenden. Anschließend müssen Sie die Dateinamen in Code ändern.
Laden Sie hier Audiodateien herunter
2. Erstellen Sie einen neuen Ordner auf dem Raspberry Pi-Desktop-Bildschirm und nennen Sie ihn „PI SOUND BOARD“.
3. Entpacken Sie die heruntergeladenen Audiodateien in den Ordner, den wir im vorherigen Schritt auf DESKTOP erstellt haben.
4. Öffnen Sie das Terminalfenster in Raspberry Pi und geben Sie den folgenden Befehl ein:
sudo amixer cset numid = 3 1
Dieser Befehl weist PI an, die Audioausgabe über die integrierte 3,5-mm-Audiobuchse bereitzustellen.
Wenn Sie eine Audioausgabe vom HDMI-Anschluss wünschen, können Sie den folgenden Befehl verwenden:
$ sudo amixer cset numid = 3 2
5. Schließen Sie die Lautsprecher an die 3,5-mm-Audioausgangsbuchse auf der Raspberry Pi-Karte an.
6. Erstellen Sie eine PYTHON-Datei (Erweiterung *.py) und speichern Sie sie im selben Ordner. In diesem Tutorial erfahren Sie, wie Sie das Python-Programm in Raspberry Pi erstellen und ausführen.
7. Pygame Mixer wird standardmäßig im Betriebssystem installiert. Wenn das Programm nach der Ausführung PYMIXER nicht zurückruft, aktualisieren Sie das Betriebssystem von Raspberry Pi, indem Sie den folgenden Befehl in das Terminalfenster eingeben. Stellen Sie sicher, dass Pi mit dem Internet verbunden ist.
sudo apt-get update
Warten Sie einige Minuten, bis das Betriebssystem aktualisiert ist.
Schließen Sie nun jede Komponente gemäß dem unten angegebenen Schaltplan an, kopieren Sie das PYHTON-Programm in die auf dem Desktop erstellte PYHTON-Datei und klicken Sie schließlich auf Ausführen, um die Audiodateien über die Schaltflächen abzuspielen. Python-Programm wird am Ende mit dem Demo- Video gegeben.
Schaltplan:
Programmiererklärung:
Hier haben wir ein Python-Programm erstellt, um die Audiodateien per Tastendruck abzuspielen. Hier müssen wir einige Befehle verstehen, die wir im Programm verwendet haben.
importiere RPi.GPIO als IO
Wir werden die GPIO-Datei aus der Bibliothek importieren. Mit dem obigen Befehl können wir die GPIO-Pins von PI programmieren. Wir benennen auch "GPIO" in "IO" um. Wenn wir also im Programm auf GPIO-Pins verweisen möchten, verwenden wir das Wort "IO".
IO.setwarnings (False)
Manchmal, wenn die GPIO-Pins, die wir verwenden möchten, andere Funktionen ausführen. Dann erhalten Sie Warnungen, wenn Sie ein Programm ausführen. Dieser Befehl weist Raspberry Pi an, die Warnungen zu ignorieren und mit dem Programm fortzufahren.
IO.setmode (IO.BCM)
Hier werden wir die E / A-Pins von PI anhand ihres Funktionsnamens referenzieren. Wir programmieren den GPIO also mit BCM-Pin-Nummern, wodurch wir PINs mit ihrer GPIO-Pin-Nr. Aufrufen können. Als ob wir PIN39 als GPIO19 im Programm aufrufen können.
importiere pygame.mixer
Wir rufen Pygame Mixer auf, um die Audiodateien abzuspielen.
audio1 = pygame.mixer.Sound ("buzzer.wav")
Wir fordern die im Desktop-Ordner gespeicherte Audiodatei 'buzzer.wav' an. Wenn Sie eine andere Datei abspielen möchten, ändern Sie einfach den Namen der Audiodatei in der oben angegebenen Funktion. Sie können alle im Desktop-Ordner vorhandenen Dateien benennen.
channel1 = pygame.mixer.Channel (1)
Hier richten wir für jede Taste einen Kanal ein, damit wir alle Audiodateien gleichzeitig abspielen können.
if (IO.input (21) == 0): channel1.play (audio1)
Falls die Bedingung in if-Anweisung wahr ist, wird die Anweisung darunter einmal ausgeführt. Wenn der GPIO-Pin 21 niedrig oder geerdet ist, wird die Audiodatei abgespielt, die der Variablen audio1 zugewiesen ist . Gemäß Schaltplan können wir sehen, dass der GPIO-Pin 21 niedrig wird, wenn wir die erste Taste drücken. So können wir jede Audiodatei abspielen, indem wir die entsprechende Taste drücken.
Während 1: als Forever-Schleife verwendet wird, werden mit diesem Befehl die Anweisungen in dieser Schleife kontinuierlich ausgeführt.
Sie können Änderungen am Python-Programm vornehmen, um mit Raspberry Pi die zufriedenstellendste Soundkarte zu erstellen. Sie können sogar weitere Schaltflächen hinzufügen, um die Dinge interessanter zu gestalten und mehr Audiodateien abzuspielen.