banner
Nachrichtenzentrum
Wählen Sie aus unserem breiten Angebot an erstklassigen Produkten und Dienstleistungen für ein wirklich bemerkenswertes Erlebnis.

So verwenden Sie einen Summer zum Abspielen von Musik mit dem Raspberry Pi Pico

Jul 13, 2023

Mit einem günstigen Piezo-Summer können Sie Alarme stellen oder ganze Melodien abspielen.

Ganz gleich, ob Sie ein Spiel bauen, das piept, wenn Sie einen Zug verlieren, einen Wecker, der Sie weckt, oder einfach nur ein hübsches Display, das 8-Bit-Musik abspielt, ein kostengünstiger Piezo-Summer kann ein großartiger Bestandteil Ihres Raspberry Pi Pico sein Projekt. Die extrem günstigen Summer – oft gibt es sie für weniger als 1 US-Dollar pro Stück – lassen sich ganz einfach in MicroPython programmieren und können sogar die Frequenz variieren, um Musiknoten zu erzeugen.

Es gibt zwei Arten von Piezo-Summern: aktive und passive. Aktive Summer machen Geräusche, wenn sie nur an die Stromversorgung angeschlossen sind und kein Mikrocontroller beteiligt ist, während dies bei passiven Summern nicht der Fall ist. Passive Summer werden für diese Art von Projekten bevorzugt, da sie eine bessere Klangvielfalt bieten, obwohl in unseren Tests beide funktionierten.

Im Folgenden zeigen wir Ihnen, wie Sie den Raspberry Pi Pico mit einem Piezo-Summer verbinden und ihn in MicroPython so programmieren, dass er eine kurze Melodie abspielt.

Das könnte nicht einfacher sein. Sie verbinden den Erdungsstift am Summer mit einem GND-Pin am Pico und den positiven Summerstift mit einem Standard-GPIO-Pin am Pico, in unserem Fall GP15. Unser passiver Summer hatte keine negative oder positive Beschriftung an den Pins und funktionierte, wenn einer von beiden an einen der Pico-Pins angeschlossen war.

1. Importieren Sie zunächst Pin und PWM aus der Maschinenbibliothek und den Ruhezustand aus der utime-Bibliothek.

2.PWM initialisieren(auch bekannt als Pulsweitenmodulation) an Pin 15 und weisen Sie es dem variablen Summer zu.

3. Weisen Sie dem Summer eine Freq-Eigenschaft zu. Sie müssen eine Zahl zwischen 10 und 12.000 wählen. Je höher die Zahl, desto höher ist der Ton. Versuchen wir es mit 500.

4.Legen Sie die Eigenschaft „duty_u16“ festdes Summerobjektsbis 1000 . Dadurch wird der Summer so laut wie möglich. Ein niedrigerer Wert ist leiser und 0 bedeutet überhaupt kein Ton. Wenn man bedenkt, wie leise diese Summer sind, ist die maximale Lautstärke überhaupt nicht sehr laut.

5.Stellen Sie eine Verzögerung von 1 Sekunde einund dannPflicht auf 0 setzen damit der Ton aufhört. Wenn Sie dies nicht tun, bleibt das Summen bestehen, auch nachdem die Ausführung des Programms abgeschlossen ist.

Ihr endgültiger Code für diesen einfachen Test sollte so aussehen.

Da Sie unterschiedliche Frequenzen verwenden können, können Sie eine vollständige Palette an Musiknoten erzeugen. Es gibt online einige Listen mit Frequenzen von Musiknoten, von denen viele auf Brett Hagmans Arduino-Tonbibliothek auf Github zurückgehen. Wir verwenden diese Werte, um eine Liste zu erstellen, mit der wir jeden Song zu Beginn unseres Codes abspielen können.

1.Importieren Sie die erforderlichen BibliothekenUndInitialisieren Sie die PWM an Pin 15.

2.Erstellen Sie ein Wörterbuch mit dem Namen „Notizen“.mit den folgenden Werten.

3.Erstelle eine Liste (auch bekannt als Array) von Notizen für dein Lied. Verwenden Sie den Buchstaben P, um Pausen in der Musik darzustellen. Jede Notiz sollte in Anführungszeichen stehen.

Hut ab vor den Leuten in diesem Thread, die die Notizen zu diesem berühmten Riff geteilt haben.

4.Erstellen Sie eine Funktion namens PlaytoneDas nimmt jede Frequenz und spielt sie mit voller Lautstärke ab.

5.Erstellen Sie eine Funktion namens bequietDadurch wird der Summer stummgeschaltet, indem Duty_u16 auf 0 geändert wird.

6.Erstellen Sie eine Funktion namens Playsongmit dem Sie die Reihe der Noten durchlaufen und jede einzelne abspielen oder anhalten, wenn P angezeigt wird.

Hier erfahren Sie, was hier vor sich geht. Zuerst erstellen wir eine for-Schleife, die alle Werte im mysong-Array durchläuft. Wenn der Wert gleich P ist, wird „Be Quiet“ ausgelöst, andernfalls wird „Playtone“ ausgelöst. Beachten Sie, dass für den Spielton ein numerischer Frequenzwert erforderlich ist. Daher müssen wir die Nummer für jede Note aus der Tonliste abrufen. Wenn wir nur „tone(mysong[i]]“ abspielen, schlägt dies fehl, da versucht wird, die Zeichenfolge „E5“ anstelle der Frequenz 659 abzuspielen, was der benötigten Ganzzahl entspricht.

Für jeden Ton oder jede Pause behält das System den Zustand für 0,3 Sekunden im Ruhezustand bei. Wenn Sie ein schnelleres Tempo wünschen, können Sie diese Zeit verringern. Wenn Sie ein langsameres Tempo wünschen, erhöhen Sie es.

7.Lösen Sie die Playsong-Funktion ausmit dem Song-Parameter.

Wenn Sie diesen Code ausführen, hören Sie, wie Ihr Summer eine bekannte Melodie spielt. So sollte der vollständige Code aussehen:

Jetzt wissen Sie also, wie Sie mit dem Raspberry Pi Pico und einem Piezo-Summer Musik abspielen. Sie können damit jedes Lied abspielen lassen, vorausgesetzt, Sie haben die Noten.

Schließen Sie sich den Experten an, die Tom's Hardware lesen, um Insider-Informationen zu PC-Tech-News für Enthusiasten zu erhalten – und das seit über 25 Jahren. Wir senden Ihnen aktuelle Nachrichten und ausführliche Rezensionen zu CPUs, GPUs, KI, Hersteller-Hardware und mehr direkt in Ihren Posteingang.

Raspberry Pi nimmt Nahaufnahmen des Mondes auf

Raspberry Pi animiertes Schild aus Phillips Hue LED-Lampen

Dieses kompakte Gehäuse für M.2 2230 SSDs sieht unglaublich elegant aus

Von Avram Piltch, 29. August 2023

Von Paul Alcorn, 29. August 2023

Von Ash Hill, 28. August 2023

Von Anton Shilov, 28. August 2023

Von Francisco Pires, 28. August 2023

Von Aaron Klotz, 28. August 2023

Von Zhiye Liu 28. August 2023

Von Anton Shilov, 28. August 2023

Von Anton Shilov, 28. August 2023

Von Ash Hill, 28. August 2023

Von Aaron Klotz, 28. August 2023

Raspberry Pi Pico:Passiver Piezo-Summer:Zwei Überbrückungsdrähte:PWM initialisierenLegen Sie die Eigenschaft „duty_u16“ festbis 1000Stellen Sie eine Verzögerung von 1 Sekunde einPflicht auf 0 setzenImportieren Sie die erforderlichen BibliothekenInitialisieren Sie die PWM an Pin 15Erstellen Sie ein Wörterbuch mit dem Namen „Notizen“.Erstelle eine Liste () von NotizenErstellen Sie eine Funktion namens PlaytoneErstellen Sie eine Funktion namens bequietErstellen Sie eine Funktion namens PlaysongLösen Sie die Playsong-Funktion ausSamuel Morse 😄🚦🤔🙇