KY-006 Passives Piezo-Buzzer Modul: Unterschied zwischen den Versionen
Aus Linkerkit.de
(→Codebeispiel Raspberry Pi) |
|||
(3 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt) | |||
Zeile 11: | Zeile 11: | ||
==Codebeispiel Arduino== | ==Codebeispiel Arduino== | ||
− | Hier bei handelt es sich um ein Beispielprogramm, welches | + | 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 ( | + | pinMode (buzzer, OUTPUT) ;// Initialisierung als Ausgangspin |
− | + | ||
− | + | ||
} | } | ||
− | + | ||
+ | |||
void loop () | void loop () | ||
{ | { | ||
− | + | unsigned char i; | |
− | + | while (1) | |
− | + | ||
{ | { | ||
− | digitalWrite ( | + | // 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 | |
− | digitalWrite ( | + | |
+ | //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) ; | ||
+ | } | ||
} | } | ||
} | } | ||
Zeile 42: | Zeile 54: | ||
{| style="height: 58px; padding-left: 30px;" width="228" | {| style="height: 58px; padding-left: 30px;" width="228" | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
||Sensor Signal | ||Sensor Signal | ||
||= | ||= | ||
− | ||[Pin | + | ||[Pin 8] |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
||Sensor - | ||Sensor - | ||
Zeile 66: | Zeile 66: | ||
'''Beispielprogramm Download''' | '''Beispielprogramm Download''' | ||
− | [[Medium: | + | [[Medium:KY-006_Buzzer.zip|KY-006_Buzzer.zip]] |
==Codebeispiel Raspberry Pi== | ==Codebeispiel Raspberry Pi== | ||
Programmierbeispiel in der Programmiersprache Python | Programmierbeispiel in der Programmiersprache Python | ||
− | <pre class="brush:py"> | + | Das Beispielprogramm nutzt Software-PWM, um am Ausgangspin eine Rechteckspannung mit definierbarer Frequenz zu erstellen. |
− | # Benoetigte Module werden importiert und eingerichtet | + | |
+ | 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 | import RPi.GPIO as GPIO | ||
GPIO.setmode(GPIO.BCM) | GPIO.setmode(GPIO.BCM) | ||
Zeile 121: | Zeile 124: | ||
'''Beispielprogramm Download''' | '''Beispielprogramm Download''' | ||
− | [[Medium: | + | [[Medium:KY-006-RPI_PWM.zip|KY-006-RPI_PWM.zip]] |
Zu starten mit dem Befehl: | Zu starten mit dem Befehl: | ||
− | <pre class="brush:bash">sudo python | + | <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