In diesem Tutorial möchte ich erläutern, wie man einen Piezo Buzzer am Raspberry PI betreibt und einfache Töne mit diesem wiedergeben kann.
Der Raspberry PI verfügt seit dem ersten Modell bereits über eine 3,5mm Klinkenbuchse über welchem man Musik abspielen kann, dieses Tutorial beschäftigt sich jedoch nur damit wie man einen Piezo Buzzer über GPIO Pins anschließt und mit Python programmiert.
Bezug
Für dieses Tutorial verwende ich einen Raspberry PI Modell B+ dieser verfügt über ausreichend GPIO Pins und die Leistung von 700MHz ist mehr als ausreichend (dieses Tutorial kann mit einem einfachen Arduino nachgebaut werden welcher mit 16MHz Taktgeschwindigkeit läuft).
Für dieses Tutorial benötigst du folgende Bauteile:
- 1x Raspberry Pi*,
- 1x Breadboard mit min. 400 Pins*,
- 3x Breadboardkabel, 20 cm, männlich – weiblich*,
- 1x aktiver Piezo Buzzer*
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
Es ist wichtig, dass es ein aktiver Piezo Buzzer ist! Der passive wird nur ein leises Klicken produzieren.
Aufbau & Schaltung
Der Aufbau ist relativ simple, denn wir benötigen hierfür “nur” einen GPIO Pin für das Datensignal sowie zwei Pins für die Stromversorgung des Active Buzzer Shields.
Anschluss
Active Buzzer Shield | Raspberry Pi |
---|---|
SIG | GPIO 4 |
VCC | 3,3V |
GND | GND |
Schaltung
Wenn man alles so wie in der oben gezeigten Tabelle verkabelt sollte der Aufbau wie folgt aussehen.
Sicherlich könnte man sich das Breadboard sparen und gleich Breadboardkabel mit nur Buchsen (weiblich – weiblich) verwenden, jedoch habe ich festgestellt das die Kabel gerne einmal herausrutschen.
Programmieren
Der Sketch ist ähnlich wie im Tutorial zur LED Raspberry PI Tutorial #1: blinkende LED, denn eigentlich aktivieren und deaktivieren wir zunächst nur einen GPIO Pin.
import RPi.GPIO as GPIO import time GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) buzzer=4 GPIO.setup(buzzer,GPIO.OUT) try: while True: GPIO.output(buzzer,GPIO.HIGH) time.sleep(0.5) GPIO.output(buzzer,GPIO.LOW) time.sleep(0.5) except KeyboardInterrupt: GPIO.cleanup() pass
Video
Fazit
Am Anfang hatte ich einen einfachen, kleinen, passiven Piezo Buzzer verwendet. Dieses hatte ich bereits für den Arduino erfolgreich im Einsatz und war mir sicher, dass dieser genauso einfach am Raspberry PI betrieben werden kann. Aber dem war nicht so, denn der hatte nur in dem angegebenen Takt geklickt und das ganz leise.
Eine Google Suche gab hier die Lösung aus einem Forum, dort wurde genau das Problem bereits ausführlich behandelt und somit konnte ich mich der Lösung bedienen. Da ich bereits einen aktiven Piezo Buzzer besitzen musste ich diesen nicht erst erwerben und ggf. Wochenlang auf die Lieferung aus China warten und konnte gleich weiter machen 🙂
Der Aufbau war trotzdem sehr einfach und als Nächstes möchte ich dann zeigen, wie man einfache kleine Lieder wiedergeben kann.
Hi gutes Tutorial aber ist das Programm Python oder was für eine sprache
Hi,
danke. Ja das Programm ist ein Python Skript.
Gruß,
Stefan Draeger