KY-006 Passives Piezo-Buzzer Modul: Unterschied zwischen den Versionen
Aus Linkerkit.de
(→Codebeispiel Raspberry Pi) |
|||
(4 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt) | |||
Zeile 11: | Zeile 11: | ||
==Codebeispiel Arduino== | ==Codebeispiel Arduino== | ||
− | <pre class="brush:cpp">// | + | Hier bei handelt es sich um ein Beispielprogramm, welches am Buzzer ein Alarmsignal mittels einer Rechteckspannung erzeugt. |
+ | |||
+ | <pre class="brush:cpp">int buzzer = 8 ; // Deklaration des Buzzer-Ausgangspin | ||
− | |||
void setup () | void setup () | ||
{ | { | ||
− | pinMode (buzzer, OUTPUT) ;// | + | pinMode (buzzer, OUTPUT) ;// Initialisierung als Ausgangspin |
} | } | ||
+ | |||
+ | |||
void loop () | void loop () | ||
{ | { | ||
− | unsigned char i | + | unsigned char i; |
while (1) | while (1) | ||
{ | { | ||
− | for (i = 0; i <80; i++) | + | // In diesem Programm wird der Buzzer abwechselnd mit zwei verschiedenen Frequenzen angesteuert |
+ | // Das Signal hierbei besteht aus einer Rechteckspannung. | ||
+ | // Das an- und ausmachen am Buzzer generiert dann einen Ton, der in etwa der Frequenz entspricht. | ||
+ | // Die Frequenz definiert sich dadurch, wie lang jeweils die An- und Ausphase sind | ||
+ | |||
+ | //Frequenz 1 | ||
+ | for (i = 0; i <80; i++) | ||
{ | { | ||
− | digitalWrite (buzzer, HIGH) ; | + | digitalWrite (buzzer, HIGH) ; |
− | delay (1) ; | + | delay (1) ; |
− | digitalWrite (buzzer, LOW) ; | + | digitalWrite (buzzer, LOW) ; |
− | delay (1) ; | + | delay (1) ; |
} | } | ||
− | for (i = 0; i <100; i++) | + | //Frequenz 2 |
+ | for (i = 0; i <100; i++) | ||
{ | { | ||
− | digitalWrite (buzzer, HIGH) ; | + | digitalWrite (buzzer, HIGH) ; |
− | delay (2) ; | + | delay (2) ; |
− | digitalWrite (buzzer, LOW) ; | + | digitalWrite (buzzer, LOW) ; |
− | delay (2) ; | + | delay (2) ; |
} | } | ||
} | } | ||
} | } | ||
+ | </pre> | ||
+ | |||
+ | '''Anschlussbelegung Arduino:''' | ||
+ | |||
+ | {| style="height: 58px; padding-left: 30px;" width="228" | ||
+ | |- | ||
+ | ||Sensor Signal | ||
+ | ||= | ||
+ | ||[Pin 8] | ||
+ | |- | ||
+ | ||Sensor - | ||
+ | ||= | ||
+ | ||[Pin GND] | ||
+ | |} | ||
+ | |||
+ | '''Beispielprogramm Download''' | ||
+ | |||
+ | [[Medium:KY-006_Buzzer.zip|KY-006_Buzzer.zip]] | ||
+ | |||
+ | ==Codebeispiel Raspberry Pi== | ||
+ | Programmierbeispiel in der Programmiersprache Python | ||
+ | |||
+ | Das Beispielprogramm nutzt Software-PWM, um am Ausgangspin eine Rechteckspannung mit definierbarer Frequenz zu erstellen. | ||
+ | |||
+ | Durch das An- und Ausschalten wird am Buzzer ein Ton erzeugt, der in etwa der Frequenz der Rechteckspannung entspricht. | ||
+ | |||
+ | <pre class="brush:py"># Benoetigte Module werden importiert und eingerichtet | ||
+ | import RPi.GPIO as GPIO | ||
+ | GPIO.setmode(GPIO.BCM) | ||
+ | |||
+ | |||
+ | # Hier wird der Ausgangs-Pin deklariert, an dem der Buzzer angeschlossen ist. | ||
+ | GPIO_PIN = 24 | ||
+ | GPIO.setup(GPIO_PIN, GPIO.OUT) | ||
+ | |||
+ | # Das Software-PWM Modul wird initialisiert - hierbei wird die Frequenz 500Hz als Startwert genommen | ||
+ | Frequenz = 500 #In Hertz | ||
+ | pwm = GPIO.PWM(GPIO_PIN, Frequenz) | ||
+ | pwm.start(50) | ||
+ | |||
+ | # Das Programm wartet auf die Eingabe einer neuen PWM-Frequenz vom Benutzer. | ||
+ | # Bis dahin wird der Buzzer mit der vorher eingegebenen Freuqenz betrieben (Startwert 500Hz) | ||
+ | try: | ||
+ | while(True): | ||
+ | print "----------------------------------------" | ||
+ | print "Aktuelle Frequenz: %d" % Frequenz | ||
+ | Frequenz = input("Bitte neue Frequenz eingeben (50-5000):") | ||
+ | pwm.ChangeFrequency(Frequenz) | ||
+ | |||
+ | # Aufraeumarbeiten nachdem das Programm beendet wurde | ||
+ | except KeyboardInterrupt: | ||
+ | GPIO.cleanup() | ||
+ | |||
+ | </pre> | ||
+ | '''Anschlussbelegung Raspberry Pi:''' | ||
+ | |||
+ | {| style="height: 58px; padding-left: 30px;" width="228" | ||
+ | |- | ||
+ | ||Signal | ||
+ | ||= | ||
+ | ||GPIO24 | ||
+ | ||[Pin 18] | ||
+ | |- | ||
+ | ||+V | ||
+ | ||= | ||
+ | ||3,3V | ||
+ | ||[Pin 1] | ||
+ | |- | ||
+ | ||GND | ||
+ | ||= | ||
+ | ||Masse | ||
+ | ||[Pin 6] | ||
+ | |} | ||
+ | '''Beispielprogramm Download''' | ||
+ | |||
+ | [[Medium:KY-006-RPI_PWM.zip|KY-006-RPI_PWM.zip]] | ||
+ | |||
+ | Zu starten mit dem Befehl: | ||
+ | |||
+ | <pre class="brush:bash">sudo python KY-006-RPI_PWM.py | ||
</pre> | </pre> |
Aktuelle Version vom 22. März 2016, 14:21 Uhr
Inhaltsverzeichnis
Bild
Technische Daten / Kurzbeschreibung
Mit PWM-Signalen verschiedener Frequenzen angesteuert, können mit dem passiven Piezo-Buzzer verschiedene Töne erzeugt werden.
Pin-Belegung
Codebeispiel Arduino
Hier bei handelt es sich um ein Beispielprogramm, welches am Buzzer ein Alarmsignal mittels einer Rechteckspannung erzeugt.
int buzzer = 8 ; // Deklaration des Buzzer-Ausgangspin void setup () { pinMode (buzzer, OUTPUT) ;// Initialisierung als Ausgangspin } void loop () { unsigned char i; while (1) { // In diesem Programm wird der Buzzer abwechselnd mit zwei verschiedenen Frequenzen angesteuert // Das Signal hierbei besteht aus einer Rechteckspannung. // Das an- und ausmachen am Buzzer generiert dann einen Ton, der in etwa der Frequenz entspricht. // Die Frequenz definiert sich dadurch, wie lang jeweils die An- und Ausphase sind //Frequenz 1 for (i = 0; i <80; i++) { digitalWrite (buzzer, HIGH) ; delay (1) ; digitalWrite (buzzer, LOW) ; delay (1) ; } //Frequenz 2 for (i = 0; i <100; i++) { digitalWrite (buzzer, HIGH) ; delay (2) ; digitalWrite (buzzer, LOW) ; delay (2) ; } } }
Anschlussbelegung Arduino:
Sensor Signal | = | [Pin 8] |
Sensor - | = | [Pin GND] |
Beispielprogramm Download
Codebeispiel Raspberry Pi
Programmierbeispiel in der Programmiersprache Python
Das Beispielprogramm nutzt Software-PWM, um am Ausgangspin eine Rechteckspannung mit definierbarer Frequenz zu erstellen.
Durch das An- und Ausschalten wird am Buzzer ein Ton erzeugt, der in etwa der Frequenz der Rechteckspannung entspricht.
# Benoetigte Module werden importiert und eingerichtet import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) # Hier wird der Ausgangs-Pin deklariert, an dem der Buzzer angeschlossen ist. GPIO_PIN = 24 GPIO.setup(GPIO_PIN, GPIO.OUT) # Das Software-PWM Modul wird initialisiert - hierbei wird die Frequenz 500Hz als Startwert genommen Frequenz = 500 #In Hertz pwm = GPIO.PWM(GPIO_PIN, Frequenz) pwm.start(50) # Das Programm wartet auf die Eingabe einer neuen PWM-Frequenz vom Benutzer. # Bis dahin wird der Buzzer mit der vorher eingegebenen Freuqenz betrieben (Startwert 500Hz) try: while(True): print "----------------------------------------" print "Aktuelle Frequenz: %d" % Frequenz Frequenz = input("Bitte neue Frequenz eingeben (50-5000):") pwm.ChangeFrequency(Frequenz) # Aufraeumarbeiten nachdem das Programm beendet wurde except KeyboardInterrupt: GPIO.cleanup()
Anschlussbelegung Raspberry Pi:
Signal | = | GPIO24 | [Pin 18] |
+V | = | 3,3V | [Pin 1] |
GND | = | Masse | [Pin 6] |
Beispielprogramm Download
Zu starten mit dem Befehl:
sudo python KY-006-RPI_PWM.py